Как и в случае инструкции while, инструкция repeat Delphi применяется тогда, когда нужно провести повторные вычисление (осуществить организацию цикла), однако количество повторений в процессе создания программы заранее неизвестно, и поэтому это число можно определить лишь в момент выполнения программы, то есть количество зависит от хода вычислений.
Общий вид цикла repeat Delphi:
Общий вид инструкции repeat Delphi представлен ниже:
откуда условие есть выражение типа Boolean, которое определяет условия завершения цикла.
Последовательность цикла repeat Delphi:
Последовательность выполнения инструкции repeat в языке Delphi такова:
- На первом этапе осуществляется выполнение находящихся между служебными словами repeat и untilинструкций тела цикла.
- Далее определяется, какое значение примет выражение условие. Если это условие оказалось ложным (то есть условие приняло значение False), то происходит повторное выполнение инструкций тела цикла.
- Если же условие оказалось истинным (то есть оказалось равным True), то цикл repeat завершает свое выполнение.
В итоге получаем, что инструкции цикла, которые находятся между зарезервированными словами repeat и until, повторяются, пока условие является ложным (то есть пока условие принимает значение False).
Представим алгоритм (рис. ниже), который реализует инструкцию repeat:
Заметка. Инструкции цикла, располагающиеся между служебными словами repeat и until, должны выполняться минимум один раз. Чтобы цикл завершил свое выполнение, нужно следить за тем, чтобы инструкции цикла repeat, размещающиеся между зарезервированными словами repeat и until, в конце концов, изменяли значения переменных, которые входят в состав выражения условие.
Пример программы с циклом repeat Delphi:
Создадим программу, использующую инструкцию repeat, которая бы проводила проверку числа (введенного пользователем с клавиатуры), является ли данное число простым. Из математики известно, что число именуется простым в случае, когда оно делится только на само себя и на единицу, например, число 42 является обычным, поскольку делится на 42, на 1, на 2, на 3, на 6, на 7, на 21, а число 11 как раз и является простым (делится только на 13 и на 1.
В программе, чтобы проверить число n, является ли оно простым, можно при помощи деления числа n на 2, на 3 и т.д. до n и последующей проверкой остатка, появляющегося после каждого деления. Когда очередное деление завершилось появлением нулевого остатка, то это значит, что определено число, на которое число n делится нацело без остатка.
Проведя сравнение двух чисел: числа n и числа, на которое число n поделилось без остатка — можно установить, является ли введенное пользователем число n простым. На рисунке ниже представлена форма приложения под названием «Простое число«: