一、建立每个年份大小月数据库,存储在数列存储器中,如1951年的数据库为:37→B:27→I:30→List Y[1]: 29→List Y[2]: 30→List Y[3]: 29→List Y[4]: 30→List Y[5]: 30→List Y[6]: 29→List Y[7]: 30→List Y[8]: 29→List Y[9]: 30→List Y[10]: 29→List Y[11]: 30→List Y[12]: 29→List Y[13]: 30→List Y[14](注:37为年内公历1月1日至阴历大年初一的天数;I为年未至下一年春节的天数)。
二、程序运行说明:输入公历年(后两位数)、月、日数值,结果显示,本日所经渡过年内总天数N1,距元旦的天数N2,距春节的天数N3,显示本日的阴历几月、几日。
三、变量:公历年月日Y、M、D;阴历年月日Y、E、F;计数器变量Z;
程序之一—阳历转阴历(GONG.L—YIN.L)
Fix 4
Lbi 0:“NIAN”? Y:“YUE”?M:”RI”? D
31×(M-1) →H
M≧1=>H→G:M>2=>H-3→G:
M>4=>H-4→G:M>6=>H-5→G:
M>9=>H-6→G:M>11=>H-7→G:
If frac(Y/4)=0 AND M>2 Then G+1→G:IfEnd
G+D→N:”N=”:N◢(显示总天数)
N-B→G
If G<0 Then Y-1→O:Abs(G)→P : Else 365-N+I→P: IfEnd
“NIAN”:O◢ ”—YUAN.D”:365-N◢”—CHUN.J”:P◢(显示年数、距元旦的天数,距春节的天数)
If G<0 Then Goto 1 Else Goto 3 : IfEnd
Lbi 3 0→E:0→Z: 0→List Y[17]
For 3→K To 14
E+1→E: List Y[K]+Z→Z: Z→List Y[K+15]
If Z>G :Then Break : IfEnd:Next
G-List Y[K+14]+1→F: Goto 2
Lbi 1 12→E:List Y[2]+G+1→F
If F<0 :Then 11→E: List Y[1]+F→F :IfEnd: Goto 2
Lbi 2: “NIAN”: E◢”
If F>30 :Then F-30→F :”RunRI”: F◢ Else “RI”:F◢(E、F即为所求的阴历月日)
:IfEnd
Goto 0
程序之二—阴历转阳历(YIN.L—GONG.L)
Fix 4
Lbi 0:“NIAN”? Y:“YUE”?E:”RI”? F
0→Z:0→G:Y→O:0→List Y[17]
For 3→K To 14
G+1→G: List Y[K]+Z→Z: Z→List Y[K+15]
If G=E :Then Break : IfEnd : Next
Z-List Y[E+2]+F→G:G+B-1 →N
”N=”:N◢”—YUAN.D”:365-N→H:If frac(Y/4)=0 :Then H+1→H:H◢ IfEnd
”—CHUN.J”:365-N+I◢(显示总天数,距元旦的天数,距春节的天数)
1→M:N→D
If N>31 :Then 2→M : N-31→D :IfEnd
If N>59 :Then 3→M : N-59→D :IfEnd
If N>90 :Then 4→M : N-90→D :IfEnd
If N>120 :Then 5→M : N-120→D :IfEnd
If N>151 :Then 6→M : N-151→D :IfEnd
If N>181 :Then 7→M : N-181→D :IfEnd
If N>212 :Then 8→M : N-212→D :IfEnd
If N>243 :Then 9→M : N-243→D :IfEnd
If N>273 :Then 10→M : N-273→D :IfEnd
If N>304 :Then 11→M : N-304→D :IfEnd
If N>334 :Then 12→M : N-334→D :IfEnd
If N>365 :Then 1→M:Y+1 →O: N-365→D :IfEnd
If N>396 :Then 2→M : N-396→D :IfEnd
“NIAN”:O◢
“YUE”: M◢”
“RI”:F◢(O、M、N即为所求的阳历年月日)
Goto 0
计算示例:一、1、运行1951年子程序调入1951数据库
2、正算程序一:输入51年5月15日,显示5月15日总天数135天,距元旦230天,距春节257天,阴历日为四月十日。
3、逆算程序二:输入51年四月十日,显示四月十日总天数135天,距元旦230天,距春节257天,阳历日为5月10日。
二、运行2014年子程序调入2014数据库
2、正算程序一:输入51年5月15日,显示5月15日总天数135天,距元旦230天,距春节257天,阴历日为四月十日。
3、逆算程序二:输入51年四月十日,显示四月十日总天数135天,距元旦230天,距春节257天,阳历日为5月10日。联系客服