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