кто работаль с графикой на паскаль авс нужна помощь

Компьютеры паскаль

uses crt,GraphABC;
type info=record
m,x,dy,y,dx,old,zoom:real;
x1,y1:integer;
title:string;

end;
const
G=6.67e-11;
var
splanet: array [1..11] of string;
mas: array [1..11] of info;
zoom,t,dt,cosA,sinA,R,ax,ay,tvr: real;
tobr,tobrsum,robr,maxrobr,minrobr: array [1..11] of real;
rb:array [1..11] of boolean;
i,j, chis,xx,yy:integer;

begin
SetWindowSize(800,600);
floodfill(10,10,clblack);
splanet[1]:='Солнце=';
splanet[2]:='Меркурий=';
splanet[3]:='Венера=';
splanet[4]:='Земля=';
splanet[5]:='Марс=';
splanet[6]:='Юпитер=';
splanet[7]:='Сатурн=';
splanet[8]:='Уран=';
splanet[9]:='Нептун=';
splanet[10]:='Плутон=';
splanet[11]:='Луна=';
begin

dt:=15;
with mas[1] do
begin
title:='Сoлнце';
m:=1.989e+30;
x:=0;
old:=0.1;
y:=0;
dx:=0;
dy:=0;
setbrushcolor(clyellow);
circle(390,300,10);
end;
with mas[2] do
begin
title:='Меркурий';
m:=3.303e+23;
x:=57.85E+9;
y:=0;
old:=0.1;
dx:=0;
dy:=4.787E+4;
setbrushcolor(clPurple);
circle(xx,yy,10);
end;
with mas[3] do
begin
title:='Венера';
m:=4.869e+24;
x:=108.11E+9;
y:=0;
dx:=0;
old:=0.1;
dy:=3.502E+4;
setbrushcolor(clLime);
circle(xx,yy,10);
end;
with mas[4] do
begin
title:='Земля';
m:=5.974e+24;
x:=149.46E+9;
y:=0;
dx:=0;
old:=0.1;
dy:=2.978E+4;
setbrushcolor(clBlue);
circle(xx,yy,10);
end;
with mas[5] do
begin
title:='Марс';
m:=6.421e+23;
x:=227.7E+9;
y:=0;
old:=0.1;
dx:=0;
dy:=2.31413E+4;
setbrushcolor(clRed);
circle(xx,yy,10);
end;
end;
{Юпитер}
with mas[6] do
begin
title:='Юпитер';
m:=1.900e+27;
x:=777.6E+9;
y:=0;
dx:=0;
old:=0.1;
dy:=1.307E+4;
setbrushcolor(clGray);
circle(xx,yy,10);
end;

{Сатурн}
with mas[7] do
begin
title:='Сатурн';
m:=5.688e+26;
x:=1426E+9;
y:=0;
dx:=0;
old:=0.1;
dy:=9.69E+3;
setbrushcolor(clAqua);
circle(xx,yy,5);
end;

with mas[8] do
begin
title:='Уран';
m:=8.686e+25;
x:=2868.3E+9;
y:=0;
old:=0.1;
dx:=0;
dy:=6.81E+3;
setbrushcolor(clGreen);
circle(xx,yy,5);
end;
{Нептун}
with mas[9] do
begin
title:='Нептун';
m:=1.024e+26;
x:=4494.3E+9;
y:=0;
old:=0.1;
dx:=0;
dy:=5.43E+3;
setbrushcolor(clTeal);
circle(xx,yy,5);
end;

{Плутон}
with mas[10] do
begin
title:='Плутон';
m:=1.29e+22;
x:=5900E+9;
y:=0;
dx:=0;
old:=0.1;
dy:=4.72E+3;
setbrushcolor(clSilver);
circle(xx,yy,10);

end;
{Луна}
with mas[11] do
begin
title:='Луна';
m:=7.349e+22;
x:=mas[4].x+384401E+3;
y:=0;
old:=0.1;
dx:=0;
dy:=(2.978e+4)-(1.023e+3);
setbrushcolor(clwhite);
circle(xx,yy,10);
end;
while true do
begin
for chis:=0 to 10000 do
begin
{рисуем}
t:=t+dt;
for i:=1 to 11 do
begin
ax:=0;
ay:=0;
for j:=1 to 11 do
if i<>j then
begin
R:=sqrt(sqr(mas[i].x-mas[j].x)+sqr(mas[i].y-mas[j].y));
cosA:=-(mas[i].x-mas[j].x)/(R);
sinA:=-(mas[i].y-mas[j].y)/(R);
ax:=ax+G*mas[j].m*cosA/sqr(R);
ay:=ay+G*mas[j].m*sinA/sqr(R);
end;
mas[i].dx:=mas[i].dx+dt*ax;
mas[i].dy:=mas[i].dy+dt*ay;
mas[i].x:=mas[i].x+mas[i].dx*dt;
mas[i].y:=mas[i].y+mas[i].dy*dt;
{Мин и Макс радиусы обращения для каждой планеты}
robr[i]:=sqrt(sqr(mas[i].x)+sqr(mas[i].y));//находим текущий радиус вектор
end;
repeat
for i:=1 to 11 do

xx:=round(mas[i].x-mas[4].x);
yy:=round(mas[i].y-mas[4].y);
until keypressed;
end;
end;
end.
Ответы:
Есть одна такая штука, говорят помогает - http://www.cyberforum.ru/


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.