§ Вечный календарь

§ Программный код
10 INK 7: PAPER 0: BORDER 0: CLS 20 DATA 31,28,31,30,31,30,31,31,30,31,30,31 25 LET D=5: LET M=5: LET Y=2025 30 GO SUB 1100 40 LET U=D: LET D=1 50 GO SUB 1000 60 LET Y=3 65 PRINT AT 3,3;"Mo Tu We Th Fr Sa Su" 70 INK 7: IF S>4 THEN INK 2 75 BRIGHT D=U 76 PRINT AT 2+Y, 3+S*3; D 80 LET S=S+1 90 LET D=D+1 100 IF S=7 THEN LET S=0: LET Y=Y+2 110 IF D=W+1 THEN STOP 120 GO TO 70 1000 RESTORE 20 1010 LET S=0: LET W=0 1015 LET C=Y-4*INT(Y/4) 1020 FOR I=1 TO M 1030 READ K 1040 IF I<M THEN LET S=S+K 1045 IF I=M THEN LET W=K 1050 NEXT I 1060 IF M>3 AND C=0 THEN LET S=S+1 1070 LET S=S+INT((Y-1)*365.25)+D+5 1080 LET S=S-7*INT(S/7) 1090 RETURN 1100 LET A=1 1110 INK 7: PLOT 4,7: DRAW 80,0: DRAW 0,9: DRAW -80,0: DRAW 0,-9 1115 GO TO 1110 + 10*M 1120 LET K$="January ": GO TO 1250 1130 LET K$="February ": GO TO 1250 1140 LET K$="March ": GO TO 1250 1150 LET K$="April ": GO TO 1250 1160 LET K$="May ": GO TO 1250 1170 LET K$="June ": GO TO 1250 1180 LET K$="July ": GO TO 1250 1190 LET K$="August ": GO TO 1250 1200 LET K$="September": GO TO 1250 1210 LET K$="October ": GO TO 1250 1230 LET K$="November ": GO TO 1250 1240 LET K$="December ": GO TO 1250 1250 BRIGHT A=1: PRINT AT 20,1; K$ 1260 PLOT 88,7: DRAW 32,0: DRAW 0,9: DRAW -32,0: DRAW 0,-9 1270 BRIGHT A=2: PRINT AT 20,12; D; " "; 1280 PLOT 124,7: DRAW 56,0: DRAW 0,9: DRAW -56,0: DRAW 0,-9 1290 BRIGHT A=3: PRINT AT 20,17; Y 1300 LET I$=INKEY$: IF I$="" THEN GO TO 1300 1310 IF I$="o" AND A>1 THEN LET A=A-1: GO TO 1250 1320 IF I$="p" AND A<3 THEN LET A=A+1: GO TO 1250 1330 IF I$="a" AND A=1 AND M>1 THEN LET M=M-1 1340 IF I$="q" AND A=1 AND M<12 THEN LET M=M+1 1350 IF I$="a" AND A=2 AND D>1 THEN LET D=D-1: GO TO 1250 1360 IF I$="q" AND A=2 AND D<31 THEN LET D=D+1: GO TO 1250 1370 IF I$="a" AND A=3 THEN LET Y=Y-1: GO TO 1280 1380 IF I$="q" AND A=3 THEN LET Y=Y+1: GO TO 1280 1390 IF I$=" " THEN RETURN 1400 GO TO 1110
