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

Нужно написать модель солнечной системы с 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.

Показать ответ
Ответ:
MariCasanova
MariCasanova
06.10.2020 02:50
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.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота