1) Числитель никогда не обратится в 0, и не будет меньше 0.
2) Знаменатель всегда положителен, так как в знаменателе сумма квадратов, поэтому бояться отрицательного значения для логарифма не стоит.
3) Знаменатель не обращается в 0, потому как в знаменателе сумма синуса и косинуса. Если синус равен 0, то косинус не будет равен 0, и наоборот. Поэтому деления на 0 бояться не стоит.
Учитывая все эти детали, можно смело, без проверок записать формулу вычисления:
Чтобы пользоваться тригонометрическими функциями, функцией возведения в степень и функцией логарифма, подключим библиотеку Math.
Программа:
{Free Pascal Compiler version 3.0.4+dfsg-23 [2019/11/25] for x86_64}
{Copyright (c) 1993-2017 by Florian Klaempfl and others}
{Target OS: Linux for x86-64}
program test;
Uses Math;
var
x, y : real;
begin
write('Введите Х: ');
Readln(x);
{Вычисление выражения}
y := power(ln( (x*x+5) / (power(sin(x/2),2) + power(cos(x),2) ) ),1/5);
writeln('y = ', y:4:4);
end.
Объяснение:
Программа просит пользователя ввести аргумент Х, затем вычисляет формулу и выводит результат в виде у = 1.3092.
Программа проверена для Х в диапазане от -2π до 2π через 0.01.
Результат выполнения программы на снимке.
2 votes Thanks 1
igrovoy18123
Только я не совсем понимаю куда девается квадратный корень в 5 степени(
Answers & Comments
Объяснение:
Посмотрим внимательно на формулу:
1) Числитель никогда не обратится в 0, и не будет меньше 0.
2) Знаменатель всегда положителен, так как в знаменателе сумма квадратов, поэтому бояться отрицательного значения для логарифма не стоит.
3) Знаменатель не обращается в 0, потому как в знаменателе сумма синуса и косинуса. Если синус равен 0, то косинус не будет равен 0, и наоборот. Поэтому деления на 0 бояться не стоит.
Учитывая все эти детали, можно смело, без проверок записать формулу вычисления:
Чтобы пользоваться тригонометрическими функциями, функцией возведения в степень и функцией логарифма, подключим библиотеку Math.
Программа:
{Free Pascal Compiler version 3.0.4+dfsg-23 [2019/11/25] for x86_64}
{Copyright (c) 1993-2017 by Florian Klaempfl and others}
{Target OS: Linux for x86-64}
program test;
Uses Math;
var
x, y : real;
begin
write('Введите Х: ');
Readln(x);
{Вычисление выражения}
y := power(ln( (x*x+5) / (power(sin(x/2),2) + power(cos(x),2) ) ),1/5);
writeln('y = ', y:4:4);
end.
Объяснение:
Программа просит пользователя ввести аргумент Х, затем вычисляет формулу и выводит результат в виде у = 1.3092.
Программа проверена для Х в диапазане от -2π до 2π через 0.01.
Результат выполнения программы на снимке.