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

saje.png

§ Программный код

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
1.png