Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Пример 4. В качестве примера использования инструкции repeat рассмотрим программу, которая проверяет, является ли введенное пользователем число простым (как известно
В качестве примера использования инструкции 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.
|