"Ошибка 106", не могу понять в чем проблема - Free Pascal
Формулировка задачи:
помогите решить задачу, формула прилагается
вот мой код, пишет "ошибка 106" не могу понять в чем проблема Я думаю что проблема связана с експонентой, но не пойму что именно, заранее спасибо.
var e:integer; a:integer; b:real; x:real; p:real; begin read(a,b,x); if x > 0 then p:=(exp(ln(exp(ln(x)*3)/4)/(2*(a+b))+(sin(x)/cos(x))*abs((a+b)/(0.8*x)))); if x < 0 then p:=sqr(ln((x-b*exp(ln(x+3*a)*3))/(0.25*sqr(abs(x))))); if x=0 then p:=9*a*sqr(sin(((a+b)*exp(ln(e)*(-3*x)))/(0.3*(a-x)))); write(p:1:3); end.
Решение задачи: «"Ошибка 106", не могу понять в чем проблема»
textual
Листинг программы
var t : real; if x > 0 then begin t := abs((a + b) / 0.8 / x); p := sqrt(sqrt(x*x*x))/(2*(a+b)) + sin(t) / cos(t); end else if x < 0 then p := ln(sqr((x-b*sqr(x+a)*(x+a))/(0.25*sqr(abs(x))))) else p := 9*a*sqr(sin(((a+b)*exp(-3*x))/(0.3*(a-x)))); write(p:1:3);
Объяснение кода листинга программы
- Объявлена переменная t типа real.
- Проверяется условие x > 0.
- Если условие выполняется, то значение переменной t вычисляется как abs((a + b) / 0.8 / x).
- Значение переменной p вычисляется как sqrt(sqrt(xxx))/(2*(a+b)) + sin(t) / cos(t).
- Проверяется условие x < 0.
- Если условие выполняется, то значение переменной p вычисляется как ln(sqr((x-bsqr(x+a)(x+a))/(0.25*sqr(abs(x)))))).
- Если ни одно из условий не выполняется, то значение переменной p вычисляется как 9asqr(sin(((a+b)exp(-3x))/(0.3*(a-x))));
- Значение переменной p выводится на экран с помощью функции write(p:1:3).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д