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.
 
 
 
 
 
 

81 lines
1.9 KiB

  1. 10 PRINT "PROGRAM FILE 88: THE ON-GOTO-STATEMENT."
  2. 20 PRINT " ANSI STANDARD 10.2, 10.4"
  3. 30 PRINT
  4. 60 PRINT "SECTION 88.1: THE ON-GOTO EXPRESSION WITH INTEGER VALUES."
  5. 80 PRINT
  6. 90 PRINT " BEGIN TEST."
  7. 100 PRINT
  8. 120 LET N=0
  9. 130 FOR I=1 TO 5
  10. 140 REM 3RD DIGIT OF LINE NUMBER IS ITS POSITION IN LIST
  11. 150 ON I GOTO 221, 252, 213, 244, 235
  12. 160 PRINT "CONTROL FELL THROUGH ON-GOTO"
  13. 170 GOTO 280
  14. 213 IF I=3 THEN 290
  15. 218 LET K=3
  16. 219 GOTO 270
  17. 221 IF I=1 THEN 290
  18. 228 LET K=1
  19. 229 GOTO 270
  20. 235 IF I=5 THEN 290
  21. 238 LET K=5
  22. 239 GOTO 270
  23. 244 IF I=4 THEN 290
  24. 248 LET K=4
  25. 249 GOTO 270
  26. 252 IF I=2 THEN 290
  27. 258 LET K=2
  28. 259 GOTO 270
  29. 270 PRINT "CONTROL WENT TO LINE #";K;" IN LIST EVEN THOUGH ON-GOTO";
  30. 275 PRINT " EXPRESSION = ";I
  31. 280 LET N=1
  32. 290 NEXT I
  33. 300 PRINT
  34. 310 IF N=0 THEN 340
  35. 320 PRINT "*** TEST FAILED ***"
  36. 330 GOTO 350
  37. 340 PRINT "*** TEST PASSED ***"
  38. 350 PRINT
  39. 360 PRINT " END TEST."
  40. 370 PRINT
  41. 375 PRINT
  42. 380 PRINT "SECTION 88.2: THE ON-GOTO EXPRESSION WITH FRACTIONAL VALUES."
  43. 400 PRINT
  44. 410 PRINT "THIS SECTION TESTS THAT FRACTIONAL VALUES ARE ROUNDED"
  45. 420 PRINT "TO THE NEAREST INTEGER BY THE ON-GOTO BEFORE SELECTION"
  46. 425 PRINT "OF THE LINE-NUMBER FROM THE LIST."
  47. 430 PRINT
  48. 440 PRINT " BEGIN TEST."
  49. 450 PRINT
  50. 500 LET N=0
  51. 510 FOR I=0.6 TO 3.4 STEP .2
  52. 530 ON I GOTO 600,700,800
  53. 540 PRINT "CONTROL FELL THROUGH ON-GOTO."
  54. 550 GOTO 950
  55. 600 LET K=1
  56. 610 IF I<.5 THEN 900
  57. 620 IF I>1.5 THEN 900
  58. 630 GOTO 1000
  59. 700 LET K=2
  60. 710 IF I<1.5 THEN 900
  61. 720 IF I>2.5 THEN 900
  62. 730 GOTO 1000
  63. 800 LET K=3
  64. 810 IF I<2.5 THEN 900
  65. 820 IF I>3.5 THEN 900
  66. 830 GOTO 1000
  67. 900 PRINT "CONTROL WENT TO LINE #";K;" IN LIST, BUT ON-GOTO";
  68. 910 PRINT " EXPRESSION = ";I
  69. 950 LET N=1
  70. 1000 NEXT I
  71. 1010 PRINT
  72. 1020 IF N=0 THEN 1050
  73. 1030 PRINT "*** TEST FAILED ***"
  74. 1040 GOTO 1060
  75. 1050 PRINT "*** TEST PASSED ***"
  76. 1060 PRINT
  77. 1070 PRINT " END TEST."
  78. 1260 PRINT
  79. 1270 PRINT "END PROGRAM 88"
  80. 1280 END