Вычислить значение функции - Pascal (80399)
Формулировка задачи:
Буду признателен, если кто-то поможет с решением или толкнет в нужном направлении.
Заданы числа x и y.
Вычислить f(a) = (siny+cosx)/(1 + 2y cos(xy)) , где a = max(x, y).
Если f(a) > 0, то вычислить p = (a+x+y)/f(a) и вывести на экран; если f(a) = 0, выдать об этом.
Решение задачи: «Вычислить значение функции»
textual
Листинг программы
const
EPS = 0.0001;
var
x, y, a, f: Real;
begin
Write('x='); ReadLn(x);
Write('y='); ReadLn(y);
if (x > y)
then
a := x
else
a := y;
f := (Sin(y) + Cos(x)) / (1 + 2*y*Cos(x*y));
if (Abs(f) < EPS)
then
WriteLn('f=0')
else
WriteLn('p=', ((a + x + y) / f):0:2);
end.
Объяснение кода листинга программы
- Объявление константы
EPS(точность вычислений) с значением0.0001. - Объявление переменных
x,y,a,fтипаReal. - Ввод значения переменной
x. - Ввод значения переменной
y. - Выбор наибольшего значения между
xиy, результат сохраняется в переменнойa. - Вычисление значения функции
fпо формулеf := (Sin(y) + Cos(x)) / (1 + 2*y*Cos(x*y)). - Проверка, если значение функции
fпо модулю меньше, чемEPS. - Если значение функции равно нулю (с точностью
EPS), выводится сообщениеf=0. - Иначе, вычисляется и выводится результат выражения
((a + x + y) / f)с точностью до двух знаков после запятой.