Кто может сказать,в чем ошибка? нужно получить значение выражения,но при вводе цифр "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)*c+1/sqr(b); writeln ('f= ', f); readln; end.
После строки 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а? Если так, то все.