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.
 
 
 
 
 
 

144 lines
3.7 KiB

  1. 10 PRINT "PROGRAM FILE 92: READ AND DATA STATEMENTS FOR NUMERIC DATA."
  2. 20 PRINT " ANSI STANDARD 5.2, 14.2, 14.4"
  3. 30 PRINT
  4. 40 PRINT "SECTION 92.1: READ AND DATA STATEMENTS FOR NUMERIC DATA."
  5. 50 PRINT
  6. 60 PRINT "THIS SECTION TESTS THE PROCESSOR'S CAPABILITY TO HANDLE"
  7. 70 PRINT "INTERNAL NUMERIC DATA USING THE DATA AND READ STATEMENTS."
  8. 80 PRINT "THE DATA-VALUES WILL BE COMPARED TO THOSE ASSIGNED TO AN"
  9. 90 PRINT "ARRAY AND THE RESULTS DISPLAYED. IF THE ACCURACY IS LESS"
  10. 120 PRINT "THAN SIX DIGITS, THE TEST WILL BE COUNTED AS A FAILURE."
  11. 130 PRINT
  12. 132 PRINT " BEGIN TEST"
  13. 134 PRINT
  14. 138 DIM A(110)
  15. 140 LET A(1)=9.99998E37
  16. 145 LET A(2)=1E38
  17. 150 LET A(3)=-1E38
  18. 155 LET A(4)=-9.99998E37
  19. 160 LET A(5)=9.87653E37
  20. 165 LET A(6)=9.87655E37
  21. 170 LET A(7)=9.87653E-38
  22. 175 LET A(8)=9.87655E-38
  23. 180 LET A(9)=1.00000E-38
  24. 185 LET A(10)=1.00002E-38
  25. 190 LET A(11)=-1.00002E-38
  26. 195 LET A(12)=-1.00000E-38
  27. 200 LET A(13)=9.99998E-38
  28. 205 LET A(14)=10E-38
  29. 210 LET A(15)=123.455
  30. 215 LET A(16)=123.457
  31. 220 LET A(17)=123.455
  32. 225 LET A(18)=123.457
  33. 230 LET A(19)=9.87653E37
  34. 235 LET A(20)=9.87655E37
  35. 240 LET A(21)=123455
  36. 245 LET A(22)=123457
  37. 250 LET A(23)=123455
  38. 255 LET A(24)=123457
  39. 260 LET A(25)=123455
  40. 265 LET A(26)=123457
  41. 270 LET A(27)=987.653
  42. 275 LET A(28)=987.655
  43. 280 LET A(29)=1.23455E+6
  44. 285 LET A(30)=1.23457E+6
  45. 290 LET A(31)=1.23455E+8
  46. 295 LET A(32)=1.23457E+8
  47. 300 LET A(33)=1.23455E-2
  48. 305 LET A(34)=1.23457E-2
  49. 310 LET A(35)=1.23455E-4
  50. 315 LET A(36)=1.23457E-4
  51. 320 LET A(37)=.119999
  52. 325 LET A(38)=.120001
  53. 330 LET A(39)=.119999
  54. 335 LET A(40)=.120001
  55. 340 LET A(41)=-.120001
  56. 345 LET A(42)=-.119999
  57. 350 LET A(43)=.119999
  58. 355 LET A(44)=.120001
  59. 360 LET A(45)=0
  60. 365 LET A(46)=0
  61. 370 LET A(47)=0
  62. 375 LET A(48)=0
  63. 380 LET A(49)=0
  64. 385 LET A(50)=0
  65. 390 LET A(51)=1.22999E9
  66. 395 LET A(52)=1.23001E9
  67. 400 LET A(53)=1.22999E9
  68. 405 LET A(54)=1.23001E9
  69. 410 LET A(55)=1.22999E9
  70. 415 LET A(56)=1.23001E9
  71. 420 LET A(57)=1.22999E-9
  72. 425 LET A(58)=1.23001E-9
  73. 430 LET A(59)=1.22999E-9
  74. 435 LET A(60)=1.23001E-9
  75. 440 LET A(61)=1.22999E-9
  76. 445 LET A(62)=1.23001E-9
  77. 450 LET A(63)=1.22999E-9
  78. 455 LET A(64)=1.23001E-9
  79. 460 LET A(65)=0
  80. 465 LET A(66)=0
  81. 470 LET A(67)=0
  82. 475 LET A(68)=0
  83. 480 LET A(69)=0
  84. 485 LET A(70)=0
  85. 490 LET A(71)=0
  86. 495 LET A(72)=0
  87. 500 LET A(73)=122.999
  88. 505 LET A(74)=123.001
  89. 510 LET A(75)=122.999
  90. 515 LET A(76)=123.001
  91. 520 LET A(77)=122.999
  92. 525 LET A(78)=123.001
  93. 530 LET A(79)=122.999
  94. 535 LET A(80)=123.001
  95. 540 LET A(81)=1.2345578E19
  96. 545 LET A(82)=1.2345779E19
  97. 550 LET A(83)=1.23455E15
  98. 555 LET A(84)=1.23457E15
  99. 560 LET A(85)=1.23455E-15
  100. 565 LET A(86)=1.23457E-15
  101. 570 LET A(87)=123455
  102. 575 LET A(88)=123457
  103. 580 LET A(89)=123455
  104. 585 LET A(90)=123457
  105. 1000 LET I=-1
  106. 1001 LET J=0
  107. 1002 PRINT "TRAIL #","DATA VALUE","RESULTS"
  108. 1005 LET F=0
  109. 1010 READ X
  110. 1020 IF X=-1 THEN 5000
  111. 1025 LET J=J+1
  112. 1030 LET I=I+2
  113. 1035 LET K=I+1
  114. 1040 IF X<A(I) THEN 1100
  115. 1050 IF X>A(K) THEN 1100
  116. 1060 PRINT J,X," OK "
  117. 1070 GOTO 1010
  118. 1100 PRINT J,X,"FAIL"
  119. 1110 LET F=F+1
  120. 1120 GOTO 1010
  121. 4000 DATA +.999999E38,-.999999E38,.00987654E40,987.654E-40
  122. 4010 DATA +1.00001E-38,-1.00001E-38,9.99999E-38
  123. 4015 DATA 123456.E-3,.123456E3
  124. 4020 DATA 9.87654E37,123456,123456.,123456.0,987.654
  125. 4030 DATA 1234560,123456000,.0123456,.000123456
  126. 4040 DATA .12,+.12,-.12,0.12
  127. 4050 DATA 0.0,+0,-.000
  128. 4060 DATA 1.23E9,1.23E09,1.23E+9,1.23E-9,1.23E-09,1.23E-0009
  129. 4070 DATA 000001.2300000E-000009,0E0,000.000E22,+000E55,0.0E-000
  130. 4080 DATA 123E0,123E000,123E-00,123E+0
  131. 4090 DATA 12345678901234567890,123456E10,0.0000123456E-10
  132. 4100 DATA 123456000000000E-9,0.000000000123456E15
  133. 4900 DATA -1
  134. 5000 PRINT
  135. 5010 IF F=0 THEN 5050
  136. 5020 PRINT "***** TEST FAILED ***** ";F;" CASE(S) HANDLED IMPROPERLY."
  137. 5030 GOTO 5100
  138. 5050 PRINT "***** TEST PASSED *****"
  139. 5100 PRINT
  140. 5110 PRINT " END TEST"
  141. 5120 PRINT
  142. 5130 PRINT "END PROGRAM 92"
  143. 5140 END