Информатика · 8 класс · Информатика ФГОС · урок 19 · только теория
Разработка несложных алгоритмов с использованием циклов для управления формальными исполнителями
Тема посвящена созданию алгоритмов с циклами для управления формальными исполнителями — такими, как Робот, Чертёжник или Кузнечик. Мы разберём, как правильно строить повторяющиеся действия, чтобы программа была короткой и понятной, и как избегать зацикливания.
Чему учимся понимать
Научиться составлять и понимать алгоритмы с циклами для формальных исполнителей, правильно определять условие продолжения и число повторений.
Зачем это нужно
Циклы — основа автоматизации: они позволяют компьютеру или роботу выполнять однотипные действия без участия человека. Понимание циклов помогает в программировании, робототехнике и даже в повседневной жизни, когда нужно организовать повторяющиеся процессы.
Опорные понятия
Главные тезисы
- Формальный исполнитель — это объект, который выполняет строго определённый набор команд, не задумываясь об их смысле.
- Цикл — это конструкция алгоритма, которая позволяет повторить группу команд несколько раз.
- Тело цикла — это команды, которые повторяются; оно должно быть ограничено и понятно исполнителю.
- Условие продолжения цикла определяет, сколько раз будут выполняться команды; оно проверяется перед каждой итерацией.
- Цикл с известным числом повторений (цикл «N раз») используется, когда заранее известно, сколько раз нужно выполнить действия.
- Цикл с условием (цикл «пока») используется, когда число повторений зависит от ситуации, которую проверяет исполнитель.
- Зацикливание — это ошибка, когда условие никогда не становится ложным, и программа работает бесконечно.
- Грамотное использование циклов делает алгоритм короче, понятнее и менее подверженным ошибкам.
Определения
- Формальный исполнитель
- Это объект (например, Робот или Чертёжник), который умеет выполнять только определённый набор команд, и делает это буквально, не проявляя инициативы.
- Алгоритм
- Последовательность команд, которые нужно выполнить, чтобы достичь цели; для формального исполнителя она должна быть точной и конечной.
- Цикл
- Конструкция в алгоритме, которая заставляет исполнителя повторять одну и ту же группу команд несколько раз.
- Тело цикла
- Команды, которые повторяются в цикле; они записываются внутри цикла и выполняются каждый раз.
- Условие продолжения цикла
- Логическое выражение, которое проверяется перед каждой итерацией; если оно истинно, цикл продолжается, если ложно — заканчивается.
- Счётчик повторений
- Переменная, которая хранит, сколько раз уже выполнился цикл; используется в циклах с известным числом повторений.
- Зацикливание
- Ситуация, когда условие цикла никогда не становится ложным, и исполнитель выполняет команды бесконечно.
Ключевые факты и правила
- В школьных алгоритмических языках цикл с известным числом повторений записывается как: «нц N раз ... кц», где N — число повторений.
- Цикл с условием записывается как: «нц пока <условие> ... кц»; условие проверяется перед каждым выполнением тела цикла.
- Тело цикла должно содержать команды, которые изменяют ситуацию, чтобы условие когда-нибудь стало ложным; иначе произойдёт зацикливание.
- Число повторений в цикле «N раз» должно быть целым неотрицательным числом; если N = 0, цикл не выполнится ни разу.
- Для формального исполнителя Робот команды могут быть: «вверх», «вниз», «влево», «вправо», «закрасить»; циклы позволяют, например, закрасить ряд клеток.
- Циклы можно вкладывать друг в друга (вложенные циклы), чтобы обрабатывать двумерные области, например, закрасить прямоугольник.
Теория
Определите, какое действие нужно повторить, и сколько раз (или при каком условии).
Выберите тип цикла: если число повторений известно заранее — цикл «N раз», если зависит от ситуации — цикл «пока».
Запишите тело цикла — команды, которые должны повторяться, и проверьте, что они не противоречат системе команд исполнителя.
Для цикла «пока» убедитесь, что условие может стать ложным: в теле цикла должны быть команды, изменяющие ситуацию.
Проверьте алгоритм на простом примере (мысленно или на бумаге), чтобы убедиться, что он конечен и приводит к цели.
Примеры
- Пример 1случай
- Исполнитель Робот стоит в начале ряда клеток. Чтобы закрасить 5 клеток подряд, можно использовать цикл «нц 5 раз: закрасить
- вправо
- кц»
- Пример 2случай
Исполнитель Чертёжник рисует квадрат
Пояснение
- команды «опусти перо», затем цикл «нц 4 раза: вперёд 50
- вправо 90
- кц» — так получается квадрат без повторения четырёх одинаковых блоков
- Пример 3случай
- В жизни цикл — это, например, алгоритм мытья посуды: пока есть грязная тарелка, мыть её
- условие — «есть грязная тарелка», тело — «помыть тарелку»
- Пример 4случай
- Кузнечик может прыгать по числовой прямой
- чтобы переместиться на 10 шагов вправо, можно использовать цикл «нц 10 раз: вправо 1
- кц»
Интересно знать
- Понятие цикла в программировании появилось ещё в 1950-х годах, когда компьютеры стали использовать для автоматизации вычислений; до этого программы были линейными и очень длинными.
- Робот-пылесос — это реальный формальный исполнитель: он выполняет команды датчиков и циклы, чтобы убирать комнату, и если условие неверное, он может «зациклиться» в углу.
- В древних механизмах, например, в часах с кукушкой, использовались механические циклы: шестерёнки повторяли одно и то же движение, чтобы кукушка появлялась каждый час.
Техника безопасности
- При работе с компьютером не запускайте программу с заведомо бесконечным циклом — это может привести к зависанию системы; всегда проверяйте условие.
- Если используете среду исполнителя (например, Кумир), сохраняйте файл перед запуском, чтобы не потерять работу при ошибке.
Связанные темы
- Алгоритмы и исполнители (урок 18)
- Вспомогательные алгоритмы (урок 20)
- Ветвления в алгоритмах (урок 17)
- Программирование циклов на языке Паскаль (урок 21)