1 "A": PRINT =LPRINT : GOTO 5 2 "Z": PRINT =PRINT : GOTO 5 3 REM PHASES DE LA LUNE*J.HERY D APRES J.MEEUS* EDI.20/11/85 5 CLEAR : WAIT 100: DEGREE :U=0: DIM M$(12)*9,L$(7)*2: RESTORE 7 FOR I=1 TO 12: READ M$(I): NEXT I 10 FOR I=1 TO 7: READ L$(I): NEXT I 20 PRINT "**PHASES DE LA LUNE**" 25 INPUT "ANNEE ? ";Y: INPUT "NO MOIS OU AN ? ";S$:Z=Y 30 G=1: IF Y<1583 LET G=0 35 USING "#####": PRINT "AN:";Y: IF S$<>"AN"PRINT "MOIS: ";M$(VAL S$) 40 PRINT " PH. DATE TU.(H.M)": PRINT ":--:----------:--------:": WAIT 45 K=INT ((Y-1900)*12.3685) 50 T=(Y-1899.5)/100 60 I=2415020+29K 65 L=.0001178TT-.000000155TTT 70 L=L+.75933+.53058868K 75 L=L+.00033*SIN (166.56+132.87T-.009173TT) 80 L=L-.000837T-.000335TT 85 N=.08084821133K 90 N=360*(N-INT N)+359.2242 95 N=N-.0000333TT 100 N=N-.00000347TTT 105 O=.07171366128K 110 O=360*(O-INT O)+306.0253 115 O=O+.0107306TT 120 O=O+.00001236TTT 125 V=.08519585128K 130 V=360*(V-INT V)+21.2964 135 V=V-.0016528TT-.00000239TTT 140 K=4*(VAL S$-1): IF S$="AN"LET K=0 145 FOR K=K TO 53 150 J=I+7K:F=L+.38264717K 160 P=N+K/4*29.10535608 165 Q=O+K/4*385.81691806 170 W=V+K/4*390.67050646 180 IF U=0 OR U=1 GOSUB 300 185 IF U=.5 OR U=1.5 GOSUB 340 190 F=F+.5/1440 195 J=J+INT F:F=F-INT F 197 R=J+F+1.5:R=R-7*INT (R/7)+1 200 GOSUB 400 205 IF YVAL S$ AND S$<>"AN"GOTO 270 260 U=U+.5: IF U=2 LET U=0 265 NEXT K 270 PRINT "": END 300 F=F-.4068*SIN Q 305 F=F+(.1734-.000393T)*SIN P 310 F=F+.0161*SIN (2Q)-.0004*SIN (3Q) 315 F=F+.0104*SIN (2W)+.0004*SIN (2W+P) 320 F=F-.0074*SIN (P-Q)-.0004*SIN (2W-P) 325 F=F-.0051*SIN (P+Q)-.0006*SIN (2W+Q) 330 F=F+.0021*SIN (2P)+.0005*SIN (P+2Q) 335 F=F+.0010*SIN (2W-Q): RETURN 340 F=F+(.1721-.0004T)*SIN P+.0021*SIN (2P) 345 F=F-.6280*SIN Q+.0089*SIN (2Q) 350 F=F-.0004*SIN (3Q)+.0079*SIN (2W) 355 F=F-.0119*SIN (P+Q)-.0047*SIN (P-Q) 360 F=F+.0003*SIN (2W+P)-.0004*SIN (2W-P) 365 F=F-.0006*SIN (2W+Q)+.0021*SIN (2W-Q) 370 F=F+.0003*SIN (P+2Q)+.0004*SIN (P-2Q)-.0003*SIN (2P+Q) 380 F=F+SGN (1-U)*(.0028-.0004*COS P+.0003*COS Q) 385 RETURN 400 F=F+.5 405 IF F<1 GOTO 415 410 F=F-1:J=J+1 415 IF G=1 GOTO 425 420 A=J: GOTO 435 425 B=INT ((J/36524.25)-51.12264) 430 A=J+1+B-INT (B/4) 435 B=A+1524 440 C=INT ((B/365.25)-.3343) 445 D=INT (365.25C) 450 E=INT ((B-D)/30.61) 455 D=B-D-INT (30.61E)+F 460 M=E-1:Y=C-4716 465 IF E>13.5 LET M=M-12 470 IF M<2.5 LET Y=Y+1 475 H=24*(D-INT D):D=INT D 480 RETURN 500 DATA "JANVIER","FEVRIER","MARS","AVRIL" 510 DATA "MAI","JUIN","JUILIET","AOUT" 520 DATA "SEPTEMBRE","OCTOBRE","NOVEMBRE","DECEMBRE" 530 DATA "DI","LU","MA","ME","JE","VE","SA"