Ошибка преобразования типа real к word - PascalABC.NET
Формулировка задачи:
в ниже написанной программе, в строках "x:= V*it*cos(alpha); и y:= (V*it*sin(alpha))-((g*it*it)/2);" вылетает ошибка: "Нельзя преобразовать тип real к word". как сделать так, чтобы программа начала работать?
Решение задачи: «Ошибка преобразования типа real к word»
textual
Листинг программы
program Traektoria;
uses
GraphABC;
var
x1, y1, x, y: integer;
S, Vg, t, g, V, alpha, it: real;
begin
writeln('введите начальную скорость (м/с) ');
readln(V);
writeln('введите градусную меру угла наклона вектора скорости');
readln(alpha);
alpha := alpha / (180 / pi);
writeln('введите значение ускорения свободного падения');
readln(g);
ClearWindow;
Pen.Color := clBlack;
Pen.Width := 3;
Coordinate.OriginY := Window.Height; //ставим начало координат по Y в нижний левый угол окна
Coordinate.SetMathematic; //Ставим "математическую" ось
S := 2 * sqr(V) * sin(alpha) / g;
Vg := V * cos(alpha);
t := S / Vg / 2;
x := 0;
y := 0;
it := 0;
while it < t do
begin
it := it + 0.0000001;
x1 := x;
y1 := y;
x := round(50*(Vg * it));
y := round(50*(V * it * sin(alpha) - g * sqr(it) / 2));
Line(x1, y1, x, y);
end;
end.
Объяснение кода листинга программы
Список элементов кода:
- Объявление переменных:
- x1, y1, x, y: integer;
- S, Vg, t, g, V, alpha, it: real;
- Ввод значений начальной скорости и угла наклона вектора скорости:
- writeln('введите начальную скорость (м/с) ');
- readln(V);
- writeln('введите градусную меру угла наклона вектора скорости');
- readln(alpha);
- alpha := alpha / (180 / pi);
- Ввод значения ускорения свободного падения:
- writeln('введите значение ускорения свободного падения');
- readln(g);
- Установка начального значения координат и цвета линии:
- ClearWindow;
- Pen.Color := clBlack;
- Pen.Width := 3;
- Coordinate.OriginY := Window.Height;
- Coordinate.SetMathematic;
- Расчет значения S и Vg:
- S := 2 sqr(V) sin(alpha) / g;
- Vg := V * cos(alpha);
- Расчет значения t:
- t := S / Vg / 2;
- Инициализация переменных x и y:
- x := 0;
- y := 0;
- Инициализация переменной it:
- it := 0;
- Цикл, который выполняется до тех пор, пока it меньше t:
- it := it + 0.0000001;
- x1 := x;
- y1 := y;
- x := round(50(Vg it));
- y := round(50(V it sin(alpha) - g sqr(it) / 2));
- Line(x1, y1, x, y);
- Завершение программы:
- end.