Перед прочтением данной статьи, ознакомьтесь с общей теорией о циклах в Паскале.
Синтаксис
Формат оператора цикла с постусловием на языке Паскаль:
repeat
<оператор_1>;
<оператор_2>;
. . .
<оператор_n>;
until <логическое_выражение>;
Алгоритм выполнения
Здесь оператор или группа операторов, следующие после служебного слова repeat (повторять), выполняется при входе в оператор цикла хотя бы один раз. И только после этого вычисляется булево выражение <логическое_выражение> следующее за служебным словом until (до тех пор пока).
Если значение выражение false, оператор или группа операторов выполняются вновь, и так до тех пор, пока выражение не примет значение true.
Подробнее о том, как составлять сложные логические выражения можно узнать тут.
Пример
Определить является ли число простым.
program prostoe;
var
i, N: integer;
begin
write('Введите число: ');
readln('N');
i := 1;
repeat
i := i + 1;
until (N mod i = 0);
if (i = n) then
writeln('Простое число!');
else
writeln('Делиться на ', i);
end.
Разбор алгоритма
- Пользователь вводит число readln и входит в цикл repeat.
- К переменной i прибавляют единицу, если число делиться без остатка на i, то выходим из цикла, иначе возвращаемся в начало цикла и прибавляем к i единицу
- Если результат логического выражения N = i true, то число простое, потому что простое число - это число, которое делиться на единицу и на себя, а во время выполнения алгоритма мы дошли от i = 1 до i = N и больше ни одно число не поделилось на N без остатка.
Задание для практики будет прикреплено к одной из следующих статей, там вы сможете на одном задание использовать сразу три вида цикла и посмотрите наглядно, чем они отличаются.