Вычислить значение выражения по формуле. Как сделать проверку?
Мой код:
Код:
Program formula;
var
x:integer;
y:real;
begin
write('vvedute x ');
readln(x);
y:=(ln(abs(cos(x))))/ln(1+cos(x*x));
writeln('y=',y:5:2);
end.
var
x:integer;
y:real;
begin
write('vvedute x ');
readln(x);
y:=(ln(abs(cos(x))))/ln(1+cos(x*x));
writeln('y=',y:5:2);
end.
Код:
var
x : Integer;
a, b, y : Double;
begin
write('vvedute x ');
readln(x);
a := abs(cos(x));
b := 1 + cos(x * x);
if (a <= 0) then
<сообщение о недопустимом аргументе ln()>
else
if (b <= 0) then
<сообщение о недопустимом аргументе ln()>
else
if (ln(b) = 0) then
<сообщение о нулевом знаменателе>
else begin
y := ln(a) / ln(b);
writeln('y=', y:5:2);
end;
end.
x : Integer;
a, b, y : Double;
begin
write('vvedute x ');
readln(x);
a := abs(cos(x));
b := 1 + cos(x * x);
if (a <= 0) then
<сообщение о недопустимом аргументе ln()>
else
if (b <= 0) then
<сообщение о недопустимом аргументе ln()>
else
if (ln(b) = 0) then
<сообщение о нулевом знаменателе>
else begin
y := ln(a) / ln(b);
writeln('y=', y:5:2);
end;
end.
- Отдельно вычислить знаменатель
- Сравнить его с нулем
- Если все ОК, то считаем y.