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

Материал из НГПУ им. К.Минина
Перейти к: навигация, поиск

Использование процедур

Использование процедур

Часто в программе появляются участки, выполняющие одни и те же действия с различными данными. Такие участки лучше всего оформлять в виде подпрограмм. Выделяют два вида подпрограмм: Процедуры и функции. Процедурой называют особенным образом оформленный фрагмент программы, имеющий собственное имя. В заголовке процедуры, может быть задан список формальных параметров.При вызове процедур, формаллные параметры, будут заменены фактическими.

В Delphi7, объявление процедур происходит автоматически при создании действия с элементом. Создать такое действие можно либо просто дважды щёлкнув на объекте (click), либо выбрав нужное действие из подменю events в object inspector

Пример объявления процедуры:

procedure TForm1.Button1Click(Sender: TObject); Эта строка означает, что если нажать (click) на кнопку button1, находящуюся на форме form1, то будут выполнятся действия, которые указаны ниже.


Fcreate.jpg

Пример 1.

  • Условие

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

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


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

var a,b,x,y,z:integer;

procedure TForm1.BitBtn2Click(Sender: TObject);

begin \\Начало процедуры

close;

end;
  • Конец процедуры
procedure TForm1.BitBtn1Click(Sender: TObject);
  • Т.е. при нажатии на кнопку BitBtn1 будет сделано следующее
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.

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

var n:integer;

     s,z,e:real;

procedure TForm1.BitBtn2Click(Sender: TObject); begin close; end;

procedure TForm1.BitBtn1Click(Sender: TObject); begin e:=strtofloat(edit1.Text);

n:=1; z:=1/6; s:=0;
   while abs(z)>=e do
     begin
       s:=s+z;
       n:=n+1;                          
       z:=n/((n+1)*(n+2));
     end;

label2.Caption:='Сумма= '+floattostr(s); end;

end.

Задание

Таблица 13

Таблица 14

Литература

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


Ссылки

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

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