Солнечная система Земля луна - Turbo Pascal
Формулировка задачи:
Ребят вот в общем код солнечной системы. Как заставить луну крутиться вокруг земли. (Заранее спасибо!!!)
Решение задачи: «Солнечная система Земля луна»
textual
Листинг программы
uses crt, graph; procedure luna(x,y,r:integer); begin setcolor(14); setfillstyle(1,14); fillellipse(x,y,r,r); end; var xc,yc,x,y,rz,rl,i,x1,y1,size,r1:integer; p: pointer; u:real; begin randomize; initgraph(x,y,''); xc:=getmaxX div 2; yc:=getmaxY div 2; for i:=1 to 500 do putpixel(random(2*xc),random(2*yc),15); rz:=80; setcolor(9); setfillstyle(1,9); fillellipse(xc,yc,rz,rz); rl:=10; r1:=getmaxY div 2-2*rl; xc:=getmaxX div 2; yc:=getmaxY div 2; u:=0; x:=xc+round(r1*cos(u)); x1:=x+2; y:=yc-round(r1*sin(u)); y1:=y+2; size:=imagesize(x-rl,y-rl,x1+rl,y1+rl); getmem(p,size); getimage(x-rl,y-rl,x1+rl,y1+rl,p^); luna((x+x1) div 2,(y+y1) div 2,rl); repeat putimage(x-rl,y-rl,p^,copyput); x:=xc+round(r1*cos(u)); y:=yc-round(r1*sin(u)); x1:=x+2; y1:=y+2; getimage(x-rl,y-rl,x1+rl,y1+rl,p^); luna((x+x1) div 2,(y+y1) div 2,rl); delay(100); u:=u+0.02 until keypressed; freemem(p, size) end.
Объяснение кода листинга программы
- В начале кода используются две библиотеки: crt (для работы с консолью) и graph (для работы с графикой).
- Создается процедура luna, которая принимает три параметра: x, y и r. Она использует функцию fillellipse для рисования эллипса на графике.
- Создаются переменные xc, yc, x, y, z, rl, i, x1, y1, size и r1. Значения xc и yc определяются как половина максимальных координат по оси X и Y соответственно. Переменная z устанавливается равной 80.
- Используется цикл for для создания 500 точек на графике. Функция putpixel используется для отображения каждой точки.
- Затем создается эллипс на графике с размером z.
- Далее определяется переменная u, которая используется для изменения координат x и y с помощью функции sin и cos.
- Используется цикл repeat для отображения изображения и обновления координат x и y.
- В конце кода освобождается память, использованная для хранения изображения.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д