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.
 
 
 
 
 
 

128 lines
3.2 KiB

  1. 10 PRINT "PROGRAM FILE 108: INPUT TO SUBSCRIPTED VARIABLES."
  2. 20 PRINT " ANSI STANDARD 13.2, 13.4"
  3. 30 PRINT
  4. 40 PRINT "SECTION 108.1: SIMPLE INPUT TO FILL ARRAY."
  5. 50 PRINT
  6. 60 PRINT " BEGIN TEST."
  7. 70 PRINT
  8. 80 DATA 7,3,2,1,5,9,10,0,6,4,8
  9. 90 DATA 7,3,2,1,9,4,8,0,10,5,6
  10. 100 FOR I=0 TO 10
  11. 110 READ J
  12. 120 PRINT "PLEASE ENTER:";I
  13. 130 INPUT A(J)
  14. 140 NEXT I
  15. 150 FOR I=0 TO 10
  16. 160 READ T(I)
  17. 170 NEXT I
  18. 180 GOSUB 3000
  19. 190 PRINT " END TEST."
  20. 200 PRINT
  21. 210 PRINT
  22. 220 PRINT "SECTION 108.2: INPUT OF SUBSCRIPT FOLLOWED BY SUBSCRIPTED"
  23. 230 PRINT " VARIABLE."
  24. 240 PRINT
  25. 250 PRINT " BEGIN TEST."
  26. 260 PRINT
  27. 270 PRINT "FOR THIS REPLY, STATEMENT IS: INPUT A(I),I,A(I),I,A(I)"
  28. 280 PRINT "PLEASE ENTER 500,6,600,2,200"
  29. 290 FOR I=0 TO 10
  30. 300 LET A(I)=10+I
  31. 310 LET T(I)=A(I)
  32. 320 NEXT I
  33. 330 LET I=5
  34. 340 INPUT A(I),I,A(I),I,A(I)
  35. 350 LET T(5)=500
  36. 360 LET T(6)=600
  37. 370 LET T(2)=200
  38. 380 GOSUB 3000
  39. 390 PRINT " END TEST."
  40. 400 PRINT
  41. 410 PRINT
  42. 420 PRINT "SECTION 108.3: NO ASSIGNMENT BEFORE VALIDATION OF INPUT."
  43. 430 PRINT
  44. 440 PRINT " BEGIN TEST"
  45. 450 PRINT
  46. 460 PRINT "THIS SECTION TESTS THAT NO ASSIGNMENT IS DONE BEFORE"
  47. 470 PRINT "THE ENTIRE REPLY IS VALIDATED."
  48. 480 FOR I=0 TO 10
  49. 490 LET A(I)=I*100
  50. 500 LET T(I)=A(I)
  51. 510 NEXT I
  52. 520 LET T(1)=8
  53. 530 PRINT
  54. 540 PRINT "PLEASE ENTER LINE NO. 1 FIRST. IT SHOULD BE REJECTED"
  55. 550 PRINT "BECAUSE OF INSUFFICIENT DATA AND YOU SHOULD BE ALLOWED"
  56. 560 PRINT "TO RE-SUPPLY INPUT. THEN ENTER LINE NO. 2 (NOTE THE SECOND"
  57. 570 PRINT "CHARACTER IS A COMMA RATHER THAN A PERIOD)."
  58. 580 PRINT
  59. 590 PRINT "*** IF NOT ALLOWED TO RE-SUPPLY INPUT, TEST FAILS ***"
  60. 600 PRINT
  61. 610 PRINT "THE ASSOCIATED INPUT STATEMENT IS: INPUT H,I,J,A(I),K,L"
  62. 620 PRINT "THEREFORE, AN 8 SHOULD BE PUT INTO A(1), AND NO OTHER"
  63. 630 PRINT "CHANGE MADE TO THE ARRAY."
  64. 640 PRINT
  65. 650 PRINT "LINE NO. 1: 3.1,6,8,9,11"
  66. 660 PRINT "LINE NO. 2: 3,1,6,8,9,11"
  67. 670 INPUT H,I,J,A(I),K,L
  68. 680 GOSUB 3000
  69. 690 PRINT " END TEST"
  70. 700 PRINT
  71. 710 PRINT "SECTION 108.4: INPUT TO TWO-DIMENSIONAL ARRAY."
  72. 720 PRINT
  73. 730 FOR I=1 TO 5
  74. 740 FOR J=1 TO 3
  75. 750 LET X(I,J)=1000*I+J
  76. 760 NEXT J
  77. 770 NEXT I
  78. 780 PRINT " BEGIN TEST"
  79. 790 PRINT
  80. 800 PRINT "STATEMENT FOR THIS REPLY: INPUT I,J,X(I,J)"
  81. 810 PRINT "PLEASE ENTER 2,3,999"
  82. 820 LET E=0
  83. 830 INPUT I,J,X(I,J)
  84. 840 PRINT
  85. 850 PRINT "X(I,J)","J=1","J=2","J=3"
  86. 860 FOR I=1 TO 5
  87. 870 PRINT "I=";I,X(I,1),X(I,2),X(I,3)
  88. 880 FOR J=1 TO 3
  89. 890 IF I<>2 THEN 920
  90. 900 IF J<>3 THEN 920
  91. 910 GOTO 940
  92. 920 IF X(I,J)= 1000*I+J THEN 940
  93. 930 LET E=1
  94. 940 NEXT J
  95. 950 NEXT I
  96. 960 IF X(2,3)=999 THEN 980
  97. 970 LET E=1
  98. 980 PRINT
  99. 990 IF E=0 THEN 1040
  100. 1000 PRINT "*** TEST FAILED ***"
  101. 1010 PRINT "EITHER X(2,3) <> 999 OR SOME OTHER "
  102. 1020 PRINT "X(I,j) <> 1000*I + J AS INITIALIZED."
  103. 1030 GOTO 1050
  104. 1040 PRINT "*** TEST PASSED ***"
  105. 1050 PRINT
  106. 1060 PRINT " END TEST"
  107. 1070 PRINT
  108. 1080 PRINT "END PROGRAM 108"
  109. 1090 STOP
  110. 3000 REM SUBROUTINE TO CHECK THAT A(I)=T(I)
  111. 3010 LET F=0
  112. 3020 PRINT
  113. 3025 PRINT " "," CONTENTS OF ARRAY"
  114. 3030 PRINT "SUBSCRIPT","SHOULD BE","ACTUAL"
  115. 3040 FOR I=0 TO 10
  116. 3050 IF A(I)=T(I) THEN 3070
  117. 3060 LET F=F+1
  118. 3070 PRINT I,T(I),A(I)
  119. 3080 NEXT I
  120. 3090 PRINT
  121. 3100 IF F=0 THEN 3130
  122. 3110 PRINT "*** TEST FAILED IN ";F;"CASE(S) ***"
  123. 3120 GOTO 3140
  124. 3130 PRINT "*** TEST PASSED ***"
  125. 3140 PRINT
  126. 3150 RETURN
  127. 3160 END