Кто может сказать,в чем ошибка? Нужно получить значение выражения,но при вводе цифр "1","0","1" значение = бесконечности. Т program laba1; var a,b,c,f:real; begin writeln ('введите a'); readln (a); writeln ('введите b'); readln...
Кто может сказать,в чем ошибка? Нужно получить значение выражения,но при вводе цифр "1","0","1" значение = бесконечности. Т
program laba1;
var a,b,c,f:real;
begin
writeln ('введите a');
readln (a);
writeln ('введите b');
readln (b);
writeln ('введите c');
readln (c);
f:=(b+sqrt(b*b+4*a*c))/(2*a)-(a*a*a)*c+1/sqr(b);
writeln ('f= ', f);
readln;
end.
Ответ(ы) на вопрос:
Гость
if отсутствует.
После строки readln(c); допиши:
if (a<>1) and (b<>0) and (c<>1) then
begin f:=(b+sqrt(b*b+4*a*c))/(2*a)-(a*a*a)*c+1/sqr(b);
writeln('f=',f);
end
else writeln('f=oo'); {это у меня знак бесконечности, можно, наверное, и словами написать}
Т.е. у вас отсутствует альтернатива.
PS. Знаменателем функции является только 2а? Если так, то все.
Не нашли ответ?
Похожие вопросы