Оголошення процедури

В загальному вигляді оголошення процедури виглядає так:

procedure Ім'я (var параметр1: тип1; ... var параметрК: тіпК); var

// тут оголошення локальних змінних

begin

// тут інструкції процедури

end;

де:

  • procedure – зарезервоване слово мови Delphi, що означає, що далі йде оголошення процедури;
  • ім’я – ім’я процедури, яке використовується для виклику процедури;
  • параметр K – формальний параметр, змінна, яка використовується в інструкціях процедури. Слово var перед ім’ям параметра не є обов’язковим. Однак якщо воно стоїть, то це означає, що в інструкції виклику процедури фактичним параметром обов’язково повинна бути змінна.

Параметри процедури використовуються для передачі даних в процедуру, а також для повернення даних з процедури в викликала її програму.

Як приклад в лістингу 6.5 приведена процедура вирішення квадратного рівняння (яке в Загалом вигляді записується так: ах +bx+c=0

 У процедури шість параметрів: перші три призначені для передачі в процедуру вихідних даних – коефіцієнтів рівняння; параметри xi і х2 використовуються для повернення результату – коренів рівняння; параметр ok служить для передачі інформації про те, що рішення існує.

Лістинг 6.5. Процедура SgRoot

// вирішує квадратне рівняння
procedure SqRoot (a, b, c: real;

var xl, x2: real;

var ok: boolean);

{ a, b, c - коефіцієнти рівняння x1, x2 - корені рівняння 
ok = True - рішення є ok = False - рішення немає}

var
d : Real; // дискриминант

begin
d: = Sqr (b) - 4 * a * c; if d < 0 then
ok : = False // рівняння не має рішення

else

begin

ok := True;

x1 := (-b + Sqrt(d)) / (2*a) ; x2 := (b + Sqrt(d)) / (2*a);

end;

end;