Calculates the phase of the moon for a given date.
Content
Source Code
10 REM MOONPHASE ASTROLOGY
20 GO TO 1000
100 REM input date
110 CLS
130 PRINT "DETERNINATION OF MOONPHASE"
135 PRINT
140 INPUT "DAY (dd): ";dd: PRINT "Day : ";dd
150 INPUT "Month (mm): ";m: PRINT "Month: ";m
160 INPUT "Year (yyyy): ";y: PRINT "Year: ";y
170 IF m<3 THEN LET m=m+12: LET y=y-1
180 RETURN
200 REM calculation
210 LET t=INT (365.25*y)+INT (30.6*(m+1))+dd-694038
220 LET t=t/36525
230 LET la=350.737486+1236*t*360
240 LET la=la+307*t+6*t/60
250 LET la=la+51.18*t/3600-5.17*t*t/3600
260 LET la=la-INT (la/360)*360
270 LET la=INT (la+.5)
280 RETURN
300 REM display result
310 PRINT : PRINT
320 PRINT "Moonphase=";la;" degrees"
330 PRINT : PRINT "Press any key"
340 IF INKEY$="" THEN GO TO 340
350 RETURN
1000 REM main program
1010 GO SUB 100: REM input date
1020 GO SUB 200: REM calculation
1030 GO SUB 300: REM display result
1040 GO TO 1010
9997 STOP
9998 SAVE "MOONPHASE" LINE 1