program lol; var x,a,b,d,y,h1,h2,h3,h4,h5,h6,h7,h8,h9,h10,h11,h12,h13,h14,h15,h16:real; begin writeln('Введите значения'); readln(x,a,b,d); h1:=x*x*x*a*a; h3:=exp(ln(cos(h1))*x); h2:=3*h3; h4:=(x-exp(ln(b)*5)); h5:=exp(ln(sin(h4))*4); h6:=abs(5*a*h5); h7:=exp(ln(sin(h6))*(2*x)); h8:=h2+h7; h9:=(a-exp(ln(d)*4)); h10:=abs(h9); h11:=exp(ln(sin(x+6))*3); h12:=(7*a+h11); h13:=sqrt(h12); h14:=h10*h13+d; h15:=sqrt(h8/h14); h16:=exp(ln(sin(x))*3); y:=h15*h16; writeln('y= ',y); end. выдает ошибку в 7 строчке неверная вещественная операция(Program1 pas) переменные:x=2 a=1 b=3 d=3
program lol; var y,h1,h2,h3,h4,h5,h6:real; x,a,b,d:integer; function pow(x:real; n:integer):real; var sign:integer; begin if (x<0) and (n mod 2 <> 0) then sign := -1 else sign := 1; pow := sign * exp(ln(abs(x))*n); end; begin writeln('Введите значения'); {readln(x,a,b,d); } x:=2;a:=1;b:=3;d:=3; h1:=x*x*x*a*a; h1:=3*pow(cos(h1),x); h2:=x-pow(b,5); h2:=pow(sin(h2),4); h2:=abs(5*a*h2); h2:=pow(sin(h2),2*x); h2:=h1+h2; h3:=a-pow(d,4); h4:=abs(h3); h5:=pow(sin(x+6),3); h5:=7*a+h5; h5:=sqrt(h5); h5:=h4*h5+d; h5:=sqrt(h2/h5); h6:=pow(sin(x),3); writeln(h1,h2,h3,h4,h5,h6); y:=h5*h6; writeln('y= ',y); end.
накрутил ты там короче
а основная ошибка была в том что нельзя брать логорифм от отрицательного числа