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.
 
 
 
 
 
 

75 lines
2.5 KiB

  1. 10 PRINT "PROGRAM FILE 174: EXCEPTION - EVALUATION OF NUMERIC"
  2. 20 PRINT " EXPRESSIONS IN THE PRINT STATEMENT."
  3. 30 PRINT " ANSI STANDARD 7.5, 8.5, 12.2"
  4. 40 PRINT
  5. 50 PRINT "THIS PROGRAM TESTS THE EFFECT OF THE VARIOUS EXCEPTIONS THAT"
  6. 60 PRINT "CAN OCCUR IN NUMERIC EXPRESSIONS IN THE CONTEXT OF THE PRINT"
  7. 70 PRINT "STATEMENT."
  8. 80 PRINT
  9. 90 PRINT "SECTION 174.1: EXCEPTIONAL EXPRESSIONS AS PRINT-ITEMS."
  10. 100 PRINT
  11. 110 PRINT "THIS SECTION TESTS THE EFFECT OF PRINTING EXPRESSIONS WHICH"
  12. 120 PRINT "CAUSE NON-FATAL EXCEPTIONS."
  13. 130 PRINT
  14. 160 PRINT "TO PASS THIS TEST:"
  15. 170 PRINT
  16. 180 PRINT " 1) FOUR EXCEPTIONS MUST BE REPORTED; OVERFLOW, DIVISION"
  17. 190 PRINT " BY ZERO, ZERO RAISED TO A NEGATIVE POWER, AND"
  18. 195 PRINT " OVERFLOW OF EXP FUNCTION, AND"
  19. 200 PRINT
  20. 210 PRINT " 2) NEGATIVE, NEGATIVE, POSITIVE, AND POSITIVE MACHINE"
  21. 220 PRINT " INFINITY MUST BE SUPPLIED AS THE VALUES OF THE"
  22. 230 PRINT " EXPRESSIONS AND THEN PRINTED."
  23. 240 PRINT
  24. 242 PRINT " BEGIN TEST."
  25. 246 PRINT
  26. 250 PRINT "ABOUT TO EXECUTE:"
  27. 260 PRINT " PRINT (-1E-33) ^ (-3333), (-1E-33) / 0, 0 ^ (-1E-33)";
  28. 265 PRINT ", EXP(1E20)"
  29. 270 LET A=0
  30. 280 LET B=-3333
  31. 290 LET C=-1E-33
  32. 295 LET D=1E20
  33. 300 PRINT
  34. 310 PRINT C^B, C/A, A^C, EXP(D)
  35. 320 PRINT
  36. 330 PRINT "IF FOUR EXCEPTIONS REPORTED AND NEGATIVE, NEGATIVE,"
  37. 340 PRINT " POSITIVE, AND POSITIVE INFINITY PRINTED, THEN"
  38. 350 PRINT "*** TEST PASSED ***"
  39. 360 PRINT
  40. 370 PRINT " END TEST."
  41. 380 PRINT
  42. 390 PRINT "SECTION 174.2: EXCEPTIONAL EXPRESSIONS AS TAB-ITEMS."
  43. 400 PRINT
  44. 410 PRINT "THIS SECTION TESTS THE EFFECT OF OVERFLOW IN A TAB-ITEM."
  45. 420 PRINT
  46. 430 PRINT "TO PASS THIS TEST:"
  47. 440 PRINT
  48. 450 PRINT " 1) THE OVERFLOW EXCEPTION MUST BE REPORTED, AND"
  49. 460 PRINT
  50. 470 PRINT " 2) EXECUTION CONTINUES, WITH THE TAB EVALUATING TO"
  51. 480 PRINT " SOME ARBITRARY PRINT POSITION."
  52. 490 PRINT
  53. 500 PRINT " BEGIN TEST."
  54. 510 PRINT
  55. 520 PRINT "ABOUT TO EXECUTE:"
  56. 530 PRINT " PRINT TAB(9^(9^9));X$"
  57. 540 PRINT " (WHERE X$ = 'X')"
  58. 550 PRINT
  59. 560 PRINT "0000000001111111111222222222233333333334444444444";
  60. 570 PRINT "55555555556666666666777"
  61. 580 PRINT "1234567890123456789012345678901234567890123456789";
  62. 590 PRINT "01234567890123456789012"
  63. 600 LET X$="X"
  64. 610 LET D=9
  65. 620 PRINT TAB(D^(D^D));X$
  66. 630 PRINT
  67. 640 PRINT "IF OVERFLOW EXCEPTION REPORTED, AND 'X' APPEARED FOLLOWING"
  68. 650 PRINT " NUMBERED LINES, THEN"
  69. 660 PRINT "*** TEST PASSED ***"
  70. 670 PRINT
  71. 680 PRINT " END TEST."
  72. 690 PRINT
  73. 700 PRINT "END PROGRAM 174"
  74. 710 END