"Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", В.М. Котов, А.И. Лапо, Е.Н. Войтехович
Алгоритмическая конструкция следование задаёт простой порядок работы: исполнитель выполняет команды одну за другой, от первой до последней. Такой алгоритм называют линейным, потому что в нём нет выбора между ветвями и повторения действий. Следование помогает точно описывать решение задачи — от приготовления бутерброда до вычислений. Чтобы алгоритм привёл к нужному результату, команды должны быть понятными исполнителю, выполнимыми и записанными в правильном порядке.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Алгоритм — точное и понятное исполнителю описание действий для решения задачи. Он нужен, чтобы привести исполнителя от исходных условий к требуемому результату. Поэтому команды алгоритма должны быть сформулированы ясно, а сам исполнитель должен уметь их выполнять. Если указание непонятно или невыполнимо, алгоритм не сможет надёжно решить задачу.
Команда — отдельное указание исполнителю выполнить определённое действие. Например, «поверни направо» — команда, если исполнитель понимает, что значит поворот направо и может его выполнить. Команды нужны, чтобы разбить решение на конкретные шаги. Чем точнее указание, тем меньше риск, что исполнитель поймёт его не так, как задумал составитель.
Алгоритмическая конструкция «следование» — способ организации алгоритма, при котором команды выполняются одна за другой в заданном порядке. Исполнитель переходит к следующей команде после выполнения предыдущей. Такая конструкция нужна, когда решение задачи можно описать последовательностью действий без выбора между вариантами и без повторов. Благодаря ей легко проследить ход выполнения алгоритма.
Линейный алгоритм — алгоритм, построенный из команд, которые выполняются последовательно, без выбора ветви и повторения действий. Он может состоять как из одной, так и из нескольких команд. Такой алгоритм удобен для задач, где каждый шаг выполняется один раз и порядок действий заранее известен. Например, можно линейно описать вычисление по готовой формуле.
Представь, что нужно попросить друга налить воду в стакан. Для этого можно сказать: «Возьми стакан», «Налей в него воду», «Поставь стакан на стол». Эти указания образуют небольшой алгоритм: друг понимает, какие действия выполнить, и получает нужный результат. Если сказать только «сделай всё необходимое», исполнитель может не догадаться, что именно требуется, поэтому командам нужна ясная формулировка.
Порядок команд имеет значение, потому что одно действие часто создаёт условия для следующего. Если сначала наливать воду, а потом искать и брать стакан, выполнить первый шаг не получится. В других случаях все команды выполнимы, но перестановка меняет итог: например, если сначала положить начинку на хлеб, а затем намазать его маслом, бутерброд получится не таким, как задумано. Значит, порядок нужно проверять с учётом цели и связи между действиями.
При следовании исполнитель начинает с первой команды и выполняет команды по одной, переходя к следующей только после завершения текущей. Он не выбирает другой путь и не возвращается к уже пройденным командам для повтора. Именно поэтому алгоритм называют линейным: его выполнение идёт по одной последовательной линии. Если хотя бы одна команда пропущена или непонятна, исполнение может остановиться или привести не к тому результату.
Последовательность можно записать обычными словами — списком команд в нужном порядке. Если в учебном материале используется блок-схема, действия на ней показывают блоками, а порядок перехода между ними — стрелками. При чтении такой схемы нужно следовать от начального блока к командам и далее к завершению. И словесная запись, и схема должны передавать один и тот же порядок действий.
Чтобы составить линейный алгоритм, сначала выясняют, что дано и какой результат требуется. Затем выбирают необходимые действия, записывают их по порядку и выполняют алгоритм мысленно или на практике, проверяя каждый шаг. Например, для вычисления общей стоимости одинаковых предметов нужны цена одного предмета и их количество. После получения этих данных цену умножают на количество и записывают ответ; проверка показывает, не забыта ли операция и верно ли использованы исходные данные.
| Характеристика | Что указать | Пример |
|---|---|---|
| Начало выполнения | С какого исходного состояния или с каких данных начинает исполнитель | Известны цена предмета и количество |
| Последовательность команд | Все нужные действия, записанные по порядку | Получить данные, вычислить стоимость, вывести ответ |
| Порядок выполнения команд | Какая команда выполняется первой, а какая — следующей | Сначала получить числа, затем умножить |
| Результат выполнения | Что должно получиться после последней команды | Общая стоимость предметов |
| Проверка алгоритма | Как убедиться, что команды выполнимы и дают нужный результат | Подставить примерные данные и пересчитать |
Используй таблицу как план: сначала определи начало и цель, затем заполни команды между ними. Проверь, что каждая команда выполнима и стоит на подходящем месте. В конце пройди алгоритм по шагам и сравни полученный результат с ожидаемым.
Задача 1. Составить алгоритм, чтобы исполнитель переместился на одну клетку вперёд и повернул направо. Нужно учесть, что поворот меняет направление движения, но сам по себе не перемещает исполнителя. Значит, в алгоритм должны войти две команды, а их порядок определит конечное положение и направление.
Ответ. «Перейти на одну клетку вперёд»; «Повернуть направо». После выполнения исполнитель окажется на соседней клетке и будет направлен направо относительно исходного направления.
Задача 2. Описать алгоритм приготовления бутерброда из заданных продуктов. Сначала нужно выяснить, какие продукты есть и какой бутерброд требуется получить. Команды следует сделать такими, чтобы исполнитель мог выполнить их без догадок, а действия располагались в подходящем порядке.
Ответ. Алгоритм состоит из трёх команд в указанном порядке. Если продукты или требуемый результат другие, набор команд нужно изменить, не оставляя исполнителю неясных действий.
Задача 3. Составить алгоритм вычисления стоимости нескольких одинаковых предметов, если известны цена одного предмета и их количество. Общая стоимость зависит от обоих исходных чисел, поэтому прежде чем вычислять, нужно получить их значения. Результат также следует явно указать — это стоимость всех предметов.
Ответ. Последовательность команд: получить цену и количество; умножить цену на количество; вывести общую стоимость. Например, при цене 3 рубля и количестве 4 предмета результат равен 12 рублям.
Переставлять команды местами, не проверяя смысл, — значит рисковать получить другой результат или невозможную последовательность действий. Так бывает, когда команды кажутся независимыми, хотя одна подготавливает следующую. Проверь себя: выполни алгоритм в записанном порядке и спроси, возможно ли сделать каждый шаг именно сейчас. Если нет, переставь команды и проверь ещё раз.
Пропускать необходимую команду, считая действие очевидным, опасно: исполнитель не обязан угадывать замысел составителя. Например, фраза «приготовь бутерброд» не объясняет, какие продукты взять и что с ними сделать. Такую ошибку допускают, когда хорошо знают задачу сами и забывают, что исполнитель может не знать нужных шагов. Проверь алгоритм глазами человека, который видит инструкцию впервые.
Неоднозначная команда допускает несколько толкований, поэтому исполнитель может выбрать не то действие. Например, указание «положи рядом» не уточняет, рядом с чем именно нужно положить предмет. Неясность часто возникает из-за слишком короткой записи или пропущенных условий. Попроси другого человека объяснить, как он понял команду, либо уточни её так, чтобы оставался один смысл.
Считать, что линейный алгоритм обязательно содержит только одну команду, — неверно. Линейным его делает последовательное выполнение без выбора и повторения, а не количество шагов. Такое заблуждение может помешать записать решение задачи полностью. Проверь себя: если команд несколько, но они выполняются одна за другой, алгоритм всё равно линейный.
Чтобы работать с алгоритмом, нужно понимать, кто его выполняет, что такое команда и как следовать простым инструкциям. Эти знания помогают отличать понятное указание от расплывчатого и замечать, может ли исполнитель выполнить нужный шаг. Следование служит основой для дальнейшего изучения алгоритмов с ветвлением и повторением: там к последовательности добавляются выбор пути или повтор действий. Умение располагать команды в правильном порядке пригодится при создании программ и проверке их работы.
Что означает алгоритмическая конструкция следование?
Это способ организовать алгоритм так, чтобы команды выполнялись одна за другой в заданном порядке. Исполнитель начинает с первой команды и продолжает до последней.
Чем команда отличается от алгоритма?
Команда — отдельное указание выполнить действие, например повернуть направо. Алгоритм — описание решения задачи, состоящее из одной или нескольких команд.
Почему нельзя произвольно менять порядок команд?
Потому что действия могут зависеть друг от друга: следующую команду иногда нельзя выполнить, пока не сделана предыдущая. Перестановка также может привести к другому результату.
Может ли линейный алгоритм состоять из нескольких команд?
Да, он может включать сколько угодно команд, если они выполняются последовательно. Линейным его делает отсутствие выбора ветви и повторения действий.
Как проверить, правильно ли составлена последовательность действий?
Выполните команды по порядку, как это сделал бы исполнитель, и проследите, получается ли нужный результат. Если действие непонятно или выполнить его невозможно, уточните либо добавьте команду.
8.3. Алгоритмическая конструкция следование