на тему рефераты
 
Главная | Карта сайта
на тему рефераты
РАЗДЕЛЫ

на тему рефераты
ПАРТНЕРЫ

на тему рефераты
АЛФАВИТ
... А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я

на тему рефераты
ПОИСК
Введите фамилию автора:


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


br>

  


 

3. Програма на мові програмування Delphi.


unit Unit1;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, ExtCtrls, StdCtrls,Unit2, jpeg;

type

  TForm1 = class(TForm)

    Panel1: TPanel;

    Image1: TImage;

    StaticText1: TStaticText;

    StaticText2: TStaticText;

    StaticText3: TStaticText;

    StaticText4: TStaticText;

    StaticText5: TStaticText;

    GroupBox1: TGroupBox;

    Button1: TButton;

    Button2: TButton;

    Edit1: TEdit;

    StaticText6: TStaticText;

    Image2: TImage;

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure FormCreate(Sender: TObject);

  

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form1: TForm1;

  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var PAR : string;

begin

 PAR:=Edit1.Text;

  If PAR='orion 17' Then

  begin

    Form2:=TForm2.Create(Application);

    Form2.ShowModal;

    Form2.Free;

    Edit1.Clear;

    end

                   else

                     begin

                       if MessageDlg('Пароль невірний! Значення " '+Edit1.Text+' " не є паролем! Зверніться до розробника',

                       mtError,[mbOK],0)=mrOK then

                         Edit1.Clear;

                     end;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

close;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

 Image1.Picture.LoadFromFile('star.jpg');

 Image2.Picture.LoadFromFile('star2.jpg');

end;

end.


unit Unit2;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Math,

  Dialogs, StdCtrls, ExtCtrls,Unit3,KonstPLN,Eagth,Mars,Jupiter,Saturn,Mercury,

  Venus,Uran,Neptun,Pluton, Common,Unit4;

type

  TForm2 = class(TForm)

    Panel1: TPanel;

    GroupBox1: TGroupBox;

    GroupBox2: TGroupBox;

    GroupBox3: TGroupBox;

    GroupBox4: TGroupBox;

    Button1: TButton;

    Button2: TButton;

    Button3: TButton;

    Button4: TButton;   

    Image1: TImage;

    Image2: TImage;

    RadioButton1: TRadioButton;

    ---------------------------

    RadioButton9: TRadioButton;   

    StaticText1: TStaticText;

    ----------------------------

    StaticText5: TStaticText;

    ComboBox1: TComboBox;

    ComboBox2: TComboBox;

    ComboBox3: TComboBox;   

    Edit1: TEdit;

    Edit2: TEdit;

    Label1: TLabel;   

    ---------------------------

    Label46: TLabel;

    procedure RadioButton1Click(Sender: TObject);

    ----------------------------------------------

    procedure RadioButton9Click(Sender: TObject);

    procedure FormCreate(Sender: TObject);

    procedure Button1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form2: TForm2;

  Form3: TForm3;

   PLN,D0,M0,R0,i,DR,n : integer;

  FI,LB,k,S0,P0,RM, ED,EG,ER,ER0,ESD,EH,ER1,EGD,

  AD,AG,AR,x,AR0,ASD,AH,AR1,AGD, AAD1,ARS,AZE,AZP,

  ABD,AV,AYD,AYDS,AAD0,AAD,AA,AAM,AAS,AID1,AID2,AID,AB,ABM,AF, AT1,ATK,ATKL,

  ATKLM,AP,AT2,AT3,ATG,ATS,ATSL,ATSLM,ATZ,ATZL,ATZLM,AZ,AAH,ABG,ATKLH,

  ATSLH,ATZLH :real;

implementation

  

{$R *.dfm}

procedure TForm2.Button4Click(Sender: TObject);

begin

 MessageDlg('Інформація! Деякі географічні координати:'+#13+'Чортків FI=49.03, LB=25.83'+#13+'Тернопіль FI=49.6, LB=25.6'+#13+'Львів FI=49.8, LB=24'+#13+'Київ FI=50.5, LB=30.5'+#13+'Лондон(Грінвіч) FI=51.6, LB=0'

 ,mtInformation,[mbOK],0);

end;

procedure TForm2.Button3Click(Sender: TObject);

begin

close;

end;


procedure TForm2.RadioButton1Click(Sender: TObject);

begin

PLN:=1;ZPL:=1; ZPL1:=1;

Image1.Picture.LoadFromFile('mercury.jpg');

end;

------------------------------------------------------

procedure TForm2.RadioButton9Click(Sender: TObject);

begin

 PLN:=9; ZPL:=9; ZPL1:=9;

Image1.Picture.LoadFromFile('pluton.jpg');

end;

 procedure TForm2.FormCreate(Sender: TObject);

begin

 Image1.Picture.LoadFromFile('star1.jpg');

 Image2.Picture.LoadFromFile('sun.bmp');

ComboBox1.ItemIndex:=8;

ComboBox2.ItemIndex:=0;

ComboBox3.ItemIndex:=0;

Label4.Visible:=false;

----------------------

Label46.Visible:=false;

Button2.Enabled:=false;

 end;

procedure TForm2.Button1Click(Sender: TObject);

begin

Button2.Enabled:=false;

Label4.Visible:=false;

------------------------

Label46.Visible:=false;

 if PLN=0 then                             //захист від помилки

     begin

  if MessageDlg('     Ви забули вибрати планету!'+#13+'По замовчуванню буде вибрана Земля.'

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

        begin

          RadioButton3.Checked:=true;

          PLN:=3;

          Image1.Picture.LoadFromFile('eath.jpg');

        end;

    end;

 D0:=StrToInt(ComboBox1.Text);

 ZD:=StrToInt(ComboBox1.Text);

 ZD1:=StrToInt(ComboBox1.Text);

  if (D0<=0) or( D0>31) then             //захист від дурня

  begin

  if MessageDlg('Помилка введення номера дня місяця!'

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

    begin

    ComboBox1.ItemIndex:=8;

    D0:=StrToInt(ComboBox1.Text);

    ZD:=StrToInt(ComboBox1.Text);

    ZD1:=StrToInt(ComboBox1.Text);

    end;

  end;

     if ComboBox2.ItemIndex=0 then

     begin

    M0:=1;ZM:=1; ZM1:=1;

     end;

     -----------------------------------

    

     if ComboBox2.ItemIndex=11 then

     begin

    M0:=12;ZM:=12; ZM1:=12;

    end;

    if M0=0 then                          //захист від помилки

    begin

    if MessageDlg('Введення значення місяця цифрою недопустиме!',

    mtError,[mbOK],0)=mrOK then

      begin

      ComboBox2.ItemIndex:=0;

      M0:=1;

      ZM:=1;

      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 дні

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


на тему рефераты
НОВОСТИ на тему рефераты
на тему рефераты
ВХОД на тему рефераты
Логин:
Пароль:
регистрация
забыли пароль?

на тему рефераты    
на тему рефераты
ТЕГИ на тему рефераты

Рефераты бесплатно, реферат бесплатно, курсовые работы, реферат, доклады, рефераты, рефераты скачать, рефераты на тему, сочинения, курсовые, дипломы, научные работы и многое другое.


Copyright © 2012 г.
При использовании материалов - ссылка на сайт обязательна.