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.
 
 
 
 
 
 

60 lines
1.7 KiB

  1. 10 PRINT "PROGRAM FILE 184: EXCEPTION - UNDERFLOW IN THE EVALUATION"
  2. 20 PRINT " OF NUMERIC EXPRESSIONS IN THE FOR-STATEMENT."
  3. 30 PRINT " ANSI STANDARD 7.4, 7.6, 11.2"
  4. 40 PRINT
  5. 50 PRINT "SECTION 184.1: EXCEPTION - UNDERFLOW IN THE EVALUATION"
  6. 60 PRINT " OF NUMERIC EXPRESSIONS IN THE FOR-STATEMENT."
  7. 70 PRINT
  8. 80 PRINT "THIS SECTION TESTS THE EFFECT OF UNDERFLOW IN NUMERIC"
  9. 90 PRINT "EXPRESSIONS IN THE CONTEXT OF THE FOR STATEMENT."
  10. 100 PRINT
  11. 110 PRINT "TO PASS THIS TEST:"
  12. 120 PRINT
  13. 130 PRINT " 1) AN UNDERFLOW EXCEPTION MAY BE REPORTED"
  14. 140 PRINT " (NOT MANDATORY),"
  15. 150 PRINT
  16. 160 PRINT " 2) ZERO MUST BE SUPPLIED AS THE VALUE OF THE "
  17. 170 PRINT " EXPRESSION, AND"
  18. 180 PRINT
  19. 190 PRINT " 3) THE FOR-LOOP MUST EXECUTE 4 TIMES."
  20. 200 PRINT
  21. 210 PRINT " BEGIN TEST."
  22. 220 PRINT
  23. 230 PRINT "ABOUT TO EXECUTE:"
  24. 240 PRINT " FOR I = .1 ^ 99999 TO 1E-36 STEP 3E-37"
  25. 250 LET J=0
  26. 260 LET C=99999
  27. 270 PRINT
  28. 280 PRINT "ITERATION","CONTROL-VARIABLE VALUES"
  29. 290 PRINT "COUNT","ACTUAL","SHOULD BE"
  30. 300 LET X=0
  31. 310 FOR I = .1^C TO 1E-36 STEP 3E-37
  32. 320 LET X=X+1
  33. 330 PRINT X,I,J
  34. 340 IF J<>0 THEN 370
  35. 350 IF I=0 THEN 380
  36. 360 GOTO 510
  37. 370 IF ABS(1-(I/J)) > .01 THEN 510
  38. 380 LET J=J+3E-37
  39. 390 NEXT I
  40. 400 PRINT "EXITING LOOP."
  41. 410 LET J=12E-37
  42. 420 PRINT " ",I,J
  43. 430 IF ABS(1-(I/J)) > .01 THEN 510
  44. 440 IF X=4 THEN 480
  45. 450 PRINT
  46. 460 PRINT "NO. TIMES THROUGH LOOP SHOULD BE 4, ACTUALLY =";X
  47. 470 GOTO 530
  48. 480 PRINT
  49. 490 PRINT "*** TEST PASSED ***"
  50. 500 GOTO 550
  51. 510 PRINT
  52. 520 PRINT "CONTROL-VARIABLE SHOULD BE ";J;" ACTUALLY = ";I
  53. 530 PRINT
  54. 540 PRINT "*** TEST FAILED ***"
  55. 550 PRINT
  56. 560 PRINT " END TEST."
  57. 570 PRINT
  58. 580 PRINT "END PROGRAM 184"
  59. 590 END