Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_9_библиотеки.doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
214 Кб
Скачать
☆

2.1.2 Підпрограми функції

Структура підпрограми-функції має такий вигляд:

Function ім’яF (список формальних параметрів) : тип_результату;

{ розділ описання локальних параметрів }

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

begin

{ розділ виконавчих операторів функції }

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ім’яF : = результат виконання пiдпрограми;

end;

Ім’я функції (ім’яF ) обирається довільно (як і ім’я змінної).

Характерною особливістю підпрограми-функції є те, що вона не має вихідних параметрів, а результат виконання пiдпрограми повертається в головну програму лише у вигляді імені функції. Тому у виконавчій частині підпрограми-функції повинен бути хоча б один оператор, у якому імені функції присвоюється значення результата. За типом цього значення й оголошується тип самої функції. Типом функції може бути лише скалярний тип, тобто цілий, дійсний, логічний, символьний, або рядковий тип.

Наприклад, функція

–1, якщо x < 0,

sign(x)= 0, якщо x = 0,

1, якщо x > 0

як пiдпрограма-функція матиме такий вигляд:

Function fsign(x : real):integer;

begin

if x < 0 then fsign : = −1

else if x = 0 then fsign : = 0

else fsign : = 1;

end;

Пiдпрограма-функція для обчислення факторiалу матиме вигляд

Function fact(n : integer) : real;

var k : integer; p : real;

begin p : = 1;

for k : = 1 to n do

p : = p*k;

fact : = p;

end;

Зауваження. Функцію fact оголошено зі значенням типу real, оскільки для аргументів n, більших за 7, ціле значення факторiалу перевищить 32767 і не розміститься в двобайтовому полі цілого числа.

Виклик пiдпрограми-функції здійснюється за її іменем у виразі (арифметичному, рядковому або логічному), записаному в операторі головної програми або іншої підпрограми, із зазначенням вхідних фактичних параметрів через кому у дужках. Правила встановлення відповідності між фактичними і формальними параметрами такі самі, що й для пiдпрограми-процедури. Результат роботи функції передається в місце її виклику.

Зуваження. Якщо виклик функції містить ім’я іншої функції як фак-тичний параметр, то на початку головного модуля (попереду слова Unit) слід поставити директиву{$F+}.

Наприклад, фрагмент програми обчислення виразу Z = xy*sign ( x ) за допомогою функції fsign, описаної вище, матиме вигляд

…………………..

var x,y,z : real;

begin

………………

x := ‑2; y := ‑2.557;

z :=x*y*fsign(x);

………………………………

end;

Фрагмент програми обчислення величини

з використанням підпрограми-функції fact матиме вигляд

…………………………………….

var m, n : integer; a : real;

…………………………………….

begin

m : = 5; n : = 2;

a : = fact (m) /fact(m ‑ n );

…………………………………

end;

2.2 Бібліотеки

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]