Учебный курс Программирование на Delphi. Модуль 13: различия между версиями
Строка 1: | Строка 1: | ||
+ | == Использование процедур== | ||
<Center>'''Использование процедур'''</Center> | <Center>'''Использование процедур'''</Center> | ||
Часто в программе появляются участки, выполняющие одни и те же действия с различными данными. | Часто в программе появляются участки, выполняющие одни и те же действия с различными данными. | ||
Строка 29: | Строка 30: | ||
procedure TForm1.BitBtn2Click(Sender: TObject); | procedure TForm1.BitBtn2Click(Sender: TObject); | ||
− | begin | + | begin |
close; | close; | ||
− | end; | + | end; |
procedure TForm1.BitBtn1Click(Sender: TObject); | procedure TForm1.BitBtn1Click(Sender: TObject); | ||
Строка 45: | Строка 46: | ||
z:=x; | z:=x; | ||
label3.Caption:='НОД= '+inttostr(z); | label3.Caption:='НОД= '+inttostr(z); | ||
− | end; | + | end; |
− | end. | + | end. |
*Форма с результатом работы программы | *Форма с результатом работы программы | ||
[[Изображение:-4-1.JPG]] | [[Изображение:-4-1.JPG]] | ||
Строка 66: | Строка 67: | ||
begin | begin | ||
e:=strtofloat(edit1.Text); | e:=strtofloat(edit1.Text); | ||
− | n:=1; z:=1/6; s:=0; | + | n:=1; z:=1/6; s:=0; |
while abs(z)>=e do | while abs(z)>=e do | ||
begin | begin | ||
Строка 93: | Строка 94: | ||
procedure TForm1.BitBtn1Click(Sender: TObject); | procedure TForm1.BitBtn1Click(Sender: TObject); | ||
− | begin | + | begin |
m:=strtofloat(edit1.Text); | m:=strtofloat(edit1.Text); | ||
e:=strtofloat(edit2.Text); | e:=strtofloat(edit2.Text); | ||
− | x1:=m; | + | x1:=m; |
repeat | repeat | ||
x2:=2/3*x1+m/3/sqr(x1); | x2:=2/3*x1+m/3/sqr(x1); |
Версия 10:00, 1 марта 2008
Содержание
Использование процедур
Часто в программе появляются участки, выполняющие одни и те же действия с различными данными. Такие участки лучше всего оформлять в виде подпрограмм. Выделяют два вида подпрограмм: Процедуры и функции. Процедурой называют особенным образом оформленный фрагмент программы, имеющий собственное имя. В заголовке процедуры, может быть задан список формальных параметров.При вызове процедур, формаллные параметры, будут заменены фактическими.
В Delphi7, объявление процедур происходит автоматически при создании действия с элементом. Создать такое действие можно либо просто дважды щёлкнув на объекте (click), либо выбрав нужное действие из подменю events в object inspector
Пример объявления процедуры:
procedure TForm1.Button1Click(Sender: TObject); Эта строка означает, что если нажать (click) на кнопку button1, находящуюся на форме form1, то будут выполнятся действия, которые указаны ниже.
Пример 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.
- Форма с результатом работы программы
Пример 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.
- Форма с результатом работы программы
Пример 3.
- Условие
- Использованные компоненты
- Программный код
var x1,x2,d,e,m:real; procedure TForm1.BitBtn2Click(Sender: TObject); begin close; end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
m:=strtofloat(edit1.Text); e:=strtofloat(edit2.Text);
x1:=m; repeat x2:=2/3*x1+m/3/sqr(x1); d:=abs(x1-x2); x1:=x2; until d<=e;
label3.Caption:='Корень= '+floattostr(x2); end;
end.
- Форма с результатом работы программы
Задание
Таблица 13
Таблица 14
Литература
- Архангельский. Программирование на Delphi 6. – М: БИНОМ, 2002
- Бобровский С. Delphi 7. Учебный курс. – СПб: Питер, 2003
- Культин Н. Основы программирования в Delphi 7. СПб: БХВ-Петербург, 2005.