Разработайте динамическую модель Земли, которая вращается вокруг Солнца и вокруг которой вращается Луна - 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.

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

  1. Объявлены переменные:
    • 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 для отрисовки положения Луны и Солнца относительно Земли
  2. Задаются начальные значения переменных:
    • xc, yc: устанавливаются в центр окна
    • rs, rz, rl: устанавливаются в определенные значения
    • u1, u2: устанавливаются в 0
  3. Создается окно и начинается цикл:
    • Очищается окно
    • Рисуется текст Выход любая клавиша
    • Отрисовывается Земля
    • Обновляются значения углов вращения Земли и Луны
    • Перерисовываются позиции Луны и Солнца
    • Пауза в 100 миллисекунд для плавности анимации
    • Повторять до тех пор, пока переменная f не станет ложной
  4. Завершается программа при нажатии любой клавиши.

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


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

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

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