Иллюстрированный самоучитель по Delphi 7 для начинающих

Инструкция repeat

В качестве примера использования инструкции repeat рассмотрим программу, которая проверяет, является ли введенное пользователем число простым (как известно, число называется простым, если оно делится только на единицу и само на себя). Например, число 21 – обычное (делится на 3), а число 17 – простое (делится только на 1 и на 17).

Проверить, является ли число n простым, можно делением числа п на два, на три и т. д. до п и проверкой остатка после каждого деления. Если после очередного деления остаток равен нулю, то это означает, что найдено число, на которое п делится без остатка. Сравнив п и число, на которое п разделилось без остатка, можно определить, является ли п простым числом.

Форма приложения Простое число изображена на рис. 2.17, программа приведена в листинге 2.7.

Иллюстрированный самоучитель по Delphi 7 для начинающих › Управляющие структуры языка Delphi › Инструкция repeat
Рис. 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.
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.