
Вопрос задан 24.03.2019 в 18:27.
Предмет Информатика.
Спрашивает Наджафзаде Джалал.
Паскаль!!! Нужно написать модель солнечной системы с 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.

Ответы на вопрос

Отвечает Варваринець Дашка.
Uses GraphABC;
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);
Repeat
Window.Clear;
Brush.Color := clYellow;
FillCircle(0,0,R);
Brush.Color := clGray;
A[1,1]:=round(A[1,4]*Cos(v*3));
A[1,2]:=round(A[1,4]*Sin(v*3));
FillCircle(A[1,1],A[1,2],A[1,3]);
Brush.Color := clOrange;
A[2,1]:=round(A[2,4]*Cos(v*3/4));
A[2,2]:=round(A[2,4]*Sin(v*3/4));
FillCircle(A[2,1],A[2,2],A[2,3]);
Brush.Color := clBlue;
A[3,1]:=round(A[3,4]*Cos(v/4));
A[3,2]:=round(A[3,4]*Sin(v/4));
FillCircle(A[3,1],A[3,2],A[3,3]);
Brush.Color := clGray;
A[4,1]:=A[3,1]+round(A[4,4]*Cos(20*v));
A[4,2]:=A[3,2]+round(A[4,4]*Sin(20*v));
FillCircle(A[4,1],A[4,2],A[4,3]);
v:=v+0.03;
Redraw;
Until false;
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);
Repeat
Window.Clear;
Brush.Color := clYellow;
FillCircle(0,0,R);
Brush.Color := clGray;
A[1,1]:=round(A[1,4]*Cos(v*3));
A[1,2]:=round(A[1,4]*Sin(v*3));
FillCircle(A[1,1],A[1,2],A[1,3]);
Brush.Color := clOrange;
A[2,1]:=round(A[2,4]*Cos(v*3/4));
A[2,2]:=round(A[2,4]*Sin(v*3/4));
FillCircle(A[2,1],A[2,2],A[2,3]);
Brush.Color := clBlue;
A[3,1]:=round(A[3,4]*Cos(v/4));
A[3,2]:=round(A[3,4]*Sin(v/4));
FillCircle(A[3,1],A[3,2],A[3,3]);
Brush.Color := clGray;
A[4,1]:=A[3,1]+round(A[4,4]*Cos(20*v));
A[4,2]:=A[3,2]+round(A[4,4]*Sin(20*v));
FillCircle(A[4,1],A[4,2],A[4,3]);
v:=v+0.03;
Redraw;
Until false;
End.


Топ вопросов за вчера в категории Информатика

Информатика 566

Информатика 25

Информатика 22

Информатика 27

Информатика 34

Информатика 58

Информатика 63

Информатика 23
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili