PROGRAM FIVE_WEEKENDS DIM M$[12] PROCEDURE MODULO(X,Y->MD) IF Y=0 THEN MD=X ELSE MD=X-Y*INT(X/Y) END IF END PROCEDURE PROCEDURE WD(M,D,Y->RES%) IF M=1 OR M=2 THEN M+=12 Y-=1 END IF MODULO(365*Y+INT(Y/4)-INT(Y/100)+INT(Y/400)+D+INT((153*M+8)/5),7->RES) RES%=RES+1.0 END PROCEDURE BEGIN M$[]=("","JANUARY","FEBRUARY","MARCH","APRIL","MAY","JUNE","JULY","AUGUST","SEPTEMBER","OCTOBER","NOVEMBER","DECEMBER") PRINT(CHR$(12);) ! CLS FOR YEAR=1900 TO 2100 DO FOREACH MONTH IN (1,3,5,7,8,10,12) DO ! months with 31 days WD(MONTH,1,YEAR->RES%) IF RES%=6 THEN ! day #6 is Friday PRINT(YEAR;": ";M$[MONTH]) CNT%=CNT%+1 ! IF CNT% MOD 20=0 THEN GET(K$) END IF ! press a key for next page END IF END FOR END FOR PRINT("Total =";CNT%) END PROGRAM