ПОДПИСКА НА ВЕБ-САЙТ. ПРЕИМУЩЕСТВА:
Доступ к эксклюзивным статьям на сайте
Приглашение на образовательные лекции и мастер-классы
Возможность просматривать на всех мобильных устройствах и планшетах
Отличная цена: всего 200 тг в месяц!
Например:
Конечно, иногда бывает так, что чему-то вы можете (или вынуждены) научиться сами, без чьей-либо помощи или подсказки. Представьте себе такую ситуацию: вы поехали в летний лагерь и вам нужно постирать носки. Вы этого раньше никогда не делали, потому что этим занималась мама. Сейчас мамы рядом нет, научить нас некому, написанных инструкций тоже нет, а спросить вы стесняетесь. Поэтому стирать носки будете сами. Сначала вы продумываете последовательность действий и только потом начинаете стирать. После нескольких попыток, иногда не совсем удачных, вы определите, какие действия, и в каком порядке следует выполнять, чтобы после стирки носки выглядели достойно. Вскоре на собственном опыте, методом проб и ошибок, вы научитесь быстро и чисто стирать носки (чему мама будет приятно удивлена). Это станет для вас несложным делом, которое вы будете делать, не задумываясь, привычными механическими движениями. Однако, чтобы научить этому младшего брата, придётся чётко разъяснить ему и эти действия, и порядок их выполнения.
Приблизительно это будет выглядеть так:
Действие 1: Взять таз для стирки
Действие 2: Взять хозяйственное мыло
Действие 3: Набрать в таз тёплую воду
Действие 4: Положить носки в таз с водой
Действие 5: Намылить оба носка
Действие 6: Надеть носки на ладони (словно варежки)
Действие 7: Потереть руки друг о друга так, будто вы энергично их моете
Действие 8: Выжать носки
Действие 9: Вылить мыльную воду
Действие 10: Набрать в таз тёплую воду
Действие 11: Положить носки в таз с водой
Действие 12: Прополоскать носки
Действие 13: Выжать носки
Действие 14: Повесить носки сушиться
Знаете, что вы сделали? Вы написали алгоритм стирки носков!
Алгоритм — описание последовательности действий (план), строгое исполнение которых приводит к решению поставленной задачи за определённое число шагов.
Мы постоянно сталкиваемся с понятием «алгоритм» в различных сферах деятельности человека (кулинарные книги, инструкции по использованию различных приборов, правила решения математических задач и т. д.)
Мир алгоритмов очень разнообразен, но, несмотря на это, все алгоритмы обладают общими свойствами.
Слово «алгоритм» происходит от латинской транскрипции имени известного математика Востока Мухаммеда Аль-Хорезми (Algorizmi или Algorizmus), который в IX веке в книге «Об индийском счёте» сумел чётко описать правила записи натуральных чисел с использованием арабских цифр и выполнения простых арифметических действий с ними. А так как это сочинение об арифметике было очень популярно в Европе, имя автора стало нарицательным — средневековые европейские математики так называли арифметику, основанную на десятичной системе счисления. Позднее так называли всякую систему вычислений по определённому правилу, теперь этот термин означает предписание, определяющее порядок выполнения действий с целью получения конкретных результатов.
1. Дискретность (разделённость, прерывистость) — алгоритм должен состоять из конкретных действий, следующих в определённом порядке. Каждое действие, предусмотренное алгоритмом, исполняется только после того, как закончилось исполнение предыдущего. Перестановка некоторых пунктов алгоритма может сделать его неразумным или вовсе бессмысленным. Попробуйте поменять в алгоритме стирки носков местами действия 3 и 5, и вы не сможете намылить мылом сухие носки. Нарушая порядок действий алгоритма, мы рискуем либо не достичь поставленной цели, либо получить совсем другой результат, порой очень плачевный.
2. Детерминированность (определённость, точность) — любое действие должно быть чётким, однозначным и не оставлять исполнителю места для произвола или творчества. Например, в действии 3 алгоритма стирки носков можно было бы написать «Набрать в таз воду». Это означало бы, что для стирки подойдёт и горячая вода (но тогда можно обжечься), и холодная (тогда носки хуже постираются). Благодаря детерминированности выполнение алгоритма носит механический хаpактеp и не требует никаких дополнительных указаний.
3. Результативность (конечность) — это значит, что исполнение алгоритма должно завершиться за конечное число шагов и привести к решению задачи (либо пониманию того, что задача не имеет решения). В алгоритме стирки носков наши носки постираны за 14 шагов.
4. Массовость (универсальность) — один и тот же алгоритм можно использовать для решения всего класса задач данного типа. Алгоритм стирки носков обладает этим свойством, потому что он составлен так, чтобы им мог воспользоваться любой исполнитель (мальчик или девочка, взрослый или ребёнок) и применим для стирки разных носков — взрослых и детских, мужских и женских, белых и цветных.
Если алгоритм обладает всеми этими свойствами, то, выполняя его, исполнитель может не вникать в смысл того, что он делает, и вместе с тем получать нужный результат. Дайте младшему брату в руки носки и алгоритм стирки носков, не объясняя ему ничего. Если он в точности исполнит его, он постирает носки, даже не вникая в смысл того, что он делает. В таком случае говорят, что исполнитель действует формально.
Линейный алгоритм — алгоритм, описывающий действия (шаги), которые выполняются однократно, одно за другим в заданном порядке. Алгоритм стирки носков является примером линейного алгоритма.
Разветвляющийся алгоритм — алгоритм, в котором сначала проверяется определённое условие, и в зависимости от результатов проверки выполняется либо одна, либо другая последовательность действий. Алгоритм стирки носков станет разветвляющимся, если у нас есть возможность стирать носки не только вручную, но и в стиральной машине. Если мы выберем ручную стирку, то наши действия пойдут по одной ветви (которая в свою очередь будет линейным алгоритмом). Если же мы будем стирать носки в стиральной машине, то наши действия пойдут по другой ветви (которая будет выполнять команды, описанные в инструкции к стиральной машине).
Циклический алгоритм — алгоритм, предусматривающий повторение одного и того же действия (или действий) указанное число раз или до тех пор, пока не выполнено заданное условие. Наш алгоритм станет циклическим, если нам нужно будет постирать не одну, а несколько пар носков. В этом случае действия с 4 по 8 будут повторяться столько раз, сколько пар носков мы будем стирать.
Даже из таких простых примеров становится ясно, что создание алгоритма требует творческого подхода, поэтому его может создать только человек. А вот для исполнения уже существующих инструкций фантазию иметь не обязательно, с этим справится даже бездушная техника.
Применение алгоритмов позволяет быстро решать однотипные задачи, сократить время на поиск решения и автоматизировать процесс его нахождения. Алгоритмы применяются во всех сферах человеческой жизни. Вот самые новые из них:
Можете ли вы представить себе, как выглядят алгоритмы, описывающие эти процессы? Это очень сложные, многоуровневые системы, представляющие собой комбинацию линейных, разветвляющихся и циклических алгоритмов. И чтобы написать этот алгоритм, нужно быть человеком недюжинного ума. Этой сложной, но очень интересной, и к тому же хорошо оплачиваемой работой занимаются программисты, которые описывают эти алгоритмы на языках программирования, понятных компьютерам и другой автоматизированной технике.
Таким образом, не только обычные человеческие будни состоят из алгоритмов, но и высокотехнологичные и интеллектуальные продукты — это также результат создания и исполнения алгоритма.
ПОДПИСКА НА ВЕБ-САЙТ. ПРЕИМУЩЕСТВА:
Доступ к эксклюзивным статьям на сайте
Приглашение на образовательные лекции и мастер-классы
Возможность просматривать на всех мобильных устройствах и планшетах
Отличная цена: всего 200 тг в месяц!
ПОДПИСКА НА ПЕЧАТНОЕ ИЗДАНИЕ. ПРЕИМУЩЕСТВА:
Самое интересное в научных дисциплинах и технологиях простым языком
Высокое качество печати
Выходит 12 раз в год
Бесплатная доставка до двери по всему Казахстану
Доступ к архиву и новым номерам