Занятие 5. Алгоритмическая конструкция следование

(поделиться сведениями)

Алгоритм и программа

Алгоритм — это предписание исполнителю, состоящение из понятных для него команд, выполнение которого должно привести к решению определённой задачи. Таким образом, алгоритмы, как и программы, состоят из команд, и вообще оба эти понятия настолько похожи, что иногда используются как синонимы. Однако алгоритм — это прежде всего описание способа решения задачи в понятной для исполнителя форме, а программа — это запись алгоритма в виде, пригодном для непосредственного выполнения.

Например, для исполнителя, который умеет прыгать, шагать и поворачиваться налево, алгоритм рисования квадрата можно записать в виде последовательности слов:

налево, налево, налево, шагни, шагни, налево, шагни, шагни, налево, шагни, шагни, налево, шагни, шагни.

Или, если действие шаг обозначить буквой Ш, действие прыжок — буквой П, а действие поворот — буквой Л, то этот же самый алгоритм запишется в виде:

Л, Л, Л, Ш, Ш, Л, Ш, Ш, Л, Ш, Ш, Л, Ш, Ш.

Для наглядности алгоритм можно записать в виде графической схемы, например, как показано на рис. 5.1.

Схема алгоритма
Рис. 5.1. Запись алгоритма в виде графической схемы.

Все три приведенные записи алгоритма верны, но ни одна из них не может быть использована в среде ГРИС Букашка для того, чтобы исполнитель нарисовал квадрат. Для практического использования алгоритма придётся написать программу, реализующую алгоритм в соответствии с правилами языка программирования, который принят в среде ГРИС. Это было сделано на предыдущем занятии.

Линейный алгоритм

Вернёмся к нашему исполнителю, который умеет выполнять всего три действия: прыгать, шагать и поворачиваться налево. Эти действия являются простыми в том смысле, что команды, соответствующие им, всегда выполняются одинаково. Выполнение этих действий не зависит от обстановки вокруг исполнителя. Если алгоритм содержит только такие действия, то все они будут выполнены последовательно, одно за другим, от первого до последнего, пока не будет решена задача, которой посвящён алгоритм (или пока не возникнет аварийная ситуация, которую в данный момент мы не рассматриваем). Причём каждое действие алгоритма будет выполнено только один раз.

Алгоритмы, шаги которых описываются такими простыми действиями, называются линейными. Важно понимать, что линейность относится к способу выполнения алгоритма, а не к тому результату, который им достигается. Например, линейным алгоритмом можно описать построение сложного рисунка, но сами действия при его построении будут выполняться линейно, как только что было описано. Линейность алгоритма наглядно демонстрирует схема, показанная на рис. 5.1.

Идущие друг за другом действия линейного алгоритма образуют алгоритмическую конструкцию следование. Это — самая простая и естественная алгоритмическая конструкция, и она уже использовалась, например, в программах рисования квадратов, только не называлась. На графических схемах алгоритмов конструкция следование изображается в виде идущих друг за другом (сверху вниз или слева направо) прямоугольников, соединённых линиями или стрелками, показывающими направление выполнения алгоритма (рис. 5.2).

Следование
Рис. 5.2. Графическое изображение алгоритмической конструкции следование.

Пример программы

В качестве ещё одного примера реализации линейного алгоритма, состоящего только из конструкций следование, рассмотрим программу, которая рисует на рабочем поле флажок. Текст программы приведён ниже. Программа довольно большая, поэтому, чтобы упростить её использование, под текстом программы есть кнопка Выполнить, при нажатии на которую откроется среда ГРИС Букашка с уже загруженной программой в режиме выполнения программы. Чтобы ГРИС открылась в отдельной вкладке веб-браузера, при щелчке по кнопке надо удерживать нажатой клавишу <CTRL>.