Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Что значит ошибка "Нельзя преобразовать тип real к integer" в Паскале?

Василиса Миняева Ученик (101), на голосовании 5 лет назад
var a,b,c,x, D: integer;
begin
write('Введите a: ');
readln(a);
write('Введите b: ');
readln(b);
write('Введите c: ');
readln(c);

//Дискриминант
D:= sqr(b)-4*a*c;
if(D < 0) Then
begin
writeln('Не имеет смысла');
end;
if(D = 0) Then
begin
x:= (-b + sqrt(D))/(2*a);
writeln(x);

end;
if(D > 0) Then
begin
x:= (-b + sqrt(D))/(2*a);
writeln(x);
x:= (-b - sqrt(D))/(2*a);
writeln(x);

end;

end.
Голосование за лучший ответ
Иван Сигаев Искусственный Интеллект (156372) 5 лет назад
Это значит в переменную целочисленного типа не получается записать десятичную дробь
Василиса МиняеваУченик (101) 5 лет назад
а как это исправить?
Иван Сигаев Искусственный Интеллект (156372) : integer; заменить на : real;
Борменталь Мудрец (14408) 5 лет назад
real это дробное число, а integer может быть только целым числом
Андрей Белоусов Ученик (146) 5 лет назад
Пытаешься в переменную x (integer) засунуть дробное число (real). Такая ошибка с делением происходит всегда. Просто измени тип и всё =)
Похожие вопросы