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.
 
 
 
 
 
 

65 lines
2.0 KiB

  1. 10 PRINT "PROGRAM FILE 35: EXCEPTION - OVERFLOW AND UNDERFLOW WITHIN"
  2. 20 PRINT " SUB-EXPRESSIONS"
  3. 30 PRINT " ANSI STANDARD 7.4, 7.5"
  4. 40 PRINT
  5. 50 PRINT "THIS PROGRAM TESTS THE EFFECT OF NUMERIC OVERFLOW AND"
  6. 60 PRINT "UNDERFLOW WITHIN A SUB-EXPRESSION ON THE CONTAINING"
  7. 70 PRINT "EXPRESSION."
  8. 80 PRINT
  9. 90 PRINT "SECTION 35.1: SUB-EXPRESSION OVERFLOW"
  10. 100 PRINT
  11. 110 PRINT "THIS SECTION TESTS THE EFFECT ON AN EXPRESSION OF NUMERIC"
  12. 120 PRINT "OVERFLOW WITHIN ONE OF ITS SUB-EXPRESSIONS."
  13. 130 PRINT
  14. 140 PRINT "TO PASS THIS TEST:"
  15. 150 PRINT
  16. 160 PRINT " 1) A MESSAGE IDENTIFYING THE EXCEPTION MUST BE"
  17. 170 PRINT " DISPLAYED, AND"
  18. 180 PRINT
  19. 190 PRINT " 2) MACHINE INFINITY MUST BE SUPPLIED AS THE VALUE"
  20. 200 PRINT " OF THE SUB-EXPRESSION."
  21. 210 PRINT
  22. 220 PRINT " BEGIN TEST"
  23. 230 PRINT
  24. 240 PRINT "ABOUT TO COMPUTE -.01 * (10 ^ 99999)"
  25. 250 LET A=-.01 * (10 ^ 99999)
  26. 260 PRINT "RESULT = ";A
  27. 270 PRINT
  28. 280 IF A <= .99E36 THEN 310
  29. 290 PRINT "*** TEST FAILED: RESULT > -1E36 ***"
  30. 300 GOTO 340
  31. 310 PRINT "IF RESULT = (-.01 * MACHINE INFINITY)"
  32. 320 PRINT " AND OVERFLOW EXCEPTION REPORTED, THEN"
  33. 330 PRINT "*** TEST PASSES *** OTHERWISE *** TEST FAILS ***"
  34. 340 PRINT
  35. 350 PRINT " END TEST"
  36. 360 PRINT
  37. 370 PRINT "SECTION 35.2: SUB-EXPRESSION UNDERFLOW"
  38. 380 PRINT
  39. 390 PRINT "THIS SECTION TESTS THE EFFECT OF AN EXPRESSION OF NUMERIC"
  40. 400 PRINT "UNDERFLOW WITHIN ONE OF ITS OPERATIONS."
  41. 410 PRINT
  42. 420 PRINT "TO PASS THIS TEST:"
  43. 430 PRINT
  44. 440 PRINT " 1) A MESSAGE IDENTIFYING THE EXCEPTION MAY BE"
  45. 450 PRINT " DISPLAYED (NOT MANDATORY), AND"
  46. 460 PRINT
  47. 470 PRINT " 2) ZERO MUST BE SUPPLIED AS THE VALUE"
  48. 480 PRINT " OF THE SUB-EXPRESSION."
  49. 490 PRINT
  50. 500 PRINT " BEGIN TEST"
  51. 510 PRINT
  52. 520 PRINT "ABOUT TO COMPUTE 3 + (10 ^ (-99999))"
  53. 530 LET A=3 + (10 ^ (-99999))
  54. 540 PRINT "RESULT = ";A
  55. 550 PRINT
  56. 560 IF A=3 THEN 590
  57. 570 PRINT "*** TEST FAILED: RESULT NOT = 3 ***"
  58. 580 GOTO 600
  59. 590 PRINT "*** TEST PASSED ***"
  60. 600 PRINT
  61. 610 PRINT " END TEST"
  62. 620 PRINT
  63. 630 PRINT "END PROGRAM 35"
  64. 640 END