- •Лабораторная работа № 3. (часть1)
- •Цель работы:
- •Порядок выполнения работы
- •Выполнить практическую часть работы.
- •Контрольные вопросы
- •Краткие теоретические сведения
- •Оператор цикла с параметром
- •Цикл с предпроверкой условия
- •Цикл с постпроверкой условия
- •Вложенные циклы
- •Операторы Break и continue.
- •Индивидуальные задания
Цикл с постпроверкой условия
Оператор цикла с постпроверкой условия имеет следующий формат:
Repeat <тело цикла> Until <условие>
Здесь Repeat, Until – зарезервированные слова («Повторять», «пока не [выполнится условие]»);
<тело цикла> - произвольная последовательность операторов;
<условие> - выражение логического типа.
Операторы тела цикла всегда выполняются хотя бы один раз, после чего вычисляется значение <условие>: если его значение ложно (FALSE), операторы тела цикла повторяются, в противном случае оператор Repeat завершает свою работу.
Блок-схема данного оператора представлена на рис. 3.
Рис. 3 Блок-схема цикла с постпроверкой условия
Пример 3. Дано натуральное число N>10. Найти первую цифру данного числа.
Отметим отличия и особенности хорошего стиля работы с рассмотренными циклическими операторами.
Цикл с предусловием While (пока условие истинно) |
Цикл с постусловием Repeat (до истинности условия) |
|
|
|
|
|
|
|
|
|
|
|
|
Цикл со счетчиком (с параметром) For |
|
|
|
|
|
|
|
|
|
|
|
Вложенные циклы
В реальной жизни мы часто встречаем ситуации, когда один цикл вложен внутрь другого. Например, смена месяцев (когда пройдет 12 месяцев - сменится год), смена дней (когда пройдет 30 дней - сменится месяц), смена суток (когда пройдет 24 часа - сменится день), смена часов (когда пройдет 60 минут - сменится час) и т.д. Как запрограммировать данную ситуацию? Существует такая структура – цикл в цикле. Называется она “вложенные циклы”.
Оператор, который выполняется в цикле, сам может быть циклом. Это относится ко всем видам циклов. В результате мы получаем вложенные циклы.
Механизм работы вложенных циклов удобнее всего рассмотреть на примере вложенных циклов с параметром. Пусть нам нужно описать работу электронных часов, начиная с момента времени 0 часов, 0 минут, 0 секунд. Значение минут станет равным 1 только после того, как секунды «пробегут» все последовательные значения от 0 до 59. Часы изменят свое значение на 1 только после того, как минуты «пробегут» все последовательные значения от 0 до 59. Таким образом, вывод всех значений времени от начала суток до конца суток может быть представлен следующим фрагментом программы:
For h:=0 to 23 do For m:=0 to 59 do For s:=0 to 59 do Writeln(h,’:’,m,’:’,s);
Внутренний и внешний циклы могут быть любыми из трёх рассмотренных ранее видов: циклами с параметром, циклами с предусловием или циклами с постусловием. Правила организации как внешнего, так и внутреннего циклов такие же, как и для простого цикла каждого из этих видов. Но при использовании вложенных циклов необходимо соблюдать следующее условие: внутренний цикл должен полностью укладываться в циклическую часть внешнего цикла.
Необходимо подчеркнуть, что при организации вложенных циклов необходимо соблюдать следующее условие: внутренний цикл должен полностью укладываться во внешний, т.е. изменение внешнего цикла происходит только тогда, когда полностью отработает внутренний цикл.
