Лекция 06 Процедуры и функции (151028)
.pdfПодпрограммы
Три составные части подпрограммы:
-заголовок;
-блок локального описание данных;
-тело подпрограммы.
11
Заголовок подпрограммы
Три составные части заголовка:
-ключевое слово, характеризующее тип подпрограммы (procedure или function);
-список формальных параметров, через которые процедура связана с вызывающей программой (указывается в круглых скобках);
-тип возвращаемого значения (только для function).
12
Процедуры и функции
Procedure p1(x: integer; s: string); Function f1(a1, a2, a3: real): real;
Procedure p2;
Function f2: integer;
Procedure p3(r: integer; pi: real = 3.14);
13
Структура процедуры
Procedure Имя_процедуры(список формальных параметров);
Разделы описания типов, констант, переменных, процедур, функций, меток
begin
Раздел операторов (тело процедуры)
end;
14
Вычисление площади треугольника по формуле Герона
procedure Str(x,y,z:real;var S:real); var p:real;
begin p:=(x+y+z)/2;
S:=sqrt(p*(p-x)*(p-y)*(p-z));
end;
15
Структура функции
Function Имя_функции(список параметров):тип;
Разделы описания типов, констант, переменных, процедур, функций, меток
begin
Раздел операторов (тело функции)
Имя_функции:= <...>;
или result: = <...>;
end;
16
Возвращение результата из функции
- через имя функции
Function sum (a,b: integer): integer;
Begin
sum := a+b;
End;
17
Возвращение результата из функции
- через локальную переменную result
Function sum (a,b: integer): integer;
Begin
result := a+b;
End;
18
Вычисление площади треугольника по формуле Герона
function S_tr(x,y,z:real):real; var p: real;
begin p:=(x+y+z)/2;
S_tr:=sqrt(p*(p-x)*(p-y)*(p-z));
end;
19
Блок-схема подпрограммы-функции поиска максимального из двух чисел
f_max(p1,p2)
true |
false |
p1>p2
f_max=p1; |
|
f_max=p2; |
|
|
|
возврат
20