Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Пример 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.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.