Исправить ошибку в 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. пишет ожидался порядковый тип

RainbowK RainbowK    2   07.10.2019 09:01    1

Ответы
lada48 lada48  10.10.2020 01:16

Переменные 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.

ПОКАЗАТЬ ОТВЕТЫ
Egorka000000000 Egorka000000000  10.10.2020 01:16

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.

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

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика