Проект закрыт, ничего заказать и купить нельзя! Существует лишь для ностальгии создателя!

Цикл с постусловием - Repeat Until

Pascal 2016-02-28 в 09:44 1795

Цикл с постусловием (Repeat Until) используются в паскале, когда тело выполняется хотя бы один раз точно и только после этого проверяется логическое выражение.

Перед прочтением данной статьи, ознакомьтесь с общей теорией о циклах в Паскале.

Синтаксис

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


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.

Разбор алгоритма

  1. Пользователь вводит число readln и входит в цикл repeat.
  2. К переменной i прибавляют единицу, если число делиться без остатка на i, то выходим из цикла, иначе возвращаемся в начало цикла и прибавляем к i единицу
  3. Если результат логического выражения N = i true, то число простое, потому что простое число - это число, которое делиться на единицу и на себя, а во время выполнения алгоритма мы дошли от i = 1 до i = N и больше ни одно число не поделилось на N без остатка.

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

Не можете справиться с заданием?
Специалисты нашего проекта помогут вам справиться с любыми заданиями по программированию!
Чтобы оставлять комментарии, необходимо войти или зарегистрироваться