|
Реферат: Тригонометричні ефемериди планет Сонячної системиESD:=(PI*sqr(Eao)*sqrt(1-sqr(Eeo))/Etd)*N0;//формула 3 площа еліпса орбіти за N3дні Repeat ED:=ED+N0; //2 закон Кеплера EH:=2*ESD/ER; //радіус-вектор через N3 днів ER1:=sqrt(sqr(EH)+sqr(ER-sqrt(abs(sqr(ER0)-sqr(EH)))));//формула 5 EGD:=arctan((1/ER1*EH)/sqrt(1-sqr(1/ER1*EH)))*180/PI; //формула 6 EG:=EG+EGD; //кут проходу за N3 дні while EG>=360 do begin EG:=EG-360 end; ER1:=(Eao*(1-sqr(Eeo)))/(1+Eeo*cos((EG-Eap)*PI/180)); //формула 2 ER:=ER1; Until DR<=ED; //обчислення до моменту спостереження end; end. unit Mars; interface Uses KonstPLN,Eagth,Math; Const AD5=32852; //номер дня 9 січня 1990р. з 1 березня 1900р. AG5=235.0; AR5=1.538; //початкове положення Марса 9 січня 1990р. Procedure Mars1(var AD,AG,AR,x,AR0,ASD,AH,AR1,AGD,RM,EG:real); Procedure Mars2(var AAD1,ARS,AZE,AZP,ABD,AV,AYD,AYDS,AAD0,AAD,AA,AAM,AAS,AID1,AID2,AID,AB, ABM,AF, ER,AG,EG,AR,AAH,ABG:real;var R0:integer); Procedure Mars3(var AT1,ATK,ATKL,ATKLM,AP,AT2,AT3,ATG,ATS,ATSL,ATSLM,ATZ,ATZL,ATZLM,AZ, AA,EG,k,LB,AYD,AV,FI,AB,ATKLH,ATSLH,ATZLH:real;var n:integer); implementation Procedure Mars1; begin AD:=AD5; AG:=AG5; AR:=AR5; x:=0; AR0:=Avo*86400/AO*N0; //формула 4 шлях проходження за N4 дні ASD:=(PI*sqr(Aao)*sqrt(1-sqr(Aeo))/Atd)*N0;//формула 3 площа еліпса орбіти за N4 дні Repeat AD:=AD+N0; //2 закон Кеплера AH:=2*ASD/AR; //радіус-вектор через N4 дні AR1:=sqrt(sqr(AH)+sqr(AR-sqrt(abs(sqr(AR0)-sqr(AH)))));//формула 5 AGD:=arctan((1/AR1*AH)/sqrt(1-sqr(1/AR1*AH)))*180/PI;//формула 6 AG:=AG+AGD; //кут проходу за N4 дні While AG>=360 do begin AG:=AG-360 end; AR1:=(Aao*(1-sqr(Aeo)))/(1+Aeo*cos((AG-Aap)*PI/180));//формула 2 AR:=AR1; x:=x+1 //кількість циклів обчислення Until RM<=AD; //обчислення до моменту спостереження end;//Mars1 Procedure Mars2; begin AAD1:=arctan((ER*sin((AG-EG)*PI/180))/(AR-ER*cos((AG-EG)*PI/180)))*180/PI;//зміщення прямого ARS:=sin((AG-Avy)*PI/180)*sin(Aie*PI/180); //піднесення, формула 7 AZE:=AR*ARS; AZP:=sqrt(sqr(ER*sin((EG-AG)*PI/180))+sqr(AR*sqrt(1-sqr(ARS))-ER*cos((EG-AG)*PI/180))); ABD:=arctan(AZE/AZP)*180/PI; //зміщення схилення, формула 8 AV:=sqrt(sqr(AZE)+sqr(AZP));//лінійна відстань між Землею і Марсом, формула 9 AYD:=2*arctan(Are/(AV*AO))*180/PI;//кутовий діаметр Марса, формула 10 AYDS:=AYD*3600; AAD0:=arctan(sqrt(1-sqr((sqr(AV)+sqr(AR)-sqr(ER))/(2*AV*AR)))/((sqr(AV)+sqr(AR)-sqr(ER))/ (2*AV*AR)))*180/PI; AAD:=sqrt(abs(sqr(AAD0)-sqr(ABD))); If AAD1<0 then begin AAD:=-AAD; end; AA:=(AG+AAD)/15; //пряме піднесення Марса If AA>=24 then begin AA:=AA-24; end; If AA<0 then begin AA:=AA+24; end; AAH:=int(AA); AAM:=frac(AA)*60; AAS:=frac(AAM)*60; AID1:=sin((AA*15)*PI/180)*(Eri-0.00013011111*(R0-1900));//схилення точки екліптики AID2:=arctan((sin((180-AA*15)*PI/180)*sin((Eri-0.00013011111*(R0-1900))*PI/180))/ (sqrt(1-sqr(sin((180-AA*15)*PI/180)*sin((Eri-0.00013011111*(R0-1900))*PI/180)))))* 180/PI; //те саме другим методом AID:=(AID1+AID2)/2; //їх середнє значення AB:=AID+ABD; //Схилення Марса ABG:=int(AB); ABM:=frac(AB)*60; AF:=(1/2)+(cos(AAD0*PI/180)/2); //фаза диска Марса, формула 11 end;//Mars2 Procedure Mars3; begin AT1:=AA-(EG/15+k); If AT1<0 then begin AT1:=AT1+24; end; ATK:=AT1/1.002738; //час кульмінації Марса, формула 14 ATKL:=ATK-LB/15+n; //місцевий час кульмінації if ATKL<0 then begin ATKL:=ATKL+24; end; ATKLH:=int(ATKL); ATKLM:=frac(ATKL)*60; AP:=90+0.59+(AYD/2)-(arctan(Ere/(AV*AO))*180/PI); AT2:=(cos(AP*PI/180)-sin(FI*PI/180)*sin(AB*PI/180))/(cos(FI*PI/180)*cos(AB*PI/180)); AT3:=arctan(sqrt(1-sqr(AT2))/AT2)*180/PI;//годинний кут сходу і заходу Марса if AT3<=0 then //формула 12 begin AT3:=AT3+180; end; ATG:=AT3/15; ATS:=ATK-ATG; //час сходу Марса if ATS<0 then begin ATS:=ATS+24; end; ATSL:=ATS-LB/15+n; //місцевий час сходу if ATSL<0 then begin ATSL:=ATSL+24; end; ATSLH:=int(ATSL); ATSLM:=frac(ATSL)*60; ATZ:=ATK+ATG; //час заходу Марса if ATZ>=24 then begin ATZ:=ATZ-24; end; ATZL:=ATZ-LB/15+n; //місцевий час заходу if ATZL<0 then begin ATZL:=ATZL+24; end; ATZLH:=int(ATZL); ATZLM:=frac(ATZL)*60; AZ:=arctan((cos(AB*PI/180)*sin(AT3*PI/180)/sin(AP*PI/180))/sqrt(1-sqr((cos(AB*PI/180)* sin(AT3*PI/180))/sin(AP*PI/180))))*180/PI; //азимут Марса при сході і заході if AB>0 then //формула 13 begin AZ:=180-AZ; end; end;//Mars3 end. unit Common; interface var ZPL,ZD,ZM,ZR,ZPL1,ZD1,ZM1,ZR1 : integer; ZAA,ZAB,ZAA1,ZAB1 :real; implementation end.
unit Unit3; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Buttons, Common,Math,Unit4; type TForm3 = class(TForm) Image1: TImage; SpeedButton1: TSpeedButton; SpeedButton2: TSpeedButton; Button1: TButton; Label1: TLabel; ----------------------- Label31: TLabel; StaticText1: TStaticText; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure SpeedButton1Click(Sender: TObject); procedure SpeedButton2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; Mas = array[1..311] of real; var Form3: TForm3; ZA,ZB,ZP : Mas; ZAG,ZBG : integer; ZAM,ZBM,x,y,x3,y3 : real; x4,y4,x5,y5,x0,y0,x1,y1,x2,y2 :variant; implementation {$R *.dfm} procedure TForm3.FormCreate(Sender: TObject); var i:integer; begin SpeedButton2.visible:=false; Label1.Visible:=false; Label2.Visible:=false; Label3.Visible:=false; Label4.Visible:=false; Label5.Visible:=false; Label6.Visible:=false; Image1.Canvas.Brush.Color:=clBlack; Image1.Canvas.Brush.Style:=bsSolid; Image1.Canvas.Rectangle(0,0,1010,255); Image1.Canvas.pen.color:=clWhite; Image1.Canvas.Moveto (0,0); Image1.Canvas.LineTo (1000,0); Image1.Canvas.LineTo (1000,250); Image1.Canvas.LineTo (0,250); Image1.Canvas.LineTo (0,0); Image1.Canvas.MoveTo(0,139); Image1.Canvas.LineTo (1000,139); //ruscu Image1.Canvas.MoveTo(1000,0); Image1.Canvas.LineTo (1005,0); Image1.Canvas.MoveTo(1000,28); Image1.Canvas.LineTo (1005,28); Image1.Canvas.MoveTo(1000,56); Image1.Canvas.LineTo (1005,56); Image1.Canvas.MoveTo(1000,83); Image1.Canvas.LineTo (1005,83); Image1.Canvas.MoveTo(1000,111); Image1.Canvas.LineTo (1005,111); Image1.Canvas.MoveTo(1000,139); Image1.Canvas.LineTo (1005,139); Image1.Canvas.MoveTo(1000,167); Image1.Canvas.LineTo (1005,167); Image1.Canvas.MoveTo(1000,194); Image1.Canvas.LineTo (1005,194); Image1.Canvas.MoveTo(1000,222); Image1.Canvas.LineTo (1005,222); Image1.Canvas.MoveTo(1000,250); Image1.Canvas.LineTo (1005,250); //ruscu Image1.Canvas.MoveTo(1000,250); Image1.Canvas.LineTo (1000,255); Image1.Canvas.MoveTo(958,250); Image1.Canvas.LineTo (958,255); Image1.Canvas.MoveTo(917,250); Image1.Canvas.LineTo (917,255); Image1.Canvas.MoveTo(875,250); Image1.Canvas.LineTo (875,255); Image1.Canvas.MoveTo(833,250); Image1.Canvas.LineTo (833,255); Image1.Canvas.MoveTo(792,250); Image1.Canvas.LineTo (792,255); Image1.Canvas.MoveTo(750,250); Image1.Canvas.LineTo (750,255); Image1.Canvas.MoveTo(708,250); Image1.Canvas.LineTo (708,255); Image1.Canvas.MoveTo(667,250); Image1.Canvas.LineTo (667,255); Image1.Canvas.MoveTo(625,250); Image1.Canvas.LineTo (625,255); Image1.Canvas.MoveTo(583,250); Image1.Canvas.LineTo (583,255); Image1.Canvas.MoveTo(542,250); Image1.Canvas.LineTo (542,255); Image1.Canvas.MoveTo(500,250); Image1.Canvas.LineTo (500,255); Image1.Canvas.MoveTo(458,250); Image1.Canvas.LineTo (458,255); Image1.Canvas.MoveTo(417,250); Image1.Canvas.LineTo (417,255); Image1.Canvas.MoveTo(375,250); Image1.Canvas.LineTo (375,255); Image1.Canvas.MoveTo(333,250); Image1.Canvas.LineTo (333,255); Image1.Canvas.MoveTo(292,250); Image1.Canvas.LineTo (292,255); Image1.Canvas.MoveTo(250,250); Image1.Canvas.LineTo (250,255); Image1.Canvas.MoveTo(208,250); Image1.Canvas.LineTo (208,255); Image1.Canvas.MoveTo(167,250); Image1.Canvas.LineTo (167,255); Image1.Canvas.MoveTo(125,250); Image1.Canvas.LineTo (125,255); Image1.Canvas.MoveTo(83,250); Image1.Canvas.LineTo (83,255); Image1.Canvas.MoveTo(42,250); Image1.Canvas.LineTo (42,255); Image1.Canvas.MoveTo(0,250); Image1.Canvas.LineTo (0,255); //And ZA[1]:=0.07; ZB[1]:=29.02; ZP[1]:=1; ZA[2]:=1.09; ZB[2]:=35.34; ZP[2]:=1; ZA[3]:=2.03; ZB[3]:=42.17; ZP[3]:=1; ZA[4]:=0.38; ZB[4]:=30.48; ZP[4]:=0.5; ZA[5]:=0.56; ZB[5]:=38.26; ZP[5]:=0.5; ZA[6]:=1.37; ZB[6]:=48.34; ZP[6]:=0.5; ZA[7]:=23.01; ZB[7]:=42.16; ZP[7]:=0.5; ZA[8]:=23.47; ZB[8]:=46.24; ZP[8]:=0.5; -------------------------------------------- //Lup ZA[311]:=15.21; ZB[311]:=-36.13; ZP[311]:=0.5; //ZA[]:=; ZB[]:=; ZP[]:=; for i:=1 to 311 do begin ZAG:=Trunc(ZA[i]);ZAM:=frac(ZA[i])/0.6; ZA[i]:=ZAG+ZAM; ZBG:=Trunc(ZB[i]);ZBM:=frac(ZB[i])/0.6; ZB[i]:=ZBG+ZBM; if ZB[i]<=0 then ZB[i]:=abs(ZB[i])+50 else ZB[i]:=50-ZB[i]; y:=250-(((90-ZB[i])/90)*250); x:=((24-ZA[i])/24)*1000; x0:=int(x); y0:=int(y); if ZP[i]=0.5 then Image1.Canvas.Pixels[x0,y0]:=clWhite else begin Image1.Canvas.Pen.Color:=clWhite; Image1.Canvas.Brush.Style:=bsSolid; Image1.Canvas.Brush.Color:=clWhite; x1:=int(x-ZP[i]); y1:=int(y-ZP[i]); x2:=int(x+ZP[i]); y2:=int(y+ZP[i]); Image1.Canvas.Ellipse(x1,y1,x2,y2); end; end; end; procedure TForm3.Button1Click(Sender: TObject); begin close; end; procedure TForm3.SpeedButton1Click(Sender: TObject); begin SpeedButton2.visible:=true; Label1.Visible:=true; Label2.Visible:=true; Label3.Visible:=true; Label4.Visible:=true; Label5.Visible:=true; Label6.Visible:=true; case ZPL of 1: Label1.Caption:='Меркурій'; 2: Label1.Caption:='Венеру'; 4: Label1.Caption:='Марс'; 5: Label1.Caption:='Юпітер'; 6: Label1.Caption:='Сатурн'; 7: Label1.Caption:='Уран'; 8: Label1.Caption:='Нептун'; 9: Label1.Caption:='Плутон'; end; Label3.Caption:=IntToStr(ZD); Label5.Caption:=IntToStr(ZR); case ZM of 1: Label4.Caption:='січня'; 2: Label4.Caption:='лютого'; 3: Label4.Caption:='березня'; 4: Label4.Caption:='квітня'; 5: Label4.Caption:='травня'; 6: Label4.Caption:='червня'; 7: Label4.Caption:='липня'; 8: Label4.Caption:='серпня'; 9: Label4.Caption:='вересня'; 10: Label4.Caption:='жовтня'; 11: Label4.Caption:='листопада'; 12: Label4.Caption:='грудня'; end; if ZAB<=0 then ZAB:=abs(ZAB)+50 else ZAB:=50-ZAB; y3:=250-(((90-ZAB)/90)*250); x3:=((24-ZAA)/24)*1000; x4:=int(x3-2); y4:=int(y3-2); x5:=int(x3+2); y5:=int(y3+2); case ZPL of 1:Image1.Canvas.Pen.Color:=clRed; 2:Image1.Canvas.Pen.Color:=clAqua; 4:Image1.Canvas.Pen.Color:=clRed; 5:Image1.Canvas.Pen.Color:=clYellow; 6:Image1.Canvas.Pen.Color:=clLime; 7:Image1.Canvas.Pen.Color:=clGreen; 8:Image1.Canvas.Pen.Color:=clBlue; 9:Image1.Canvas.Pen.Color:=clFuchsia; end; Image1.Canvas.Ellipse(x4,y4,x5,y5); end; procedure TForm3.SpeedButton2Click(Sender: TObject); begin Form4:=TForm4.Create(Application); Form4.ShowModal; Form4.Free; SpeedButton2.visible:=false; end; end. unit Unit4; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Buttons, Common,Math; type TForm4 = class(TForm) Image1: TImage; Timer1: TTimer; Button1: TButton; Label1: TLabel; ----------------------- Label32: TLabel; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); private { Private declarations } public { Public declarations } end; Mas = array[1..311] of real; var Form4: TForm4; ZA,ZB,ZP : Mas; ZAG,ZBG : integer; ZAM,ZBM,x,y,x3,y3 : real; x4,y4,x5,y5,x0,y0,x1,y1,x2,y2,g :variant; implementation {$R *.dfm} procedure TForm4.FormCreate(Sender: TObject); var i : integer; begin Timer1.Enabled:=true; Image1.Canvas.Brush.Color:=clBlack; Image1.Canvas.Brush.Style:=bsSolid; Image1.Canvas.Rectangle(0,0,2020,505); Image1.Canvas.pen.color:=clWhite; Image1.Canvas.Moveto (0,0); Image1.Canvas.LineTo (2000,0); Image1.Canvas.LineTo (2000,500); Image1.Canvas.LineTo (0,500); Image1.Canvas.LineTo (0,0); Image1.Canvas.MoveTo(0,278); Image1.Canvas.LineTo (2000,278); //ruscu Image1.Canvas.MoveTo(2000,0); Image1.Canvas.LineTo (2005,0); Image1.Canvas.MoveTo(2000,56); Image1.Canvas.LineTo (2005,56); Image1.Canvas.MoveTo(2000,111); Image1.Canvas.LineTo (2005,111); Image1.Canvas.MoveTo(2000,167); Image1.Canvas.LineTo (2005,167); Image1.Canvas.MoveTo(2000,222); Image1.Canvas.LineTo (2005,222); Image1.Canvas.MoveTo(2000,278); Image1.Canvas.LineTo (2005,278); Image1.Canvas.MoveTo(2000,334); Image1.Canvas.LineTo (2005,334); Image1.Canvas.MoveTo(2000,388); Image1.Canvas.LineTo (2005,388); Image1.Canvas.MoveTo(2000,444); Image1.Canvas.LineTo (2005,444); Image1.Canvas.MoveTo(2000,500); Image1.Canvas.LineTo (2005,500); //ruscu Image1.Canvas.MoveTo(2000,500); Image1.Canvas.LineTo (2000,505); Image1.Canvas.MoveTo(1916,500); Image1.Canvas.LineTo (1916,505); Image1.Canvas.MoveTo(1834,500); Image1.Canvas.LineTo (1834,505); Image1.Canvas.MoveTo(1750,500); Image1.Canvas.LineTo (1750,505); Image1.Canvas.MoveTo(1666,500); Image1.Canvas.LineTo (1666,505); Image1.Canvas.MoveTo(1584,500); Image1.Canvas.LineTo (1584,505); Image1.Canvas.MoveTo(1500,500); Image1.Canvas.LineTo (1500,505); Image1.Canvas.MoveTo(1416,500); Image1.Canvas.LineTo (1416,505); Image1.Canvas.MoveTo(1334,500); Image1.Canvas.LineTo (1334,505); Image1.Canvas.MoveTo(1250,500); Image1.Canvas.LineTo (1250,505); Image1.Canvas.MoveTo(1166,500); Image1.Canvas.LineTo (1166,505); Image1.Canvas.MoveTo(1084,500); Image1.Canvas.LineTo (1084,505); Image1.Canvas.MoveTo(1000,500); Image1.Canvas.LineTo (1000,505); Image1.Canvas.MoveTo(916,500); Image1.Canvas.LineTo (916,505); Image1.Canvas.MoveTo(834,500); Image1.Canvas.LineTo (834,505); Image1.Canvas.MoveTo(750,500); Image1.Canvas.LineTo (750,505); Image1.Canvas.MoveTo(666,500); Image1.Canvas.LineTo (666,505); Image1.Canvas.MoveTo(584,500); Image1.Canvas.LineTo (584,505); Image1.Canvas.MoveTo(500,500); Image1.Canvas.LineTo (500,505); Image1.Canvas.MoveTo(416,500); Image1.Canvas.LineTo (416,505); Image1.Canvas.MoveTo(334,500); Image1.Canvas.LineTo (334,505); Image1.Canvas.MoveTo(250,500); Image1.Canvas.LineTo (250,505); Image1.Canvas.MoveTo(166,500); Image1.Canvas.LineTo (166,505); Image1.Canvas.MoveTo(84,500); Image1.Canvas.LineTo (84,505); Image1.Canvas.MoveTo(0,500); Image1.Canvas.LineTo (0,505); //Image1.Canvas.TextOut(10,30,'Boo'); //And ZA[1]:=0.07; ZB[1]:=29.02; ZP[1]:=1.5; ZA[2]:=1.09; ZB[2]:=35.34; ZP[2]:=1.5; ZA[3]:=2.03; ZB[3]:=42.17; ZP[3]:=1.5; ZA[4]:=0.38; ZB[4]:=30.48; ZP[4]:=0.5; ZA[5]:=0.56; ZB[5]:=38.26; ZP[5]:=0.5; ZA[6]:=1.37; ZB[6]:=48.34; ZP[6]:=0.5; ZA[7]:=23.01; ZB[7]:=42.16; ZP[7]:=0.5; ZA[8]:=23.47; ZB[8]:=46.24; ZP[8]:=0.5; --------------------------------------------- //Lup ZA[311]:=15.21; ZB[311]:=-36.13; ZP[311]:=0.5; //ZA[]:=; ZB[]:=; ZP[]:=; for i:=1 to 311 do begin ZAG:=Trunc(ZA[i]);ZAM:=frac(ZA[i])/0.6; ZA[i]:=ZAG+ZAM; ZBG:=Trunc(ZB[i]);ZBM:=frac(ZB[i])/0.6; ZB[i]:=ZBG+ZBM; if ZB[i]<=0 then ZB[i]:=abs(ZB[i])+50 else ZB[i]:=50-ZB[i]; y:=500-(((90-ZB[i])/90)*500); x:=((24-ZA[i])/24)*2000; x0:=int(x); y0:=int(y); if ZP[i]=0.5 then Image1.Canvas.Pixels[x0,y0]:=clWhite else begin Image1.Canvas.Pen.Color:=clWhite; Image1.Canvas.Brush.Style:=bsSolid; Image1.Canvas.Brush.Color:=clWhite; x1:=int(x-ZP[i]); y1:=int(y-ZP[i]); x2:=int(x+ZP[i]); y2:=int(y+ZP[i]); Image1.Canvas.Ellipse(x1,y1,x2,y2); end; end; case ZPL1 of 1: Label1.Caption:='Меркурій'; 2: Label1.Caption:='Венеру'; 4: Label1.Caption:='Марс'; 5: Label1.Caption:='Юпітер'; 6: Label1.Caption:='Сатурн'; 7: Label1.Caption:='Уран'; 8: Label1.Caption:='Нептун'; 9: Label1.Caption:='Плутон'; end; Label3.Caption:=IntToStr(ZD1); Label5.Caption:=IntToStr(ZR1); case ZM1 of 1: Label4.Caption:='січня'; 2: Label4.Caption:='лютого'; 3: Label4.Caption:='березня'; 4: Label4.Caption:='квітня'; 5: Label4.Caption:='травня'; 6: Label4.Caption:='червня'; 7: Label4.Caption:='липня'; 8: Label4.Caption:='серпня'; 9: Label4.Caption:='вересня'; 10: Label4.Caption:='жовтня'; 11: Label4.Caption:='листопада'; 12: Label4.Caption:='грудня'; end; if ZAB1<=0 then ZAB1:=abs(ZAB1)+50 else ZAB1:=50-ZAB1; y3:=500-(((90-ZAB1)/90)*500); x3:=((24-ZAA1)/24)*2000; x4:=int(x3-2.5); y4:=int(y3-2.5); x5:=int(x3+2.5); y5:=int(y3+2.5); case ZPL1 of 1:Image1.Canvas.Pen.Color:=clRed; 2:Image1.Canvas.Pen.Color:=clAqua; 4:Image1.Canvas.Pen.Color:=clRed; 5:Image1.Canvas.Pen.Color:=clYellow; 6:Image1.Canvas.Pen.Color:=clLime; 7:Image1.Canvas.Pen.Color:=clGreen; 8:Image1.Canvas.Pen.Color:=clBlue; 9:Image1.Canvas.Pen.Color:=clFuchsia; end; Image1.Canvas.Ellipse(x4,y4,x5,y5); g:=0;
end; procedure TForm4.Button1Click(Sender: TObject); begin Timer1.Enabled:=false; close; end; procedure TForm4.Timer1Timer(Sender: TObject); begin begin g:=g+1; if g div 2=5 then begin Image1.Canvas.Pen.Color:=clBlack; Image1.Canvas.Brush.Style:=bsSolid; Image1.Canvas.Brush.Color:=clBlack; Image1.Canvas.Ellipse(x4,y4,x5,y5); g:=0; end else begin
Image1.Canvas.Brush.Style:=bsSolid; Image1.Canvas.Brush.Color:=clWhite; case ZPL1 of 1:Image1.Canvas.Pen.Color:=clRed; 2:Image1.Canvas.Pen.Color:=clAqua; 4:Image1.Canvas.Pen.Color:=clRed; 5:Image1.Canvas.Pen.Color:=clYellow; 6:Image1.Canvas.Pen.Color:=clLime; 7:Image1.Canvas.Pen.Color:=clGreen; 8:Image1.Canvas.Pen.Color:=clBlue; 9:Image1.Canvas.Pen.Color:=clFuchsia; end; Image1.Canvas.Ellipse(x4,y4,x5,y5); end; end; end; end. Здійснимо
тестування програми на предмет похибки результатів від істинних
5.Висновки. Отже повернімося до першого питання простої людини:” Куди направити свій погляд, щоб побачити якусь планету?” Найпростіша відповідь: ”В час кульмінації планети стати обличчям на південь ( напрям небесного меридіану ) і знаючи координату схилення d (AB) обчислити кут e між горизонтом і планетою за виразом:
e = j + ( d ) Програма явно “сира” – що називається “demo-версія”. Середовище Delphi дозволило спростити зовнішній інтерфейс програми, ввід-вивід інформації. Введення графічних компонент дозволило наочно зобразити розміщення планет на фоні зоряного неба. Використання принципово іншого обчислювального “ ядра “ дозволить не тільки досягти більш точних результатів, але й визначити ефемериди для інших тіл Сонячної системи: астероїдів і комет. 6.Список літератури. 1.Астрономический календарь на 1990
г. / Под. Ред. Д.Н.Пономарева. – М.: 2.Бронштейн В.А. Как движется Луна?
– М.: Наука. Гл. ред. физ-мат. лит., 3.Климишин И.А. Жемчужины звездного неба . – К.: Рад. шк., 1988. – 206с. 4.Климишин І.А., Тельнюк-Адамчук В.В.
Шкільний астрономічний довідник 5.Романовський Т.Б. Микрокалькуляторы в рассказах и играх
– К.: Рад. шк., 6.Хоровитц Н. Поиски жизни в
Солнечной системе: Пер. с англ./ Под ред. и P.S. Не судіть надто мою необізненість в справах астрономії, тому що формули з цієї програми виводились мною будучи 15- літнім хлопцем, коли в школі розпочинають вчити тригонометрію. Хто зацікавився даною програмою може звернутися на vetoo@mail.ru , я з задоволенням вишлю її вам на шару. |
НОВОСТИ |
ВХОД |
|
Рефераты бесплатно, реферат бесплатно, курсовые работы, реферат, доклады, рефераты, рефераты скачать, рефераты на тему, сочинения, курсовые, дипломы, научные работы и многое другое. |
||
При использовании материалов - ссылка на сайт обязательна. |