Информатика
Алгоритмическая конструкция повторения
План урока:
С повторяющимися действиями мы сталкиваемся и в обычной жизни и при решении задач. Проход стрелок часов каждую минуту, секунду, час, смена дня и ночи, ежедневные сборы в школу, еженедельная смена уроков, ежегодные поездки на море – примеров циклов повторения миллиарды. Несмотря на разнообразие происходящих процессов, большинство из них можно описать простыми конструкциями. Делая что-то раз за разом, мы не задумываемся, что ученые уже написали алгоритмы с повторением или циклы универсальными способами.
Циклы, их виды
Многие операции, действия выполняются однотипно много раз. Этот процесс повторения называют циклом, а повторяемая последовательность – телом цикла. Процедуру с повторяющимися этапами называют циклической.
Каждое повторение действий в алгоритмах – итерация.
Выделяют 3 основных вида повторяющихся структур:
- с условием выполнения цикла (предусловием);
- с критерием завершения (постусловием);
- с указанным числом повторений цикла.
Описывать подобные процессы удобно схематично или при помощи команд.
Цикл с предусловием
Данную конструкцию еще встречается как «цикл-пока», потому что пока выполняется условием, программа/исполнитель будет проходить шаги снова и снова.Описанный критерий, логическое сравнение - причина начала прохождения повторяемых шагов/команд.
Описание цикла с условием двумя способами:
Порядок выполнения:
- Проверка критерия/логического сравнения.
- Пока результат «Да», «проигрывать по кругу» однотипные операции.
- Если ответ на условие отрицательный, закончить процедуру.
Особенность этой конструкции – существуют такие условия, когда команды не будут выполнены ни разу.
Циклический алгоритм, примеры:
- Написать алгоритм постройки забора из кирпичей высотой 2 м.
алг забор
нач
нц пока есть кирпичи и раствор цемента
если высота забора < 2,0 м
то намазать слой цемента
положить слой кирпичей
иначе сделать сверху декоративный слой
все
кц
кон
- Нарисовать шуточный (но действующий) алгоритм покраски забора «от начала и до обеда.
- Написать алгоритм вычисления частного и остатка от числа, не используя операции деления. В программе используются целые числа.
Заменим деление вычитанием, будем выполнять отнимание, пока остаток не будет меньше вычитаемого – условие выполнения. Число вычитаний и будет частному от деления, это счетчик цикла, а разность, выполненная в последний раз – остаток от деления.
Обозначим x – делимое, y – делитель, q – частное от деления, r – остаток.
Особенности цикла-Пока:
- Если условие ни разу не выполняется, то команды из тела не будут выполнены ни разу. Это нормально, это один из вариантов – нет необходимости в выполнении команд.
- Если же условие всегда истинно, тело операции будут выполняться бесконечное число раз. Такое положение называется зацикливанием. Фактически программа «зависает» и не сможет завершиться сама. Рекомендуется предусмотреть этот вариант.
Циклический алгоритм с постусловием
Такую конструкцию называют «цикл-До». Здесь условие является основанием окончания выполнения команд из тела, то есть, они выполнятся хотя бы раз, даже если условие ложно.
Порядок выполнения цикла с заданным условием:
- Выполнение команд из тела.
- Проверка условия (сравнения определенной величины с заданной).
- Пока ответ на условие «Нет», повторять описанные в теле операции/шаги.
- Если ответ на условие положительный, закончить процедуру.
Описание структуры с постусловием языком блок-схем и на алгоритмическом языке:
Особенности циклов с заданным условием окончания работы:
- Будет хотя бы одно выполнение процедуры;
- Условие описывает завершение повторяемых действий.
Пример: написать программу покраски забора.
Блок схема циклического алгоритма.
Цикл с параметром
Используется для задач, в которых известно количество повторений однотипных шагов, то есть заранее известно, сколько раз нужно выполнить действия. Параметр в этой процедуре– количество повторений цикла(счетчик повторов).
Особенность алгоритмической конструкции повторение с параметром – не бывает зацикливаний, ведь после выполнений указанного числа повторов процесс остановится.
Циклы с известным числом повторений вокруг нас: прием курса лекарств, расписание уроков на неделю, посадка известного числа саженцев, поклейка определенного числа полос обоев.
Пример: написать алгоритм разгрузки и переноса 15 мониторов из авто в компьютерный класс.
Повторение в программировании
Не нужно недооценивать изучение простейших алгоритмических конструкций. Следование, ветвление, повторение – важные конструкции, операторы, используемые в программировании.
Зная их особенности, умея строить блок-схемы и писать решение задач на алгоритмическом языке, позволяет изучать большинство языков программирования легко и быстро.
Большинство задач можно описать при помощи первой конструкции, иногда это неудобно, для каждого типа заданий лучше подбирать оптимальный по выполнению алгоритм.
Цикл начала работы в программировании
Так, описанная выше команда в программировании обозначается словом While. Этот оператор обозначает многократное прохождение участка кода. Это очень востребованная операция.
"While" обозначает на английском "пока". Но не как прощание, а как то, что «делается пока, что-то происходит/выполняется». Этот оператор используется во всех языках программирования, использующих структурный подход (Pascal, Python). Обобщено его записывают так:
Как видим, это очень похоже на запись на алгоритмическом языке – написанное просто, структурировано и понятно.
Подход такой же, как и цикле-пока – проверяется условие, если оно «True», выполняется тело с командами, если «False» – блок программы заканчивается. В этой конструкции не выполненное условие - окончания работы цикла. После этого программа перейдет к следующему блоку команд, то есть «выйдет из цикла».
Цикл окончания работы в программировании
Для записи такой повторяемой конструкции в языках программирования используется оператор repeat. После него следуют команды (тело), после – оператор until, обозначающий условие окончание процесса.
Для этих двух конструкций возможно зацикливание. В программировании применяется специальный оператор break принудительного окончания процесса.
Цикл со счетчиком в программировании
Для описания цикла с заданным повторением применяют оператор for.
Общий вид блока на языке программирования:
Программа проходит команды из тела и значение счетчика (параметра) становится больше на 1. Чтобы выйти из цикла с фиксированным числом повторений, нужно достичь максимума параметра, который указан в условии задачи.
Сравнение цикличных структур
Блок-схемы повторяющихся алгоритмов позволяют оценить подобие всех 3 видов:
- обязательное наличие условия (для оператора с параметром – это число повторений);
- серия однотипных команд/шагов.
В сложных задачах алгоритм выполнения может содержать любые виды алгоритмических конструкций, в том числе разветвляющиеся циклические алгоритмы.
Хотя все алгоритмы циклической структуры описывают повторяющиеся шаги, у них много отличий.
ВОПРОСЫ И ЗАДАНИЯ
Разгадайте ребус:
1) алгоритм 2) цикл 3) процесс
Особенностью цикличной конструкции является:
1) многократное повторение 2) линейность прохождения 3) условие выбора
Какую циклическую конструкцию описывает эта блок-схема:
1) с предусловием 2) с постусловием 3) со счетчиком
Основное отличие цикла с заданным числом повторений:
1) правило начала цикла до тела 2) правило завершения цикла после тела 3) известное количество прохождений тела цикла
Цикл – это...
1) структура, в которой исход зависит от исходного условия 2) конструкция, в которой нет разветвлений или повторений, все идет линейно 3) многократное повторение определенных действий