10 PRINT "PROGRAM FILE 57: ARRAY ASSIGNMENT WITH OPTION BASE 0."
20 PRINT "    ANSI STANDARD 6.2, 6.4, 9.2, 9.4, 15.2, 15.4"
30 PRINT
50 OPTION BASE 0
90 PRINT "SECTION 57.1: ONE-DIMENSIONAL ARRAYS WITHOUT THE"
95 PRINT "        DIM STATEMENT."
100 PRINT
110 PRINT "                               BEGIN TEST."
120 PRINT
130 FOR I=0 TO 10
140 LET A(I)=I
150 NEXT I
160 LET A1=0
170 LET C=0
180 FOR I=10 TO 0 STEP -1
190 LET Y=A(I)
200 LET A1=A1+Y
210 IF Y<>I THEN 230
220 LET C=C+1
230 NEXT I
240 IF C<>11 THEN 260
250 IF A1=55 THEN 280
260 PRINT "***  TEST FAILED   ***"
270 GOTO 290
280 PRINT "***  TEST PASSED   ***"
290 PRINT
300 PRINT "                               END TEST."
310 PRINT
320 PRINT "SECTION 57.2: TWO-DIMENSIONAL ARRAYS WITHOUT THE"
325 PRINT "        DIM-STATEMENT."
330 PRINT
340 PRINT "                              BEGIN TEST."
350 PRINT
360 FOR I=0 TO 10
370 FOR J=0 TO 10
380 LET Z=I+J
390 LET B(I,J)=Z
400 NEXT J
410 NEXT I
420 LET B1=0
430 LET C=0
440 FOR I=10 TO 0 STEP -1
450 FOR J=10 TO 0 STEP -1
460 LET W=B(I,J)
470 LET B1=B1+W
480 LET Z=I+J
490 IF W<>Z THEN 510
500 LET C=C+1
510 NEXT J
520 NEXT I
530 IF C<>121 THEN 550
540 IF B1=1210 THEN 570
550 PRINT "***  TEST FAILED  ***"
560 GOTO 580
570 PRINT "***  TEST PASSED  ***"
580 PRINT
590 PRINT "                               END TEST."
600 PRINT
640 PRINT "SECTION 57.3: ONE-DIMENSIONAL ARRAYS WITH THE"
645 PRINT "        DIM-STATEMENT."
650 PRINT
660 PRINT "                              BEGIN TEST."
670 PRINT
680 DIM D(20)
690 FOR I=0 TO 20
700 LET H=I+1
710 LET D(I)=H
720 NEXT I
730 LET D1=0
740 LET C=0
750 FOR I=0 TO 20
760 LET M=D(I)
770 LET D1=D1+M
780 LET H=I+1
790 IF M<>H THEN 810
800 LET C=C+1
810 NEXT I
820 IF C<>21 THEN 840
830 IF D1=231 THEN 860
840 PRINT "*** TEST FAILED  ***"
850 GOTO 870
860 PRINT "*** TEST PASSED  ***"
870 PRINT
880 PRINT "                                END TEST."
890 PRINT
900 PRINT
910 PRINT "SECTION 57.4: TWO-DIMENSIONAL ARRAYS WITH THE"
915 PRINT "        DIM-STATEMENT."
920 PRINT
930 PRINT "                               BEGIN TEST."
940 PRINT
950 DIM N(20,2),P(2,20),R(20,20)
960 FOR I=0 TO 20
970 LET I1=I+1
980 LET N(I,1)=I1
990 LET N(I,2)=-I
1000 LET N(I,0)=1
1010 FOR J=2 TO 0 STEP -1
1020 LET J1=I*J
1030 LET P(J,I)=J1
1040 NEXT J
1050 NEXT I
1060 FOR K=0 TO 20
1070 FOR L=0 TO 20
1080 LET K1=K+L
1090 LET R(K,L)=K1
1100 NEXT L
1110 NEXT K
1120 LET N1=0
1130 LET P1=0
1140 LET R1=0
1150 LET C=0
1160 LET T=0
1170 FOR I=0 TO 20
1180 LET I1=I+1
1190 LET T7=N(I,1)
1200 LET T8=N(I,2)
1210 LET T9=N(I,0)
1220 IF T7 <> I1 THEN 1490
1230 IF T8 <> -I THEN 1490
1240 IF T9 <> 1 THEN 1490
1250 FOR J=0 TO 2
1260 LET F1=N(I,J)
1270 LET N1=N1+F1
1280 LET G1=P(J,I)
1290 LET P1=P1+G1
1300 LET J1=I*J
1310 IF G1 <> J1 THEN 1330
1320 LET C=C+1
1330 NEXT J
1340 NEXT I
1350 IF C<>63 THEN 1490
1360 IF N1<>42 THEN 1490
1370 IF P1<>630 THEN 1490
1380 FOR K=20 TO 0 STEP -1
1390 FOR L=0 TO 20
1400 LET Q1=R(K,L)
1410 LET R1=R1+Q1
1420 LET K1=K+L
1430 IF Q1 <> K1 THEN 1450
1440 LET T=T+1
1450 NEXT L
1460 NEXT K
1470 IF T<>441 THEN 1490
1480 IF R1=8820 THEN 1510
1490 PRINT "***  TEST FAILED  ***"
1500 GOTO 1520
1510 PRINT "***  TEST PASSED  ***"
1520 PRINT
1530 PRINT "                                END TEST."
1540 PRINT
1550 PRINT
1560 PRINT "END PROGRAM 57"
1570 END
