Реферат: Синтаксис описания и вызова процедуры
var
rez:real;
m,n:longint; {описали глобальные переменные, используемые в программе}
functionfact(z: longint): real; {заголовок функции с формальным параметром-значением, типом}
var
y: real; {описали локальную переменную}
begin
y:=1; {для получения результата необходимо присвоить у значение 1. также при помощи этого реализуется вычисление 0! и 1!}
whilez>1 do {запускаем цикл в обратную сторону, для упрощения опустим множитель 1}
begin
y:=y*z;
z:=z-1
end;
fact:=y{вычисляем факториал, присваиваем его значение функции}
end; {конец функции}
begin{начало тела программы}
writeln('введите неотрицательные числа'); {для удобства пользователя просим ввести числа}
0:readln(m,n); {в память вводятся числа}
if m or n <0 then begin
writeln(‘вы ошиблись, вводите неотрицательные числа’);
goto 0 {при ошибке пользователя предотвращаем выдачу неверного результата}
end;
rez:=(fact(m)+fact(n))/fact(m+n); {вычисляется значение данного выражения}
writeln('результат: ',rez) {выводим на экран результаты счета}
end.
Исходные данные и результаты счета:
m=0, n=0, x=2.0000000000E+00 (2)
m=3, n=5, x=3.1250000000E-03 (0,003125)
m=7, n=-3, вы ошиблись, вводите неотрицательные числа
Пояснительная записка