Цикл с постусловием «repeat».
Цикл с постусловием, как и с предусловием используется в том случае, если некоторую последовательность действий (инструкций программы) надо выполнить несколько раз, причём необходимое число повторений неизвестно и может быть определено только во время работы.
Формат записи:
repeat
//
выполняемые операторы
until условие
Действие цикла: Сначала выполняются операторы между repeat и until, затем вычисляется значение условия. Если условие ложно (False) операторы выполняются ещё раз, т.д. Если условие истинно (True) – действие цикла прекращается.
Задача. Используя в качестве примера приложение
«Цикл repeat» из папки
«Задание», составить проект, который проверяет
является ли введённое число простым (т.е. делится только на единицу и на само
на себя).
Код программы:
Примечание: в программе проверяется деление числа N на 2, 3 и т.д. до N и проверкой остатка после каждого деления. Если остаток равен 0, и это число равно N, то оно – простое число.
procedure TForm1.Button1Click(Sender: TObject);
var
N: integer; // проверяемое число
d: integer; // делитель
r: integer; // остаток от деления N на d
begin
N:=StrToInt(Edit1.text);
d := 2; // сначала будем делить на два
repeat
r := N mod d;
if r <> 0 // N не разделилось нацело на d
then d := d + 1;
until r = 0; // повторять пока не найдено число на N делится без остатка
label2.caption:=Edit1.text;
if d = N
then
label2.caption:=label2.caption + ' - простое число.'
else
label2.caption:=label2.caption + ' - обычное число.';
end;