Помогите исправить ошибку в 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.
Пишет ожидался порядковый тип
Ответы
Переменные 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.
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.
ну и плюс поправил отступы и стилистические ошибки не влияющие на результат...