Кто может сказать,в чем ошибка? Нужно получить значение выражения,но при вводе цифр "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а? Если так, то все.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы