Вычислить значение функции при помощи подпрограмм - Pascal
Формулировка задачи:
По данным значениям аргументов a и b вычислитьзначение функции F(a,b).
F(a,b)=(2+1/2+a+1/a)+1/(2+1/2+a+1/a)+b+1/b с помощью подпрограм
Решение задачи: «Вычислить значение функции при помощи подпрограмм»
textual
Листинг программы
function f(a, b: Real): Real;
var t: Real;
begin
t:=2+1/2+a+1/a;
f:=t+1/t+b+1/b;
end;
var a, b: Real;
begin
Write('a b: '); ReadLn(a,b);
if (a<>0) and (b<>0) then WriteLn(f(a,b))
else WriteLn('значение не определено');
end.
Объяснение кода листинга программы
- Создаётся функция f с двумя аргументами типа Real и одним результатом типа Real.
- В функции объявляется переменная t типа Real.
- В функции выполняется вычисление t=2+1/2+a+1/a, где a - аргумент функции.
- Результат вычисления переменной t присваивается переменной f.
- В основной части программы объявляются две переменные типа Real a и b.
- Пользователю предлагается ввести значения для переменных a и b.
- Проверяется, что обе переменные не равны нулю.
- Если условия из пункта 7 выполняются, то вычисляется значение функции f(a,b) и выводится на экран.
- Если хотя бы одна из переменных равна нулю, то выводится сообщение о том, что значение функции не определено.