ChipMaster's bwBASIC This also includes history going back to v2.10. *WARN* some binary files might have been corrupted by CRLF.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

155 lines
3.2 KiB

  1. 10 PRINT "PROGRAM FILE 56: ARRAY ASSIGNMENT WITHOUT"
  2. 15 PRINT " THE OPTION-STATEMENT."
  3. 20 PRINT " ANSI STANDARD 6.2, 6.4, 9.2, 9.4, 15.2, 15.4"
  4. 30 PRINT
  5. 90 PRINT "SECTION 56.1: ONE-DIMENSIONAL ARRAYS WITHOUT THE"
  6. 95 PRINT " DIM-STATEMENT."
  7. 100 PRINT
  8. 110 PRINT " BEGIN TEST."
  9. 120 PRINT
  10. 130 FOR I=0 TO 10
  11. 140 LET A(I)=I
  12. 150 NEXT I
  13. 160 LET A1=0
  14. 170 LET C=0
  15. 180 FOR I=10 TO 0 STEP -1
  16. 190 LET Y=A(I)
  17. 200 LET A1=A1+Y
  18. 210 IF Y<>I THEN 230
  19. 220 LET C=C+1
  20. 230 NEXT I
  21. 240 IF C<>11 THEN 260
  22. 250 IF A1=55 THEN 280
  23. 260 PRINT "*** TEST FAILED ***"
  24. 270 GOTO 290
  25. 280 PRINT "*** TEST PASSED ***"
  26. 290 PRINT
  27. 300 PRINT " END TEST."
  28. 310 PRINT
  29. 320 PRINT "SECTION 56.2: TWO-DIMENSIONAL ARRAYS WITHOUT THE"
  30. 325 PRINT " DIM-STATEMENT."
  31. 330 PRINT
  32. 340 PRINT " BEGIN TEST."
  33. 350 PRINT
  34. 360 FOR I=0 TO 10
  35. 370 FOR J=0 TO 10
  36. 380 LET Z=I+J
  37. 390 LET B(I,J)=Z
  38. 400 NEXT J
  39. 410 NEXT I
  40. 420 LET B1=0
  41. 430 LET C=0
  42. 440 FOR I=10 TO 0 STEP -1
  43. 450 FOR J=10 TO 0 STEP -1
  44. 460 LET W=B(I,J)
  45. 470 LET B1=B1+W
  46. 480 LET Z=I+J
  47. 490 IF W<>Z THEN 510
  48. 500 LET C=C+1
  49. 510 NEXT J
  50. 520 NEXT I
  51. 530 IF C<>121 THEN 550
  52. 540 IF B1=1210 THEN 570
  53. 550 PRINT "*** TEST FAILED ***"
  54. 560 GOTO 580
  55. 570 PRINT "*** TEST PASSED ***"
  56. 580 PRINT
  57. 590 PRINT " END TEST."
  58. 600 PRINT
  59. 640 PRINT "SECTION 56.3: ONE-DIMENSIONAL ARRAYS WITH THE"
  60. 645 PRINT " DIM-STATEMENT."
  61. 650 PRINT
  62. 660 PRINT " BEGIN TEST."
  63. 670 PRINT
  64. 680 DIM D(20)
  65. 690 FOR I=0 TO 20
  66. 700 LET H=I+1
  67. 710 LET D(I)=H
  68. 720 NEXT I
  69. 730 LET D1=0
  70. 740 LET C=0
  71. 750 FOR I=0 TO 20
  72. 760 LET M=D(I)
  73. 770 LET D1=D1+M
  74. 780 LET H=I+1
  75. 790 IF M<>H THEN 810
  76. 800 LET C=C+1
  77. 810 NEXT I
  78. 820 IF C<>21 THEN 840
  79. 830 IF D1=231 THEN 860
  80. 840 PRINT "*** TEST FAILED ***"
  81. 850 GOTO 870
  82. 860 PRINT "*** TEST PASSED ***"
  83. 870 PRINT
  84. 880 PRINT " END TEST."
  85. 890 PRINT
  86. 900 PRINT
  87. 910 PRINT "SECTION 56.4: TWO-DIMENSIONAL ARRAYS WITH THE"
  88. 915 PRINT " DIM-STATEMENT."
  89. 920 PRINT
  90. 930 PRINT " BEGIN TEST."
  91. 940 PRINT
  92. 950 DIM N(20,2),P(2,20),R(20,20)
  93. 960 FOR I=0 TO 20
  94. 970 LET I1=I+1
  95. 980 LET N(I,1)=I1
  96. 990 LET N(I,2)=-I
  97. 1000 LET N(I,0)=1
  98. 1010 FOR J=2 TO 0 STEP -1
  99. 1020 LET J1=I*J
  100. 1030 LET P(J,I)=J1
  101. 1040 NEXT J
  102. 1050 NEXT I
  103. 1060 FOR K=0 TO 20
  104. 1070 FOR L=0 TO 20
  105. 1080 LET K1=K+L
  106. 1090 LET R(K,L)=K1
  107. 1100 NEXT L
  108. 1110 NEXT K
  109. 1120 LET N1=0
  110. 1130 LET P1=0
  111. 1140 LET R1=0
  112. 1150 LET C=0
  113. 1160 LET T=0
  114. 1170 FOR I=0 TO 20
  115. 1180 LET I1=I+1
  116. 1190 LET T7=N(I,1)
  117. 1200 LET T8=N(I,2)
  118. 1210 LET T9=N(I,0)
  119. 1220 IF T7 <> I1 THEN 1490
  120. 1230 IF T8 <> -I THEN 1490
  121. 1240 IF T9 <> 1 THEN 1490
  122. 1250 FOR J=0 TO 2
  123. 1260 LET F1=N(I,J)
  124. 1270 LET N1=N1+F1
  125. 1280 LET G1=P(J,I)
  126. 1290 LET P1=P1+G1
  127. 1300 LET J1=I*J
  128. 1310 IF G1 <> J1 THEN 1330
  129. 1320 LET C=C+1
  130. 1330 NEXT J
  131. 1340 NEXT I
  132. 1350 IF C<>63 THEN 1490
  133. 1360 IF N1<>42 THEN 1490
  134. 1370 IF P1<>630 THEN 1490
  135. 1380 FOR K=20 TO 0 STEP -1
  136. 1390 FOR L=0 TO 20
  137. 1400 LET Q1=R(K,L)
  138. 1410 LET R1=R1+Q1
  139. 1420 LET K1=K+L
  140. 1430 IF Q1 <> K1 THEN 1450
  141. 1440 LET T=T+1
  142. 1450 NEXT L
  143. 1460 NEXT K
  144. 1470 IF T<>441 THEN 1490
  145. 1480 IF R1=8820 THEN 1510
  146. 1490 PRINT "*** TEST FAILED ***"
  147. 1500 GOTO 1520
  148. 1510 PRINT "*** TEST PASSED ***"
  149. 1520 PRINT
  150. 1530 PRINT " END TEST."
  151. 1540 PRINT
  152. 1550 PRINT
  153. 1560 PRINT "END PROGRAM 56"
  154. 1570 END