Из TurboPascal переделать в PascalAbc - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Переделать в PascalAbc

Решение задачи: «Из TurboPascal переделать в PascalAbc»

textual
Листинг программы
uses graphABC;
const
g=9.8;
w=0.1;
dt=0.01;
L=98;
var
gl,w1,x0,x10,y0,y10,ak,xp,yp,x1p,y1p:real;
x,x1,y,y1,k1,k2,k3,k4,l1,l2,l3,l4,w2:real;
begin
setwindowsize(600,500);
centerwindow;
gl:=g/l-w*w;
w2:=2*w;
x:=0;
y:=0;
repeat
x0:=x;
x10:=x1;
y0:=y;
y10:=y1;
k1:=dt*(-gl*x0+w2*y10);
l1:=dt*(-gl*y0-w2*x10);
xp:=x0+dt*x10/2+dt*k1/8; x1p:=x10+k2/2;
yp:=y0+dt*y10/2+dt*l1/8; y1p:=y10+11/2;
k2:=dt*(-gl*xp+w2*y1p);
l2:=dt*(-gl*yp-w2*x1p);
xp:=x0+dt*x10/2+dt*k1/8; x1p:=x10+k2/2;
yp:=y0+dt*y10/2+dt*l1/8; y1p:=y10+l2/2;
k3:=dt*(-gl*xp+w2*y1p);
l3:=dt*(-gl*yp-w2*x1p);
xp:=x0+dt*x10+dt*k3/2; x1p:=y10+k3;
yp:=y0+dt*y10+dt*l3/2; y1p:=y10+l3;
k4:=dt*(-gl*xp+w2*x1p);
l4:=dt*(-gl*yp-w2*x1p);
ak:=x10+(k1+k2+k3)/6;
x1:=ak+(k2+k3+k4)/6;
x:=x0+dt*ak;
ak:=y10+(l1+l2+l3)/6;
y1:=ak+(l2+l3+l4)/6;
y:=y0+dt*ak;
SetPixel(round(x*75),windowheight div 2-round(y*75),clBlack);
until(windowheight div 2-round(y*75)=250)and(round(x*75)=300);
end.

Объяснение кода листинга программы

  1. Используется библиотека graphABC.
  2. Константы: g=9.8, w=0.1, dt=0.01, L=98.
  3. Переменные: gl, w1, x0, x10, y0, y10, ak,xp,yp,x1p,y1p:real; x,x1,y,y1,k1,k2,k3,k4,l1,l2,l3,l4,w2:real;
  4. Устанавливается размер окна.
  5. Вычисляется значение gl.
  6. Вычисляется значение w2.
  7. Инициализируются переменные x, y, k1, k2, k3, k4, l1, l2, l3, l4, w2.
  8. Запускается цикл повторения.
  9. В каждой итерации цикла вычисляются значения x0, x10, y0, y10, k1, l1, xp, yp, x1p, y1p.
  10. Вычисляются значения k2, l2, k3, l3, k4, l4.
  11. Вычисляются значения ak, x1, x0, y1, y0, x1p, y1p.
  12. Вычисляются значения x1, x0, y1, y0, xp, yp.
  13. Устанавливаются цвета пикселей.
  14. Остановка цикла при выполнении условия окончания движения (округленные значения y и x равны 300 и 250 соответственно).
  15. Остановка программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.222 из 5
Похожие ответы