• Объясните, пожалуйста, в чем ошибка
    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, что то значит?

Ответы 1

  • В операторе y:=x*x+4/x+3 используется операция деления, которая всегда возвращает вещественный тип. Следовательно, и всё выражение в правой части всегда будет иметь вещественный тип. А в левой части стоит переменная целого типа. Присваивание вещественного значения целочисленной переменной запрещено правилами языка Паскаль.Чтобы избавиться от ошибки, нужно знать алгоритм, который реализует программа. В зависимости от алгоритма может быть использована операция целочисленного деления, может быть использована функция Trunc(), возвращающая целочисленное значение аргумента, либо переменная y должна объявляться вещественной.
    • Автор:

      nash
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years