Разработайте динамическую модель Земли, которая вращается вокруг Солнца и вокруг которой вращается Луна - PascalABC.NET
Формулировка задачи:
2) Разработайте динамическую модель Земли, которая вращается вокруг Солнца и вокруг которой вращается Луна.
Решение задачи: «Разработайте динамическую модель Земли, которая вращается вокруг Солнца и вокруг которой вращается Луна»
textual
Листинг программы
uses graphABC; var f:boolean; procedure planety(r,x,y:integer;c:Color); begin setpencolor(c); setbrushcolor(c); setbrushstyle(bsSolid); circle(x,y,r); end; procedure KeyPress(key:char); begin if key<>#0 then f:=false; end; var xc,yc,rs,rz,rl,r1,r2,x1,y1,x2,y2:integer; u1,u2:real; begin xc:=windowwidth div 2; yc:=windowheight div 2; rs:=90; rz:=15; rl:=3; r1:=170; r2:=25; u1:=0; u2:=0; clearwindow(clBlack); lockdrawing; onkeypress:=Keypress; f:=true; repeat clearwindow(clBlack); setbrushstyle(bsClear); setfontcolor(clWhite); textout(windowwidth div 2-80,10,'Выход любая клавиша'); planety(rs,xc,yc,clYellow); u1:=u1-0.02; u2:=u2+0.1; x1:=xc+round(r1*cos(u1)); y1:=yc-round(r1*sin(u1)); x2:=x1+round(r2*cos(u2)); y2:=y1-round(r2*sin(u2)); planety(rz,x1,y1,clBlue); planety(rl,x2,y2,clSilver); sleep(100); redraw until not f end.
Объяснение кода листинга программы
- Объявлены переменные:
- f: булево значение, используется в процедуре KeyPress
- xc, yc: координаты центра Земли
- rs, rz, rl: радиусы Земли, Луны и Солнца соответственно
- r1, r2: радиусы орбит Луны и Солнца
- u1, u2: углы вращения Земли и Луны
- x1, y1, x2, y2: координаты точек на орбитах Луны и Солнца
- xc, yc, rs, rz, rl, r1, r2, u1, u2: используются в процедуре planety для отрисовки небесных тел
- x1, y1, x2, y2: используются в процедуре planety для отрисовки положения Луны и Солнца относительно Земли
- Задаются начальные значения переменных:
- xc, yc: устанавливаются в центр окна
- rs, rz, rl: устанавливаются в определенные значения
- u1, u2: устанавливаются в 0
- Создается окно и начинается цикл:
- Очищается окно
- Рисуется текст
Выход любая клавиша
- Отрисовывается Земля
- Обновляются значения углов вращения Земли и Луны
- Перерисовываются позиции Луны и Солнца
- Пауза в 100 миллисекунд для плавности анимации
- Повторять до тех пор, пока переменная f не станет ложной
- Завершается программа при нажатии любой клавиши.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д