Регистрация
Войти
Стать экспертом Правила
Информатика

Кто может сказать,в чем ошибка? Нужно получить значение выражения,но при вводе цифр "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 (alt;gt;1) and (blt;gt;0) and (clt;gt;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а Если так, то все.
281
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам