"Ошибка 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);

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

  1. Объявлена переменная t типа real.
  2. Проверяется условие x > 0.
  3. Если условие выполняется, то значение переменной t вычисляется как abs((a + b) / 0.8 / x).
  4. Значение переменной p вычисляется как sqrt(sqrt(xxx))/(2*(a+b)) + sin(t) / cos(t).
  5. Проверяется условие x < 0.
  6. Если условие выполняется, то значение переменной p вычисляется как ln(sqr((x-bsqr(x+a)(x+a))/(0.25*sqr(abs(x)))))).
  7. Если ни одно из условий не выполняется, то значение переменной p вычисляется как 9asqr(sin(((a+b)exp(-3x))/(0.3*(a-x))));
  8. Значение переменной p выводится на экран с помощью функции write(p:1:3).

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


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

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

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