Приклад 1. Для трьох введених цілих чисел знайти їх середнє арифметичне. Знаходження середнього арифметичного оформити у вигляді процедури.
В процедурі повинно визначатись значення і повертатись в програму, що викликала процедуру. Це значення повертається за допомогою формального параметру- змінної.
Program PAR;
Var
a,b: integer;
S: real;
Procedure avrg(x,y:integer; VAR S:real);
Begin
S:= (x+y)/2;
End;
Begin
write (‘введи два числа’);
readln (a,b);
avrg (a,b,s);
writeln (‘середнє арифметичне чисел’,
а:5,b:5,’дорівнює’, S:10:2);
End.
| |
Приклад 2. Для трьох введених цілих чисел знайти їх середнє арифметичне. Знаходження середнього арифметичного оформити у вигляді функції.
Program PAR;
Var
a,b: integer;
S: real;
Function avrg(x,y:integer):real;
Begin
avrg:= (x+y)/2;
End;
Begin
write (‘введи два числа’);
readln (a,b);
avrg (a,b,s);
writeln (‘середнє арифметичне чисел’,
а:5,b:5,’дорівнює’, avrg (a,b,s):10:2);
End.
| |
Приклад 1 і приклад 2 демонструють використання процедури і функції для одного завдання для порівняння. В даному випадку ефективніше використовувати функцію.
Приклад 3. Знайти кількість сполучень з використанням функції:
Сполучення обчислюються за формулою
Очевидно, що визначення факторіалу повторюється, тому його визначення необхідно винести в підпрограму, а саме функцію тому, що результатом буде одне просте значення.
| | | | | |
| | | |
| | | program komb;
var
c,n,m: word;
functiїn fakt (n: word): word;
var
i: word; f:longint;
begin
f:= 1;
for i:= 1 to n do
f:= f*i;
fakt:= f;
end;
begin
writeln (‘введи m,n’);
readln (m,n);
c:= fakt (n) div (fakt(m) + fakt(n-m));
writeln (‘кількість сполучень ’,n:3,‘по’,
m:3,‘=’,c:7);
end.
| |
|
Завдання для самоперевірки.
1. Чим вiдрiзняється процедура вiд функцiї
2. Записати заголовок для функцiї, що приймає 2 аргументи цiлого типу i повертає результат дійсного типу
3. Записати заголовок для функцiї, що приймає масив 10 елементiв цiлого типу i повертає результат цілого типу
4. Записати заголовок для функцiї, яка отримує в якостi параметра 2 цiлих значення і повертає значення цілого типу
5. Записати заголовок процедури, яка отримує в якостi параметра 2 цiлих значення і повертає значення цілого типу
6. Перелічити типи формальних параметрiв.
7. Розробити програму, яка формує три масиви різного розміру (але не більше 50 елементів) цілих значень. Знайти середнє арифметичне всіх значень з 3-х масивів.
8. Розробити програму, яка формує два строкових масиви даних різного розміру (але не більше 30 елементів) і знаходить найдовше значення.