• Помогите исправить ошибку в pascal
    Program one;
    Var x,y,m,n:real;
    Begin
    Writeln (‘введите число’);
    Readln (m);
    Writeln (‘введите число’);
    Readln (n);
    For x:=m to n do
    y:=sin(4*sgr(x));
    Writeln (y);
    End.
    Пишет ожидался порядковый тип

Ответы 2

  • Переменные x,m,n должны быть типа integer

    Var  

    y:real;

    x,m,n: integer;

    Begin

    Writeln ('введите число');

    Readln (m);

    Writeln ('введите число');

    Readln (n);

    For x:=m to n do

    y:=sin(4*sqr(x));

    Writeln (y);

    End.

    • Автор:

      lamb
    • 5 лет назад
    • 0
  • 1) в 4 и 6 строках заменить кавычки на одинарные (те которые там где русская буква Э. PascalABC другие не понимает, другие паскали тоже могут ругаться.

    2) строка 8 оператор FOR требует перечисляемый тип например integer, так что чтобы все заработало придется переменные x, m, n объявить как integer (var x, m, n : integer)

    3) в десятой строке исправить название функции возведения в квадрат на sqr

    4) функция sin() считает в радианах. Если данные у вас в градусах то их нужно перевести в радианы.

    5) не понятно для чего используется цикл если будет выведено только последнее вычисленное значение. Возможно в цикле пропущен блок BEGIN END;

    исправленная програма будет выглядеть примерно так:

    Program one;

    Var y : real;

       x, n, m : integer;

    Begin

       Write('введите число m ');

       Readln(m);

       Write('введите число n ');

       Readln(n);

       For x := m to n do begin

           y := sin(degToRad(4*sqr(x)));

           Writeln(y);

       end;

    End.

    ну и плюс поправил отступы и стилистические ошибки не влияющие на результат...

  • Добавить свой ответ

Войти через Google

или

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

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

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