<br> 10 DIM C(12), a$(6)
<br> 20 INPUT “YEAR”; Y
<br> 30 X = Y: V = 28
<br> 40 IF Y < 0 THEN 20
<br> 50 IF Y = 0 THEN END
<br> 60 S = X - 1 + INT((X - 1) / 4) - INT((X - 1) / 100) + INT((X - 1) / 400)
<br> 70 C(0) = X
<br> 80 S = S + 1
<br> 90 FOR I = 1 TO 12
<br> 100 READ K
<br> 110 IF I <> 3 THEN 190
<br> 120 IF X MOD 4 = 0 THEN 140
<br> 130 GOTO 190
<br> 140 IF X MOD 100 = 0 THEN 160
<br> 150 GOTO 180
<br> 160 IF X MOD 400 = 0 THEN 180
<br> 170 GOTO 190
<br> 180 K = K + 1: V = 29
<br> 190 S = S + K
<br> 200 M = S MOD 7
<br> 210 IF M = 0 THEN C(I) = 6 ELSE C(I) = M - 1
<br> 220 NEXT
<br> 230 FOR I = 0 TO 6
<br> 240 READ a$(I)
<br> 250 NEXT
<br> 260 L1 = 2: L2 = 38: GOSUB 610
<br> 270 PRINT TAB(39); C(0);
<br> 280 L1 = 45: L2 = 79: GOSUB 610
<br> 290 GOSUB 640: GOSUB 650
<br> 300 FOR J = 0 TO 3
<br> 310 GOSUB 640
<br> 320 FOR I = 0 TO 2
<br> 330 PRINT TAB(15 + I * 25); “(”; J * 3 + I + 1; “)”;
<br> 340 NEXT
<br> 350 GOSUB 650: GOSUB 640: GOSUB 650: GOSUB 640
<br> 360 GOSUB 660: GOSUB 650: GOSUB 640: GOSUB 650
<br> 370 GOSUB 400
<br> 380 NEXT J
<br> 390 L1 = 2: L2 = 79: GOSUB 610: PRINT : RESTORE 700: GOTO 20
<br> 400 X1 = 1: X2 = 1: X3 = 1
<br> 410 FOR L = 0 TO 5: GOSUB 640
<br> 420 FOR I = 0 TO 2
<br> 430 D = J * 3 + I + 1
<br> 440 IF D = 2 THEN 480 ELSE IF D = 4 THEN 470
<br> 450 IF D = 6 THEN 470 ELSE IF D = 9 THEN 470
<br> 460 IF D = 11 THEN 470 ELSE W = 31: GOTO 490
<br> 470 W = 30: GOTO 490
<br> 480 W = V
<br> 490 IF I = 0 THEN Z = X1 ELSE IF I = 1 THEN Z = X2 ELSE Z = X3
<br> 500 M = (C(D) + Z) MOD 7
<br> 510 FOR N = M TO 6
<br> 520 IF Z > W THEN 580
<br> 530 IF Z < 10 THEN PRINT TAB(N * 3 + 6 + 25 * I); : PRINT USING “##”; Z; : GOTO 550
<br> 540 PRINT TAB(N * 3 + 5 + I * 25); : PRINT USING “###”; Z;
<br> 550 Z = Z + 1
<br> 560 IF I = 0 THEN X1 = Z ELSE IF I = 1 THEN X2 = Z ELSE X3 = Z
<br> 570 NEXT N
<br> 580 NEXT I: GOSUB 650
<br> 590 NEXT L: GOSUB 640: GOSUB 650
<br> 600 RETURN
<br> 610 FOR U = L1 TO L2
<br> 620 PRINT TAB(U); “*”;
<br> 630 NEXT: RETURN
<br> 640 L1 = 2: L2 = 2: GOSUB 610: RETURN
<br> 650 L1 = 79: L2 = 79: GOSUB 610: RETURN
<br> 660 FOR I = 0 TO 2
<br> 670 FOR Z = 0 TO 6
<br> 680 PRINT TAB(3 * Z + 6 + I * 25); : PRINT USING “\”; a$(Z);
<br> 690 NEXT: NEXT: RETURN
<br> 700 DATA 0,31,28,31,30,31,30,31,31,30,31,30
<br> 710 DATA “SU”,“MO”,“TU”,“WE”,“TH”,“FR”,“SA”
|
|
 |
| 快速搜索通道 |
 |
|