Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекция 06 Процедуры и функции (151028)

.pdf
Скачиваний:
10
Добавлен:
09.03.2016
Размер:
1.07 Mб
Скачать

Подпрограммы

Три составные части подпрограммы:

-заголовок;

-блок локального описание данных;

-тело подпрограммы.

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