скачать рефераты
  RSS    

Меню

Быстрый поиск

скачать рефераты

скачать рефератыРеферат: Тригонометричні ефемериди планет Сонячної системи

      ZM1:=1;

      end;

    end;

    R0:=StrToInt(ComboBox3.Text);

    ZR:=StrToInt(ComboBox3.Text);

    ZR1:=StrToInt(ComboBox3.Text);

    if (R0<1990) or (R0>2100) then          //захист від помилки

       begin

        if MessageDlg('Помилка граничних меж дат спостереження 1990-2100 рр.'

        ,mtError,[mbOK],0)=mrOK then

          begin

          ComboBox3.ItemIndex:=0;

          R0:=StrToInt(ComboBox3.Text);

          ZR:=StrToInt(ComboBox3.Text);

          ZR1:=StrToInt(ComboBox3.Text);

          end;

       end;

    FI:=StrToFloat(Edit1.Text);

    if abs(FI)>90 then                        //захист від помилки

    begin

     if  MessageDlg('Помилка введення географічної широти місця спостереження!'+#13+'                Має бути в межах +-90 градусів',

       mtError,[mbOK],0)=mrOK then

         begin

         Edit1.Text:='56';

         FI:=StrToFloat(Edit1.Text);

         end;

     end;

    LB:=StrToFloat(Edit2.Text);

    if LB<0 then

     begin

     LB:=360+LB;

     end;

     i:=0;

        if R0=1992 or 1996 or 2000 or 2004 or 2008 or 2012 then   //високосні роки

           begin

            i:=1                                  //29 лютого

           end;

        case M0 of                                //DR  номер дня моменту спостереження

        1: begin DR:=D0 ; n:=0 ; k:=-0.040;end;                   //з початку року

        2: begin DR:=31+D0; n:=0;k:=-0.094;end;

        3: begin DR:=59+i+D0; n:=0;k:=-0.13;end;            //n  мітка пори року 0-зима,1-літо

        4: begin DR:=59+i+31+D0 ; n:=1;k:=-0.131;end;

        5: begin DR:=59+i+61+D0; n:=1;k:=-0.103;end;        //k  середня поправка зоряного часу

        6: begin DR:=59+i+92+D0; n:=1;k:=-0.051;end;

        7: begin DR:=59+i+122+D0; n:=1;k:=0.013;end;

        8: begin DR:=59+i+153+D0; n:=1;k:=0.073;end;

        9: begin DR:=59+i+184+D0; n:=1;k:=0.107;end;

       10: begin DR:=59+i+214+D0; n:=0;k:=0.114;end;

       11: begin DR:=59+i+245+D0; n:=0;k:=0.083;end;

       12: begin DR:=59+i+275+D0; n:=0;k:=0.028;end;

       end;

        S0:=int((12-M0)/10);                   //формула 1

        P0:=int((S0*12+M0-2)*30.59+D0);

        RM:=int((R0-S0-1900)*365.25+P0);       //номер дати спостереження з 1 березня 1900р.

          if RM<=32851 then                    //захист від помилки

            begin

             if  MessageDlg('Помилка введення дати спостереження!'+#13+'  Має бути не раніше 9 січня 1990р.',

             mtError,[mbOK],0)=mrOK then

              begin

               ComboBox1.ItemIndex:=8;

               D0:=StrToInt(ComboBox1.Text);

               ComboBox2.ItemIndex:=0;

               M0:=1;

               ComboBox3.ItemIndex:=0;

               R0:=StrToInt(ComboBox3.Text);

              end;

            end;

          case PLN of

          1:  begin Eagth1(EG,ER,ER0,ESD,EH,ER1,EGD, ED,DR);

           Mercury1(AD,AG,AR,x,AR0,ASD,AH,AR1,AGD,RM,EG);

           Mercury2(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,R0);

           Mercury3(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,n);end;           //запуск процедур в модулях

          2:  begin Eagth1(EG,ER,ER0,ESD,EH,ER1,EGD, ED,DR);

           Venus1(AD,AG,AR,x,AR0,ASD,AH,AR1,AGD,RM,EG);

           Venus2(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,R0);

           Venus3(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,n);end;

          3: Eagth1(EG,ER,ER0,ESD,EH,ER1,EGD, ED,DR);

          4: begin Eagth1(EG,ER,ER0,ESD,EH,ER1,EGD, ED,DR);

           Mars1(AD,AG,AR,x,AR0,ASD,AH,AR1,AGD,RM,EG);

           Mars2(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,R0);

           Mars3(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,n);end;

          5:  begin Eagth1(EG,ER,ER0,ESD,EH,ER1,EGD, ED,DR);

           Jupiter1(AD,AG,AR,x,AR0,ASD,AH,AR1,AGD,RM,EG);

           Jupiter2(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,R0);

           Jupiter3(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,n);end;

           6:  begin Eagth1(EG,ER,ER0,ESD,EH,ER1,EGD, ED,DR);

           Saturn1(AD,AG,AR,x,AR0,ASD,AH,AR1,AGD,RM,EG);

           Saturn2(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,R0);

           Saturn3(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,n);end;

           7:  begin Eagth1(EG,ER,ER0,ESD,EH,ER1,EGD, ED,DR);

           Uran1(AD,AG,AR,x,AR0,ASD,AH,AR1,AGD,RM,EG);

           Uran2(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,R0);

           Uran3(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,n);end;

           8:  begin Eagth1(EG,ER,ER0,ESD,EH,ER1,EGD, ED,DR);

           Neptun1(AD,AG,AR,x,AR0,ASD,AH,AR1,AGD,RM,EG);

           Neptun2(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,R0);

           Neptun3(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,n);end;

           9:  begin Eagth1(EG,ER,ER0,ESD,EH,ER1,EGD, ED,DR);

           Pluton1(AD,AG,AR,x,AR0,ASD,AH,AR1,AGD,RM,EG);

           Pluton2(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,R0);

           Pluton3(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,n);end;

          end;

       if PLN=3 then

       begin

       Label4.Visible:=true;

       Label14.Visible:=true;

       Label27.Visible:=true;

       Label27.Caption:=FloatToStrF(EG,ffGeneral,7,3);

       Label5.Visible:=true;

       Label15.Visible:=true;

       Label28.Visible:=true;

       Label28.Caption:=FloatToStrF(ER,ffGeneral,6,3);

       D0:=0;

       M0:=0;

       R0:=0;

       end

               else

               begin

                 Label4.Visible:=true;

                 Label14.Visible:=true;

                 Label27.Visible:=true;

                 Label27.Caption:=FloatToStrF(AG,ffGeneral,7,3);

                 Label5.Visible:=true;

                 Label15.Visible:=true;

                 Label28.Visible:=true;

                 Label28.Caption:=FloatToStrF(AR,ffGeneral,6,3);

                 Label6.Visible:=true;

                 Label29.Visible:=true;

                 Label16.Visible:=true;

                 Label30.Visible:=true;

                 Label17.Visible:=true;

                 Label29.Caption:=FloatToStrF(AAH,ffGeneral,2,0);

                 Label30.Caption:=FloatToStrF(AAM,ffGeneral,4,2);

                 Label7.Visible:=true;

                 Label31.Visible:=true;

                 Label18.Visible:=true;

                 Label41.Visible:=true;

                 Label42.Visible:=true;

                 Label31.Caption:=FloatToStrF(ABG,ffGeneral,2,0);

                 Label41.Caption:=FloatToStrF(ABM,ffGeneral,4,2);

                 Label8.Visible:=true;

                 Label32.Visible:=true;

                 Label19.Visible:=true;

                 Label32.Caption:=FloatToStrF(AYDS,ffGeneral,3,1);

                 Label9.Visible:=true;

                 Label33.Visible:=true;

                 Label33.Caption:=FloatToStrF(AF,ffGeneral,3,2);

                 Label10.Visible:=true;

                 Label34.Visible:=true;

                 Label21.Visible:=true;

                 Label35.Visible:=true;

                 Label23.Visible:=true;

                 Label34.Caption:=FloatToStrF(ATSLH,ffGeneral,2,0);

                 Label35.Caption:=FloatToStrF(ATSLM,ffGeneral,4,2);

                 Label11.Visible:=true;

                 Label36.Visible:=true;

                 Label20.Visible:=true;

                 Label37.Visible:=true;

                 Label24.Visible:=true;

                 Label36.Caption:=FloatToStrF(ATKLH,ffGeneral,2,0);

                 Label37.Caption:=FloatToStrF(ATKLM,ffGeneral,4,2);

                 Label12.Visible:=true;

                 Label38.Visible:=true;

                 Label22.Visible:=true;

                 Label39.Visible:=true;

                 Label25.Visible:=true;

                 Label38.Caption:=FloatToStrF(ATZLH,ffGeneral,2,0);

                 Label39.Caption:=FloatToStrF(ATZLM,ffGeneral,4,2);

                 Label13.Visible:=true;

                 Label40.Visible:=true;

                 Label26.Visible:=true;

                 Label40.Caption:=FloatToStrF(AZ,ffGeneral,4,2);

                 if abs(int(AG-EG))<=5 then

                   begin

                     Label43.Visible:=true;

                   end;

                   Label44.Visible:=true;

                   Label45.Visible:=true;

                   Label46.Visible:=true;

                   Label45.Caption:=FloatToStrF(AV,ffGeneral,6,3);

                 ZAA:=AA;

                 ZAB:=AB;

                 ZAA1:=AA;

                 ZAB1:=AB;

                 D0:=0;

                 M0:=0;

                 R0:=0;

                 Button2.Enabled:=true;

               end; 

end;

procedure TForm2.Button2Click(Sender: TObject);

begin

 Form3:=TForm3.Create(Application);

 Form3.ShowModal;

 Form3.Free;

 Button2.Enabled:=false;

end;

end.

unit KonstPLN;

interface

Const AO=149597870; N0=0.01;         //астрономічна одиниця км

         Eri=23.452295;Ari=25.2;Jri=3.1;Mri=7;Vri=3.4;Sri=26.8;

         Uri=98;Nri=29;Pri=1;//нахил екватора до екліптики

         Eao=1;Aao=1.523688;Jao=5.202803;Mao=0.387099;Vao=0.723322;Sao=9.538843;

         Uao=19.190978;Nao=30.070672;Pao=39.51774;//велика піввісь орбіти

         Eeo=0.016738;Aeo=0.09334;Jeo=0.048387;Meo=0.20562;Veo=0.006806;Seo=0.056;

         Ueo=0.0472;Neo=0.008553;Peo=0.253;//ексцентриситет орбіти

         Eap=104.24375;Aap=335.7197;Jap=15.2;Map=77.31552;Vap=131.53526;Sap=86.25;

         Uap=171.14;Nap=45.5;Pap=225;//довгота перигелію орбіти

         Etd=365.24219;Atd=686.9797;Jtd=4332.5879;Mtd=87.9693;Vtd=224.7008;Std=10759.201;

         Utd=30685.93;Ntd=60187.65;Ptd=90731.2;//період обертання навколо Сонця дн.

         Ere=6378.14;Are=3390;Jre=71492;Mre=2440;Vre=6052;Sre=60268;

         Ure=24300;Nre=25000;Pre=1500;//екваторіальний радіус планети км.

         Evo=29.77;Avo=24.22;Jvo=13.07;Mvo=48.89;Vvo=35;Svo=9.65;

         Uvo=6.8;Nvo=5.43;Pvo=4.74;//орбітальна швидкість планети км/с

         Avy=49.966942;Jvy=40.690276;Mvy=48.450552;Vvy=76.998886;Svy=113.99442;

         Uvy=74.590276;Nvy=131.95776;Pvy=109.9036;//довгота висхідного вузла орбіти

         Aie=1.85;Jie=1.3069442;Mie=7.0033332;Vie=3.3938886;Sie=2.491111;

         Uie=0.772777;Nie=1.7763886;Pie=17.313332;//нахил орбіти до екліптики

implementation

begin

end.

unit Eagth;

interface

  Uses Math,KonstPLN;

  Const ED5=9;  EG5=108.6; ER5=0.9833; // початкові координати Землі 9 січня 1990р.

    Procedure Eagth1(var EG,ER,ER0,ESD,EH,ER1,EGD,ED:real;var  DR:integer);


implementation

 Procedure Eagth1;

 

      begin

           ED:=ED5; EG:=EG5; ER:=ER5;

           ER0:=Evo*86400/AO*N0;        {формула 4}        //шлях проходження за N3 дні

           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;

Страницы: 1, 2, 3, 4, 5


Новости

Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

© 2010.