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.
 
 
 
 
 
 

158 lines
3.3 KiB

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