Паскаль!!! Нужно написать модель солнечной системы с 3 планетами( Меркурий, Венера, Земля) и 1 спутник(Луна). Чем дальше планеты
от солнца тем медленнее они крутятся. Есть код на одну планету, нужно дописать остальное в похожем стиле.
uses crt, graphABC ; var x , y , x0 , y0 , rvod , xe , ye , rel , dy , re , i : integer ; Begin x := 640 ; // ширина окна y := 480 ; // высота окна setwindowsize ( x , y ) ; // устанавливаем размер окна x0 :=x div 2 ; // центр Х y0 := y div 2 ; // центр у rvod :=70 ; // радиус солнца rel := 10 ; // радиус венеры . dy :=100 ; re :=y0 - dy ; // радиус вращения венеры
i :=360 ; repeat clearwindow ; if i=360 then i:= 1 else inc ( i ) ; setpencolor ( clorange ) ; // yer . цвет пepa circle ( x0 , y0 , rvod ) ; // солнце floodfill ( x0 , y0 , clyellow ) ; // заливка фигуры ( солнце ) xe := x0 + round ( re*cos( i*pi / 180 ) ) ; ye := y0 + round ( re*sin (i*pi / 180 ) ) ; circle ( xe , ye , rel ) ; // (венера) delay ( 10 ) ; until keypressed End.
Var R:integer:=70; //радиус Солнца A:array[1..4,1..5] of integer; //A[1] - x //A[2] - y //A[3] - r //A[4] - r орбиты v:real:=0.03; k:integer:=10; // Коэффициент масштабирования орбит Begin Window.Maximize; A[1,3]:=10; A[1,4]:=R+A[1,3]*k;
A[2,3]:=13; A[2,4]:=A[1,4]+A[2,3]*k;
A[3,3]:=17; A[3,4]:=A[2,4]+A[3,3]*k;
A[4,3]:=A[3,3] div 4; A[4,4]:=A[3,3]+A[4,3]*k;
LockDrawing; SetCoordinateOrigin(Window.Width div 2,Window.Height div 2);