![]() |
![]() |
![]() |
Инструкция 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.
![]() |
![]() |
![]() |
Когда тот или иной физик использует понятие "физический вакуум", он либо не понимает абсурдности этого термина, либо лукавит, являясь скрытым или явным приверженцем релятивистской идеологии.
Понять абсурдность этого понятия легче всего обратившись к истокам его возникновения. Рождено оно было Полем Дираком в 1930-х, когда стало ясно, что отрицание эфира в чистом виде, как это делал великий математик, но посредственный физик Анри Пуанкаре, уже нельзя. Слишком много фактов противоречит этому.
Для защиты релятивизма Поль Дирак ввел афизическое и алогичное понятие отрицательной энергии, а затем и существование "моря" двух компенсирующих друг друга энергий в вакууме - положительной и отрицательной, а также "моря" компенсирующих друг друга частиц - виртуальных (то есть кажущихся) электронов и позитронов в вакууме.
Однако такая постановка является внутренне противоречивой (виртуальные частицы ненаблюдаемы и их по произволу можно считать в одном случае отсутствующими, а в другом - присутствующими) и противоречащей релятивизму (то есть отрицанию эфира, так как при наличии таких частиц в вакууме релятивизм уже просто невозможен). Подробнее читайте в FAQ по эфирной физике.
|
![]() |