(курс 68 ч.) Понятие алгоритма и его свойства | Исполнитель алгоритма

Планирование уроков на учебный год


Урок 3
Понятие алгоритма и его свойства
Исполнитель алгоритмов: назначение, среда, система команд, режимы работы
(§ 3. Определение и свойства алгоритма)




Содержание урока

Исполнитель алгоритма

Свойства алгоритма

Определение алгоритма

Компьютерный практикум ЦОР. Определение и свойства алгоритма


Исполнитель алгоритма









Понятие алгоритма так же фундаментально для информатики, как и понятие информации. Поэтому в нем очень важно как следует разобраться.

Происхождение понятия «алгоритм»


Само слово «алгоритм» происходит от имени выдающегося математика средневекового Востока Мухаммеда ибн Мусы аль-Хорезми (787 - 850 г.). Им были предложены приемы выполнения арифметических вычислений с многозначными числами (вам они хорошо знакомы из школьной математики). Позже в Европе эти приемы назвали алгоритмами, от Algorithmi — латинского написания имени аль-Хорезми. В наше время понятие алгоритма понимается шире, не ограничивается только арифметическими вычислениями.

Исполнитель алгоритма


Из предыдущего параграфа вы узнали, что алгоритм — это последовательность команд управления каким-либо объектом. Мы назвали такой объект объектом управления или исполнителем алгоритма. Им может быть как техническое устройство, так и живое существо.

Рассмотрим исполнителя — человека. Для него можно сформулировать множество алгоритмов, например алгоритмы арифметических вычислений. С таким же успехом можно назвать алгоритмами множество различных инструкций, предписывающих последовательность действий человека для выполнения какой-либо работы. Например, кулинарный рецепт — это алгоритм работы повара с целью приготовления блюда; инструкция по сборке машинки из деталей детского конструктора — алгоритм для ребенка; инструкция по использованию кухонного комбайна — алгоритм для домохозяйки.

Вы, наверное, никогда не задумывались над тем, какое количество алгоритмов вам известно. Жизненный опыт человека растет с увеличением числа освоенных им алгоритмов. Например, чтобы ребенок научился покупать в магазине хлеб, ему нужно сначала рассказать (а лучше показать), как это делается. Освоив «алгоритм покупки хлеба», он в дальнейшем будет успешно выполнять эту работу.

Поиск выигрышной тактики, а следовательно, и алгоритма несложной игры — интересная и полезная задача. Рассмотрим одну из таких игр, которая называется игрой Баше.

Играют двое. Перед ними 21 предмет, допустим, камни (также может быть 11, 16, 26 и т. д.). Игроки берут камни по очереди. За один ход можно взять 1, 2, 3, 4 камня. Проигрывает тот, кто забирает последний камень.

Имеется выигрышная тактика для игрока, берущего камни вторым. Она заключается в том, чтобы брать такое количество камней, которое дополняет число камней, взятых соперником на предыдущем ходе, до пяти. Этот алгоритм можно описать в виде последовательности команд:

алr Игра Баше

нач

  1. Предоставить ход сопернику.
  2. Взять столько камней, чтобы в сумме с предыдущим ходом соперника получилось 5.
  3. Если остался один камень, то объявить о своем выигрыше, иначе вернуться к выполнению команды 1.

кон

Игрок, строго следующий этому алгоритму, будет всегда выигрывать, даже если он не понимает, почему так происходит.

Алгоритмический язык


В приведенном примере записи алгоритма используется символика учебного Алгоритмического языка (АЯ).

Из примера видно, что при записи алгоритма на АЯ вначале пишется заголовок, начинающийся со служебного слова алr (сокращенное слово «алгоритм»). Затем указывается название алгоритма, которое составитель алгоритма придумывает сам. Следующая часть называется телом алгоритма. Она начинается со служебного слова нач (начало) и заканчивается словом кон (конец). Тело алгоритма представляет собой последовательность команд для исполнителя.

Здесь и в дальнейшем служебные слова в алгоритмах на алгоритмическом языке будут записываться жирным шрифтом. В языках программирования (как и в АЯ) служебными называются слова, которые всегда употребляются в одном и том же смысле.




Следующая страница Свойства алгоритма







Наверх