Инструкция repeat,
как и инструкция while, используется в программе в том случае, если необходимо
выполнить повторные вычисления (организовать цикл), но число повторений во время
разработки программы неизвестно и может быть определено только во время работы
программы, т. е. определяется ходом вычислений.
В общем виде инструкция
repeat записывается следующим образом:
repeat
// инструкции unti1
условие
где условие — выражение
логического типа, определяющее условие завершения цикла.
Инструкция repeat выполняется
следующим образом:
1. Сначала выполняются
находящиеся между repeat и until инструкции тела цикла.
2. Затем вычисляется
значение выражения условие. Если условие ложно (значение выражения условие равно
False), то инструкции тела цикла выполняются еще раз.
3. Если условие истинно
(значение выражения условие равно True), то выполнение цикла прекращается.
Таким образом, инструкции
цикла, находящиеся между repeat и unti1, выполняются до тех пор, пока условие
ложно (значение выражения условие
равно False).
Алгоритм, соответствующий
инструкции repeat, представлен на рис. 2.16.
Рис. 2.16.
Алгоритм, соответствующий инструкции repeat
Внимание!
Инструкции цикла, находящиеся между repeat и until, выполняются как минимум один раз. Для того чтобы цикл завершился, необходимо, чтобы инструкции цикла, располагающиеся между repeat и until, изменяли значения переменных, входящих в выражение условие.
В качестве примера
использования инструкции repeat рассмотрим программу, которая проверяет, является
ли введенное пользователем число простым (как известно, число называется простым,
если оно делится только на единицу и само на себя). Например, число 21 — обычное
(делится на 3), а число 17 — простое (делится только на 1 и на 17).
Проверить, является
ли число п простым, можно делением числа п на два, на три и т. д. до п и проверкой
остатка после каждого деления. Если после очередного деления остаток равен нулю,
то это означает, что найдено число, на которое п делится без остатка. Сравнив
п и число, на которое п разделилось без остатка, можно определить, является
ли п простым числом.
Форма приложения Простое
число изображена на рис. 2.17, программа приведена в листинге 2.7.
Рис. 2.17.
Форма приложения Простое число
Листинг 2.7.
Простое число
unit
simple_;
interface
uses
Windows,
Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1
= class(TForm)
Button1:
TButton; // кнопка Проверить
Label1:
TLabel;
Edit1:
TEdit; // поле ввода числа
Label2:
TLabe1; // поле вывода результата
procedure
ButtonlClickfSender: TObject); private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R
*.DFM}
procedure TForm1.ButtonlClick(Sender: TObject) ;
var
n:
integer; // проверяемое число d: integer; // делитель
r: integer; // остаток от деления п на d
begin
n:=StrToInt(Editl.text);
d
:= 2; // сначала будем делить на два
repeat
r
:= n mod d;
if
r <> 0 // n не разделилось нацело на d
then
d := d + 1;
until r = 0; // найдено число, на которое п разделилось без остатка
label2.caption:=Edit1.text;
if
d = n
then Iabel2.caption:=label2.caption + ' — простое число.'
else label2.caption:=label2.caption + ' — обычное число.';
end;
end.
Понятие же "физического вакуума" в релятивистской квантовой теории поля подразумевает, что во-первых, он не имеет физической природы, в нем лишь виртуальные частицы у которых нет физической системы отсчета, это "фантомы", во-вторых, "физический вакуум" - это наинизшее состояние поля, "нуль-точка", что противоречит реальным фактам, так как, на самом деле, вся энергия материи содержится в эфире и нет иной энергии и иного носителя полей и вещества кроме самого эфира.
В отличие от лукавого понятия "физический вакуум", как бы совместимого с релятивизмом, понятие "эфир" подразумевает наличие базового уровня всей физической материи, имеющего как собственную систему отсчета (обнаруживаемую экспериментально, например, через фоновое космичекое излучение, - тепловое излучение самого эфира), так и являющимся носителем 100% энергии вселенной, а не "нуль-точкой" или "остаточными", "нулевыми колебаниями пространства". Подробнее читайте в FAQ по эфирной физике.