Алгоритмическое мышление лежит в основе вычислительного мышления. Оно позволяет находить решения задач нетрадиционным способом. Для специалиста по информатике решить задачу – это не просто получить ответ, например «42». И даже не добиться конкретного результата – например, «я решил судоку из сегодняшнего номера». Решения – это алгоритмы! Алгоритм – просто набор инструкций, которым необходимо следовать. Если точно их выполнять, вы получите собственно ответ на задачу («42») или добьетесь, чего хотите (например, решите судоку). Как только вы получите алгоритмическое решение, вы будете решать подобные задачи вообще не задумываясь, просто «слепо» следуя инструкциям. При наличии такого алгоритма задачу, не углубляясь в суть программы, решит кто угодно. При этом не надо знать или понимать, как в конечном итоге работает алгоритм. Можно даже не иметь представления о том, что вы решаете судоку (и что такое вообще судоку). А это значит, что бездушная машина, компьютер, тоже будет механически следовать инструкциям и решать подобные задачи в любой форме. Именно так и работают компьютеры – они выполняют алгоритмы, написанные людьми.
Настоящая сила этой идеи в том, что следование алгоритму обеспечивает решения для целой группы задач, а не только для одного примера. Алгоритм для решения кроссвордов позволит решить много кроссвордов. Алгоритм для арифметических действий справится с любым расчетом. Когда мы воспринимаем задачи и решения таким образом, это называется алгоритмическое мышление.
Например, недостаточно знать, что 20 + 22 равно 42. Специалисту по информатике нужен алгоритм, который будет складывать два числа. На самом деле все мы в начальной школе изучаем этот алгоритм именно для того, чтобы решать примеры и не углубляться в его составление самим! Подобным образом, во все компьютеры встроена инструкция по сложению – вот насколько она важна! Компьютер действует только как калькулятор, только следуя инструкциям, которые указывают ему, как проводить вычисления. Компьютерная программа – это просто алгоритм или набор алгоритмов, написанных на языке, который понимает машина, – на языке программирования.
Однако речь здесь идет не только о вычислениях. Алгоритмы можно использовать в самых разных целях. Мыслите алгоритмически, и у вас появится мощный способ изменить мир. Если записать алгоритмы в виде программ, то они будут слепо выполнять все что угодно. Сегодня банки вместо людей используют алгоритмы, чтобы торговать ценными бумагами – покупать, продавать и получать миллионные прибыли. НАСА использует их, чтобы запускать корабли на Марс. Вы пользуетесь алгоритмами, чтобы слушать музыку и смотреть видео. Алгоритмы управляют самолетами, помогают хирургам и позволяют нам делать покупки, сидя у себя в гостиной или в вагоне поезда. Они водят машины и даже создают произведения искусства. Сейчас алгоритмы присутствуют во всех аспектах нашей жизни. Алгоритмы уже преобразили нашу жизнь и продолжают это делать. Поэтому важно понимать, что такое алгоритмическое мышление. Так же, как мы изучаем физику, чтобы понимать физический мир, и биологию – чтобы понимать живой мир, всем нам необходимо в какой-то мере освоить информатику, чтобы понять виртуальный мир, который тихо захватил нашу жизнь.
Алгоритмическое мышление – это не просто способ решать задачи. Оно открывает новые пути для понимания мира. В традиционной науке используются эксперименты. Биологи ставят эксперименты на крысах и обезьянах, на клеточных культурах. Медики проводят испытания лекарственных препаратов. Физики ставят эксперименты над самим миром. Однако, если мыслить алгоритмически, возможен другой вариант. Если существует теория, объясняющая некое явление, будь то воздействие радиации на поверхность планеты, формирование экосистемы или развитие злокачественной опухоли, мы можем создать алгоритмы, работающие подобным образом. Мы можем создать вычислительную модель – программу, которая должна симулировать интересующие нас феномены, и проводить эксперименты на модели, а не в реальном мире. Если мы правильно понимаем явление, то программа будет вести себя как объект моделирования. Если этого не произойдет, значит, с нашей теорией что-то не так. Обдумывая, что пошло не так, мы обнаружим, чтó надо изменить в теории, и, таким образом, будем лучше понимать явление. Вполне вероятно, что изучение модели выведет нас на новые предположения, которые можно проверить уже в реальном мире.
Читать дальше
Конец ознакомительного отрывка
Купить книгу