Вопрос по информатике:
Объясните, пожалуйста, в чем ошибка
program Funk;
uses Crt;
var x,y: integer;
begin
for x:=-8 to 8 do
y:=x*x+4/x+3;
writeln (y);
writeln (x);
if x=0 then writeln ('Функция не определена');
readkey
end.
Пишет, что нельзя преобразовать тип real к integer, что то значит?
- 17.07.2018 05:10
- Информатика
- remove_red_eye 4267
- thumb_up 42
Ответы и объяснения 1
В операторе y:=x*x+4/x+3 используется операция деления, которая всегда возвращает вещественный тип. Следовательно, и всё выражение в правой части всегда будет иметь вещественный тип. А в левой части стоит переменная целого типа. Присваивание вещественного значения целочисленной переменной запрещено правилами языка Паскаль.
Чтобы избавиться от ошибки, нужно знать алгоритм, который реализует программа. В зависимости от алгоритма может быть использована операция целочисленного деления, может быть использована функция Trunc(), возвращающая целочисленное значение аргумента, либо переменная y должна объявляться вещественной.
- 18.07.2018 03:29
- thumb_up 13
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.