Процедуры и функции в Delphi

При разработке больших программных продуктов принято разбивать программу на несколько логических частей, называемых подпрограммами. Это улучшает структуру программы, упрощает ее понимание, делает программу более прозрачной и читаемой, позволяя тем самым избежать многих ошибок. Если программа предназначена для решения задачи в целом, то подпрограмма используется для выполнения логически завершенной последовательности действий.

В языке Delphi представлены две разновидности подпрограмм – процедуры и функции. Принципиальное отличие между подпрограммами заключается в их оформлении и способе передачи данных в подпрограмму и обратно. Все подпрограммы делятся на стандартные (определенные в языке) и создаваемые программистом (пользовательские).

Структура подпрограммы очень похожа на структуру программы и в самом общем случае состоит из таких частей:

– заголовка подпрограммы;
– раздела объявления меток;
– раздела объявления констант;
– раздела объявления типов;
– раздела объявления переменных;
– раздела процедур и функций;
– тела подпрограммы.

Обязательными частями подпрограммы являются ее заголовок и тело. Обращение к подпрограмме осуществляется через упоминания ее имени и называется вызовом. Разделы объявления меток, констант. Типов и переменных соответствует аналогичным разделам программы. Создание этих разделов происходит по мере необходимости. Раздел процедур и функций может содержать описания собственных процедур и функций. Тело подпрограммы содержит исполняемые операторы. Под описанием подпрограммы понимается указание ее заголовка и тела.

Заголовок процедуры имеет вид: Procedure имя (параметры);

Заголовок функции: Function имя (параметры): тип;

Слова Procedure и Function являются зарезервированными.

Пример процедуры нажатия на кнопку Button:

procedure TForm1.Button1Click(Sender: TObject);

var a,b:Integer;

c:Real;

begin

//ввод данных в компоненты Edit1 и Edit2; преобразование из строки в целое число и запись в переменные a и b

a:=StrToInt(Edit1.Text);

b:=StrToInt(Edit2.Text);

//проверка условия – если число b не равно 0, то переменной c присваивается результат деления числа a на число b, иначе, если число равно 0, выводится с помощью процедуры ShowMessage сообщения о том, что происходит деление на 0.

if b<>0 then begin

c:= a/b;

Edit3.Text:=FloatToStr(c);

end

else

ShowMessage(‘Деление на 0’);

end;

Добавить комментарий