1000 EXTEND & 1010 ! Counts the number of Friday the 13ths in a particular year & ! & ! Creation date: 13-Jul-79 (Friday the 13th) & ! & ! Franklin Mitchell & ! Computer Operations Supervisor & ! Erskine College & ! PO Box 86 F & ! Due West, South Carolina 29639 & 1020 DIM MONTH$(12%), DAYS%(12%) & 1030 DEF FNMOD.7%(X%) = X% - X%/7%*7% & 1040 READ MONTH$(I%) FOR I% = 1% TO 12% & \ DAYS%(I%) = 31% FOR I% = 1% TO 12% & \ DAYS%(4%), DAYS%(6%), DAYS%(9%), DAYS%(11%) = 30% & \ FEB% = 2% & \ SUNDAY% = 0% & 1050 DATA "Jan", "Feb", "Mar", "Apr", "May", "Jun" 1060 DATA "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" & 1070 PRINT & \ START.YEAR.DEFAULT% = 1900% + VAL(RIGHT(DATE$(0%),8%)) & \ PRINT "Start with what year #"; NUM1$(START.YEAR.DEFAULT%); "#"; & \ INPUT START.YEAR% & \ START.YEAR% = START.YEAR.DEFAULT% IF START.YEAR% <= 0% & \ START.YEAR% = START.YEAR% + 1900% IF START.YEAR% < 100% & \ IF START.YEAR% < 1584% & THEN & PRINT & \ PRINT "Sorry, I only work for years 1584 and above." & \ GOTO 1070 1080 PRINT & \ END.YEAR.DEFAULT% = START.YEAR% + 10% & \ PRINT " End with what year #"; NUM1$(END.YEAR.DEFAULT%); "#"; & \ INPUT END.YEAR% & \ END.YEAR% = END.YEAR.DEFAULT% IF END.YEAR% <= 0% & \ END.YEAR% = END.YEAR% + 1900% IF END.YEAR% < 100% & 1090 PRINT FOR I%=1% TO 3% & \ PRINT "**** Friday the 13ths **** BEWARE!" & \ PRINT & 1100 FOR YEAR% = START.YEAR% TO END.YEAR% & \ PRINT & \ YEAR$ = RIGHT(NUM1$(YEAR%),3%) & \ FRIDAY.13% = 0% & \ LAST.YEAR% = YEAR% - 1% & \ FIRST.DAY% = FNMOD.7%(LAST.YEAR% + LAST.YEAR%/4% & - LAST.YEAR%/100% + LAST.YEAR%/400% + 1%) & \ LEAP% = 0% & \ LEAP% = 1% IF YEAR%/4%=YEAR%/4. & AND (YEAR%/100%<>YEAR%/100. OR YEAR%/400%=YEAR%/400.) & \ DAYS%(FEB%) = 28% + LEAP% 1110 FOR MONTH% = 1% TO 12% & \ IF FNMOD.7%(FIRST.DAY%) = SUNDAY% & THEN & PRINT "13-"; MONTH$(MONTH%); "-"; YEAR$, & \ FRIDAY.13% = FRIDAY.13% + 1% & ! & ! If the 1st day of the month is Sunday, the 13th day = Friday & 1120 FIRST.DAY% = FNMOD.7%(DAYS%(MONTH%) + FIRST.DAY%) 1130 NEXT MONTH% & \ PRINT TAB(44%); FRIDAY.13%; "in "; NUM1$(YEAR%); "." 1140 NEXT YEAR% & 32767 END