Раздел 3.4.2. Цикл с неизвестным количеством повторений WHILE

В цикле с неизвестным количеством повторений вместо счётчика цикла используется условие выхода из цикла.
Оператор цикла while имеет следующую форму:

while условие do оператор // эту строку можно интерпретировать как:
пока выполняется <условие> выполнять <оператор>

Условие представляет собой выражение логического типа и может быть простым, с использованием операций отношения (<, >, <=, >=, =, <>), или составным с ис-пользованием логических операций (‘и’, ’или’).
Оператор после do называется телом цикла.
Перед каждой итерацией цикла условие проверяется, и если оно истинно, то выполняется тело цикла, в противном случае происходит выход из цикла.

Если условие всегда оказывается истинным, то может произойти зацикливание:

while 2>1 do
write(1);

Для выхода из зациклившейся программы, можно использовать комбинацию клавиш Ctrl-F2 или кнопку Stop.
Цикл WHILE является циклом с предусловием, т.е. сначала проверяется условие цикла и только в том случае, если оно истинно, выполняется тело цикла.

Раздел 3.4.3. Цикл с неизвестным количеством повторений REPEAT.

Оператор цикла repeat имеет следующую форму:

repeat операторы until условие // эту строку можно понимать как:
повторять < операторы > до тех пор, пока не выполнится < условие >

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

Если условие всегда оказывается ложным, то может произойти зацикливание:

repeat
write(1);
until 2=1;

Для выхода из зациклившейся программы, можно использовать комбинацию клавиш Ctrl-F2 или кнопку Stop.
Цикл REPEAT является циклом с постусловием, т.е. сначала выполняется тело цикла, затем проверяется условие цикла и до тех пор пока оно не выполнится, (т.е. пока условие ложно) цикл будет повторяться. Из-за того, что в циклах этого типа выполнение цикла происходит раньше проверки условия, в них бывает трудно найти ошибки. Поэтому предпочтительнее использовать циклы с предусловием, тем более, что ими всегда можно заменить циклы с постусловием.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: