Вычислить значение функции - 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.

Объяснение кода листинга программы

  1. Объявление константы EPS (точность вычислений) с значением 0.0001.
  2. Объявление переменных x, y, a, f типа Real.
  3. Ввод значения переменной x.
  4. Ввод значения переменной y.
  5. Выбор наибольшего значения между x и y, результат сохраняется в переменной a.
  6. Вычисление значения функции f по формуле f := (Sin(y) + Cos(x)) / (1 + 2*y*Cos(x*y)).
  7. Проверка, если значение функции f по модулю меньше, чем EPS.
  8. Если значение функции равно нулю (с точностью EPS), выводится сообщение f=0.
  9. Иначе, вычисляется и выводится результат выражения ((a + x + y) / f) с точностью до двух знаков после запятой.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.333 из 5