где function – функция, Func – имя функции, SFP1 – список формальных параметров 1-й, SFPN – список формальных параметров N-й, T1 – тип параметров в 1-м списке, TN – тип параметров в N-м списке, T – тип значения, возвращаемого функцией.
Это означает, что задаётся подпрограмма-функция с именем Func, зависящая от формальных параметров из списка SFP1типа T1 , … из списка SFPNтипа TN, а также вычисляющая значение типа T.
Вызов функции из другой части программы имеет вид:
Func ( SFP )
где Func – имя функции, SFP – список фактических параметров.
Это означает, что вычисляется значение функции Func, зависящей от фактических параметров из списка SFP, причём вызов функции может осуществляться в составе выражения.
Задача 1.
Условие задачи. Вычислить , а также найти с использованием подпрограммы-функции возведения в степень.
Программа.
Program z1;
Var
A:array[0..100] of real;
B,C,x:real;
i,n:integer;
Function Step(a,b:real):real;
begin
Step:=exp(b*ln(a));
end;
Begin
read(n,x);
for i:=0 to n do
read(A[i]);
B:=Step(2.1,5)+Step(7,0.3);
C:=0;
for i:=0 to n do
C:=C+A[i]*Step(x,i);
writeln(B,C);
End.
Заголовок описания процедуры имеет вид:
procedure Proc ( SFP1 : T1 ; … ; SFPN : TN ) ;
где procedure – процедура, Proc – имя процедуры, SFP1 – список формальных параметров 1-й, SFPN – список формальных параметров N-й, T1 – тип параметров в 1-м списке, TN – тип параметров в N-м списке.
Это означает, что задаётся подпрограмма-процедура с именем Proc, зависящая от формальных параметров из списка SFP1типа T1 , … из списка SFPNтипа TN, а также выполняющая какие-либо действия.
Вызов процедуры из другой части программы имеет вид:
Proc ( SFP )
где Proc – имя процедуры, SFP – список фактических параметров.
Это означает, что выполняются действия в теле процедуры Proc, зависящей от фактических параметров из списка SFP, причём вызов процедуры не может осуществляться в составе выражения.
Задача 2.
Условие задачи. В двумерном массиве A из 3 строк и 4 столбцов вычислить сумму и произведение отрицательных элементов с использованием подпрограммы-процедуры, именованных констант и типов данных.
Программа.
Program z2;
Const m=3; n=4;
Type TT=array [1..m,1..n] of real;
Var A:TT; i,j:integer; s,p:real;
Procedure SumPro(B:TT; m,n:integer; var s,p:real);