Информатика

Урок 6: Конструкция повторения

Алгоритмическая конструкция повторения

Циклы и их виды, повторение в программировании, сравнение циклических структур
 

План урока:

Циклы, их виды

Повторение в программировании

Сравнение цикличных структур 

 

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

Циклы, их виды

Многие операции, действия выполняются однотипно много раз. Этот процесс повторения называют циклом, а повторяемая последовательность – телом цикла. Процедуру с повторяющимися этапами называют циклической.

Каждое повторение действий в алгоритмах – итерация.

1 konstrukciya povtoreniya
 

Выделяют 3 основных вида повторяющихся структур:

  • с условием выполнения цикла (предусловием);
  • с критерием завершения (постусловием);
  • с указанным числом повторений цикла.

Описывать подобные процессы удобно схематично или при помощи команд.

2 konstrukciya povtoreniya

 

Цикл с предусловием

Данную конструкцию еще встречается как «цикл-пока», потому что пока выполняется условием, программа/исполнитель будет проходить шаги снова и снова.Описанный критерий, логическое сравнение - причина начала прохождения повторяемых шагов/команд.

Описание цикла с условием двумя способами:

3 konstrukciya povtoreniya

Порядок выполнения:

  • Проверка критерия/логического сравнения.
  • Пока результат «Да», «проигрывать по кругу» однотипные операции.
  • Если ответ на условие отрицательный, закончить процедуру.

Особенность этой конструкции – существуют такие условия, когда команды не будут выполнены ни разу.

Циклический алгоритм, примеры:

  • Написать алгоритм постройки забора из кирпичей высотой 2 м.

алг забор

нач

нц пока есть кирпичи и раствор цемента

если высота забора < 2,0 м

то намазать слой цемента

положить слой кирпичей

иначе сделать сверху декоративный слой

все

кц

кон

  • Нарисовать шуточный (но действующий) алгоритм покраски забора «от начала и до обеда.

4 konstrukciya povtoreniya
 

  • Написать алгоритм вычисления частного и остатка от числа, не используя операции деления. В программе используются целые числа.

Заменим деление вычитанием, будем выполнять отнимание, пока остаток не будет меньше вычитаемого – условие выполнения. Число вычитаний и будет частному от деления, это счетчик цикла, а разность, выполненная в последний раз – остаток от деления.

Обозначим x – делимое, y – делитель, q – частное от деления, r – остаток.

5 konstrukciya povtoreniya

Особенности цикла-Пока:

  • Если условие ни разу не выполняется, то команды из тела не будут выполнены ни разу. Это нормально, это один из вариантов – нет необходимости в выполнении команд.
  • Если же условие всегда истинно, тело операции будут выполняться бесконечное число раз. Такое положение называется зацикливанием. Фактически программа «зависает» и не сможет завершиться сама. Рекомендуется предусмотреть этот вариант.

Циклический алгоритм с постусловием

Такую конструкцию называют «цикл-До». Здесь условие является основанием окончания выполнения команд из тела, то есть, они выполнятся хотя бы раз, даже если условие ложно.

Порядок выполнения цикла с заданным условием:

  • Выполнение команд из тела.
  • Проверка условия (сравнения определенной величины с заданной).
  • Пока ответ на условие «Нет», повторять описанные в теле операции/шаги.
  • Если ответ на условие положительный, закончить процедуру.

Описание структуры с постусловием языком блок-схем и на алгоритмическом языке:

6 konstrukciya povtoreniya

Особенности циклов с заданным условием окончания работы:

  • Будет хотя бы одно выполнение процедуры;
  • Условие описывает завершение повторяемых действий.

Пример: написать программу покраски забора.

7 konstrukciya povtoreniya

Блок схема циклического алгоритма.

Цикл с параметром

Используется для задач, в которых известно количество повторений однотипных шагов, то есть заранее известно, сколько раз нужно выполнить действия. Параметр в этой процедуре– количество повторений цикла(счетчик повторов).

7 konstrukciya povtoreniya

Особенность алгоритмической конструкции повторение с параметром – не бывает зацикливаний, ведь после выполнений указанного числа повторов процесс остановится.

Циклы с известным числом повторений вокруг нас: прием курса лекарств, расписание уроков на неделю, посадка известного числа саженцев, поклейка определенного числа полос обоев.

Пример: написать алгоритм разгрузки и переноса 15 мониторов из авто в компьютерный класс.

9 konstrukciya povtoreniya

 

Повторение в программировании

Не нужно недооценивать изучение простейших алгоритмических конструкций. Следование, ветвление, повторение – важные конструкции, операторы, используемые в программировании.

10 konstrukciya povtoreniya

Зная их особенности, умея строить блок-схемы и писать решение задач на алгоритмическом языке, позволяет изучать большинство языков программирования легко и быстро.

Большинство задач можно описать при помощи первой конструкции, иногда это неудобно, для каждого типа заданий лучше подбирать оптимальный по выполнению алгоритм.

11 konstrukciya povtoreniya
 

Цикл начала работы в программировании

Так, описанная выше команда в программировании обозначается словом While. Этот оператор обозначает многократное прохождение участка кода. Это очень востребованная операция.

"While" обозначает на английском "пока". Но не как прощание, а как то, что «делается пока, что-то происходит/выполняется». Этот оператор используется во всех языках программирования, использующих структурный подход (Pascal, Python). Обобщено его записывают так:

12 konstrukciya povtoreniya

Как видим, это очень похоже на запись на алгоритмическом языке – написанное просто, структурировано и понятно.

Подход такой же, как и цикле-пока – проверяется условие, если оно «True», выполняется тело с командами, если «False» – блок программы заканчивается. В этой конструкции не выполненное условие - окончания работы цикла. После этого программа перейдет к следующему блоку команд, то есть «выйдет из цикла».

13 konstrukciya povtoreniya
 


Цикл окончания работы в программировании

Для записи такой повторяемой конструкции в языках программирования используется оператор repeat. После него следуют команды (тело), после – оператор until, обозначающий условие окончание процесса.

14 konstrukciya povtoreniya

Для этих двух конструкций возможно зацикливание. В программировании применяется специальный оператор break принудительного окончания процесса.

15 konstrukciya povtoreniya
Источник


Цикл со счетчиком в программировании

Для описания цикла с заданным повторением применяют оператор for.

Общий вид блока на языке программирования:

16 konstrukciya povtoreniya

Программа проходит команды из тела и значение счетчика (параметра) становится больше на 1. Чтобы выйти из цикла с фиксированным числом повторений, нужно достичь максимума параметра, который указан в условии задачи.


Сравнение цикличных структур

Блок-схемы повторяющихся алгоритмов позволяют оценить подобие всех 3 видов:

  • обязательное наличие условия (для оператора с параметром – это число повторений);
  • серия однотипных команд/шагов.

17 konstrukciya povtoreniya

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

Хотя все алгоритмы циклической структуры описывают повторяющиеся шаги, у них много отличий.

18 konstrukciya povtoreniya

 

ВОПРОСЫ И ЗАДАНИЯ

Вопрос: 1
Разгадайте ребус:

19 konstrukciya povtoreniya

1алгоритм
2цикл
3процесс
Ответить
2
Вопрос: 2
Особенностью цикличной конструкции является:
1многократное повторение
2линейность прохождения
3условие выбора
Ответить
1
Вопрос: 3
Какую циклическую конструкцию описывает эта блок-схема:

20 konstrukciya povtoreniya

1с предусловием
2с постусловием
3со счетчиком
Ответить
1
Вопрос: 4
Основное отличие цикла с заданным числом повторений:
1правило начала цикла до тела
2правило завершения цикла после тела
3известное количество прохождений тела цикла
Ответить
3
Вопрос: 5
Цикл – это...
1структура, в которой исход зависит от исходного условия
2конструкция, в которой нет разветвлений или повторений, все идет линейно
3многократное повторение определенных действий
Ответить
3
Допущено ошибок:
Оценка:
Подробнее
Ваши ответы:
1 вопрос:

Разгадайте ребус:

19 konstrukciya povtoreniya


1) алгоритм 2) цикл 3) процесс
2 вопрос:

Особенностью цикличной конструкции является:
1) многократное повторение 2) линейность прохождения 3) условие выбора
3 вопрос:

Какую циклическую конструкцию описывает эта блок-схема:

20 konstrukciya povtoreniya


1) с предусловием 2) с постусловием 3) со счетчиком
4 вопрос:

Основное отличие цикла с заданным числом повторений:
1) правило начала цикла до тела 2) правило завершения цикла после тела 3) известное количество прохождений тела цикла
5 вопрос:

Цикл – это...
1) структура, в которой исход зависит от исходного условия 2) конструкция, в которой нет разветвлений или повторений, все идет линейно 3) многократное повторение определенных действий
Посмотреть ответы
Правильные ответы:
1 вопрос: цикл
2 вопрос: многократное повторение
3 вопрос: с предусловием
4 вопрос: известное количество прохождений тела цикла
5 вопрос: многократное повторение определенных действий