行星號查詢程式APPGETNAME.F90/星曆表星號功用/

來源:互聯網
上載者:User

執行結果

E:/Fortran_G95>appgetname 3 4 11 15 16 12<br />星號 星名 NAME 方式<br /> 3 地球 EARTH 地月+月球<br /> 4 火星 MARS 火星<br /> 11 太陽 SUN 太陽<br /> 15 月球天平動 LIBRATIONS 天平動<br /> 12 太陽系質心 SOLARBARY 太陽系置0<br />OK</p><p>E:/Fortran_G95>

源碼:

!C---------------------------------------------------------------<br />!主程式開始!<br />!C---------------------------------------------------------------<br />Program Main<br />IMPLICIT DOUBLE PRECISION (A-G)<br />integer nargin, I, QI(16), QLEN,IN,J,XH<br />CHARACTER*128argum(10)<br />CHARACTER*130tmpStr</p><p>!參數處理<br />nargin=iargc()<br />doi=1,nargin<br />call getarg(i,argum(i),QLEN)<br />end do</p><p>if (nargin.EQ.0) go to 11</p><p>!測試函數<br />write(*,'(A4,3A12)') "星號","星名","NAME","方式"</p><p>doi=1,nargin<br />READ(argum(I),'(I2)',ERR=11)XH<br />if (XH.LE.0.or.XH.GT.15) CYCLE<br />CALL ShowXXNames(XH)<br />end do<br />STOP"OK"<br />!//////////////////////////////////////<br />11do i=1,15<br />CALL ShowXXNames(I)<br />end do<br />stop"參數錯誤,請輸入指定星號。格式:exe II[1-15](N個)"<br />End Program<br />!++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br />!主程式結束<br />!++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</p><p>include"GETNAME.F90"

 

源碼:GETNAME.F90

 !C---------------------------------------------------------------<br />!輸出指定星號三項名稱<br />!C---------------------------------------------------------------<br /> SUBROUTINEShowXXNames(XH)<br />INTEGER I,XH<br />!函式宣告<br />CHARACTER*10 GETXXNAME_CN,GETXXNAME_EN,GETXXDATA_CN,GETXXTYPE_CN<br />EXTERNAL GETXXNAME_CN,GETXXNAME_EN,GETXXDATA_CN,GETXXTYPE_CN</p><p>Write(*,'(i4,3A12)') XH,GETXXNAME_CN(XH),GETXXNAME_EN(XH),GETXXTYPE_CN(XH)<br /> END<br />!++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br />!取星名<br />!C---------------------------------------------------------------<br /> Function GETXXNAME_CN (XH)<br />CHARACTER*10 XNAME(15),GETXXNAME_CN<br />INTEGER I,XH<br />DATA (XNAME(i),i=1,5) /'水星','金星','地球','火星','木星'/<br />DATA (XNAME(i),i=6,9) /'土星','海王星','天王星','冥王星'/<br />DATA (XNAME(i),i=10,12) /'月球','太陽','太陽系質心'/<br />DATA (XNAME(i),i=13,15) /'地月系質心','章動','月球天平動'/</p><p>GETXXNAME_CN=XNAME(XH)<br />RETURN<br />End<br />!++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br />!取星名<br />!C---------------------------------------------------------------<br /> Function GETXXNAME_EN (XH)<br />CHARACTER*10 XNAME(15),GETXXNAME_EN<br />INTEGER I,XH<br />DATA (XNAME(i),i=1,4) /'MERCURY','VENUS','EARTH','MARS'/<br />DATA (XNAME(i),i=5,8) /'JUPITER','SATURN','URANUS','NEPTUNE'/<br />DATA (XNAME(i),i=9,12) /'PLUTO','MOON','SUN','SOLARBARY'/<br />DATA (XNAME(i),i=13,14) /'EARTHMBARY','NUTATIONS'/<br />DATA (XNAME(i),i=15,15) /'LIBRATIONS'/</p><p>GETXXNAME_EN=XNAME(XH)<br />RETURN<br />End<br />!++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br />!取資料星名<br />!C---------------------------------------------------------------<br /> Function GETXXDATA_CN (XH)<br />CHARACTER*10 XNAME(15),GETXXDATA_CN<br />INTEGER I,XH<br />DATA (XNAME(i),i=1,5) /'水星','金星','地月系','火星','木星'/<br />DATA (XNAME(i),i=6,9) /'土星','海王星','天王星','冥王星'/<br />DATA (XNAME(i),i=10,12) /'月球','太陽','章動'/<br />DATA (XNAME(i),i=13,13) /'月球天平動'/</p><p>GETXXDATA_CN=XNAME(XH)<br />RETURN<br />End<br />!++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br />!取資料方式<br />!C---------------------------------------------------------------<br /> Function GETXXTYPE_CN (XH)<br />CHARACTER*10 XNAME(15),GETXXTYPE_CN<br />INTEGER I,XH<br />DATA (XNAME(i),i=1,5) /'水星','金星','地月+月球','火星','木星'/<br />DATA (XNAME(i),i=6,9) /'土星','海王星','天王星','冥王星'/<br />DATA (XNAME(i),i=10,12) /'地月-月球.','太陽','太陽系置0'/<br />DATA (XNAME(i),i=13,15) /'地月系','章動','天平動'/</p><p>GETXXTYPE_CN=XNAME(XH)<br />RETURN<br />End<br />!++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br />!程式結束<br />!++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br />

 

注意,從現在開始代碼都將使用F90的格式。

 

GROUP   1050
 
     3   171   231   309   342   366   387   405   423   441   753   819   899
    14    10    13    11     8     7     6     6     6    13    11    10    10
     4     2     2     1     1     1     1     1     1     8     2     4     4
 
GROUP   1070

第一行表示開始資料項目。

第二行表示係數項數

第三行表示日期分塊

 

隱含項,屬性項。

除章動是2*2,共4項外,其它都是3*2,共6項。

第二行*第三行*屬性項數=行星總項數

 

各行星項數相加+2即得KSIZE/2。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.