Учебный курс Программирование на Delphi. Модуль 7 — различия между версиями

Материал из НГПУ им. К.Минина
Перейти к: навигация, поиск
 
Строка 19: Строка 19:
 
*Использованные компоненты
 
*Использованные компоненты
  
*Программный код
 
program  Evklid;
 
  
    var a, b, x, y, z: integer;
+
*Программный код
 +
var a,b,x,y,z:integer;
 +
procedure TForm1.BitBtn2Click(Sender: TObject);
 
begin
 
begin
    writeln ('Введите числа');
+
close;
    readln (a, b);
+
end;
    x:=a; y:=b;
+
procedure TForm1.BitBtn1Click(Sender: TObject);
    while (x< >y) do
+
begin
        if x > y  
+
a:=strtoint(edit1.Text);
            then x:=x-y
+
b:=strtoint(edit2.Text);
            else y:=y-x;
+
  x:=a; y:=b;
    z: = x;
+
    while (x<>y) do
  writeln ('НОД=', z)
+
      if x>y then x:=x-y
 +
              else y:=y-x;
 +
      z:=x;
 +
label3.Caption:='НОД= '+inttostr(z);
 +
end;
 
end.
 
end.
 
 
*Форма с результатом работы программы
 
*Форма с результатом работы программы
 
[[Изображение:-4-1.JPG]]
 
[[Изображение:-4-1.JPG]]

Версия 13:01, 26 февраля 2008

Программирование на Delphi циклов с условием

Для программирования циклов с условием в Delphi существуют оператор цикла с предусловием WHILE и оператор цикла с постусловием REPEAT.

Формат операторов:

while условие do оператор;

repeat операторы until условие;

условие – логическое выражение.

В операторе while сначала вычисляется логическое выражение и если оно истинно, то выполняется оператор. После этого управление возвращается в начало цикла на вычисление логического выражения. Если условие ложно, оператор завершает работу и управление передаётся на следующий оператор.

В операторе repeat сначала выполняются операторы, и только потом вычисляется логическое выражение. Если оно ложно, то управление возвращается в начало цикла, повторяется выполнение операторов тела цикла. Если условие истинно – то выход из цикла.

Пример 1.

  • Условие

Алгоритм Евклида для подсчета НОД (наибольшего общего делителя) двух натуральных чисел.

  • Использованные компоненты


  • Программный код

var a,b,x,y,z:integer; procedure TForm1.BitBtn2Click(Sender: TObject); begin close; end; procedure TForm1.BitBtn1Click(Sender: TObject); begin a:=strtoint(edit1.Text); b:=strtoint(edit2.Text);

 x:=a; y:=b;
   while (x<>y) do
     if x>y then x:=x-y
             else y:=y-x;
     z:=x;

label3.Caption:='НОД= '+inttostr(z); end; end.

  • Форма с результатом работы программы

-4-1.JPG

Пример 2.

  • Условие
  • Использованные компоненты
  • Программный код
  • Форма с результатом работы программы

Пример 3.

  • Условие
  • Использованные компоненты
  • Программный код
  • Форма с результатом работы программы


Задание

Таблица 13

Таблица 14

Литература

  1. Архангельский. Программирование на Delphi 6. – М: БИНОМ, 2002
  2. Бобровский С. Delphi 7. Учебный курс. – СПб: Питер, 2003
  3. Культин Н. Основы программирования в Delphi 7. СПб: БХВ-Петербург, 2005.


Ссылки

Учебный курс Программирование на Delphi

Учебный план курса Программирование на Delphi