Лекция 20.

Repeat

Оператор цикла REPEAT.

Оператор цикла WHILE.

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

Общий вид оператора:

WHILE <выражение>DO<тело цикла>

Где <выражение> - условие продолжения повторений, представляет собой логическое выражение; тело цикла - один или несколько операторов.

Перед каждым выполнением тела цикла вычисляется значение выражения. Если выражение имеет значение TRUE, тело цикла выполняется. Если значение выражения FALSE, происходит выход из цикла и выполняется первый после WHILE оператор.

Пример, вывод на экран чисел от 1 до 100

k: =0;

wile k<100 do

begin

k: =k+1;

writeln (k);

end;

WHILE True DO WRITE (′Бесконечный цикл′);

WHILEI=I DO WRITE (′Бесконечный цикл′);

PROGRAM Demo_ WHILE ;{ заголовок программы}

Var I, Sum: integer; {объявление переменных}

BEGIN {начало раздела операторов}

I: =0; Sum: 0 ;{ обнуление I, Sum}

WHILE I<12 DO BEGIN {начало оператора WHILE}

WRITELN (′I=′, I) ;{ текущее значение I}

Sum: =Sum+I; {наращивание суммы}

I: =I+2 {увеличение I (0, 2, 4, 6, 8, 10)}

END; {конец оператора WHILE}

WRITELN (′Сумма четырех чисел′, Sum) {вывод результата}

END. {конец программы}

Операторы завершения цикла. Для всех операторов цикла выход цикла осуществляется как вследствие естественного окончания оператора цикла, так и с помощью операторов перехода GOTO и выхода. В версии ТУРБО ПАСКАЛЬ 7,0 определены стандартные процедуры BREAK и CONTINUE. Процедура BREAK выполняет безусловный выход из цикла. Процедура CONTINUE обеспечивает переход к началу новой итерации цикла.

 

Цикл типа Repeat называется циклом последующего условия, т.е. операторы входящие в тело цикла выполняются, по крайней мере, один раз.

Общий вид оператора:

<оператор>

until <условие>

Между Repeat и until можно помещать любое количество операторов, в том числе и не одного. Слова Repeat и until сами являются операторами-скобками, поэтому операторы, расположенные между ними не обязательно заключать в скобки Begin-end;

Цикл продолжается до тех пор, пока условия заданные после until не станет истинным, как только оно станет истинным, цикл прекращается.

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

Цикл Repeat until Keypressed-удерживает картинку на экране.

Пример, вывод на экран чисел от 1 до 100

k:=0;

repeat

k:=k+1

writeln (k);

until k>100;

PROGRAM Demo_REPEAT; { заголовок программы}

Var I, Sum: integer; {объявление переменных}

BEGIN {начало раздела операторов}

I: =0; Sum: 0 ;{ обнуление I, Sum}

REPEAT {начало оператора REPEAT}

WRITELN (′I=′, I) ;{ вывод текущее значение I}

Sum: =Sum+I; {наращивание суммы}

I: =I+2 {увеличение I (0, 2, 4, 6, 8, 10)}

UNTIL (I>10) ;{ конец оператора REPEAT}

WRITELN (′Сумма четырех чисел′, Sum) {вывод результата}

END. {конец программы}

Контрольные вопросы.

1.С помощью каких операторов можно организовать циклические вычисления?

2.Когда используется оператор FOR?

3.Когда используется цикл WHILE?

4.Каков общий вид оператора REPEAT?


Тема: «Понятие подпрограмм. Процедуры и функции».