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.
 
 
 
 
 
 

106 lines
2.4 KiB

  1. 10 PRINT "PROGRAM FILE 48: LIMIT AND INCREMENT IN THE FOR-STATEMENT"
  2. 20 PRINT " ARE EVALUATED ONCE UPON ENTERING THE LOOP."
  3. 30 PRINT " ANSI STANDARD 11.2, 11.4"
  4. 40 PRINT
  5. 50 PRINT "SECTION 48.1: LIMIT AND INCREMENT IN THE FOR-STATEMENT"
  6. 60 PRINT " ARE EVALUATED ONCE UPON ENTERING THE LOOP."
  7. 70 PRINT
  8. 80 REM S1 IS ERROR SWITCH
  9. 90 LET S1=0
  10. 100 PRINT " BEGIN TEST."
  11. 110 LET I1=-20
  12. 120 LET I2=-20
  13. 130 LET T2=1
  14. 140 PRINT
  15. 150 PRINT "I1 SET TO -20"
  16. 160 PRINT "LOOP IS: FOR I1=I1 TO I1 STEP -3"
  17. 170 PRINT
  18. 180 PRINT "CONTROL VARIABLE:"
  19. 190 PRINT "SHOULD BE","ACTUAL","RESULT"
  20. 200 LET T1=0
  21. 210 FOR I1=I1 TO I1 STEP -3
  22. 220 LET T1=T1+1
  23. 230 GOSUB 3120
  24. 240 IF T1>20 THEN 290
  25. 250 LET I2=I2-3
  26. 260 NEXT I1
  27. 270 PRINT "LOOP EXITED"
  28. 280 GOTO 310
  29. 290 PRINT "JUMPED OUT OF LOOP: INCORRECT"
  30. 300 LET S1=1
  31. 310 GOSUB 3120
  32. 320 GOSUB 3000
  33. 400 LET I1=-3
  34. 410 LET I2=-3
  35. 420 LET T2=6
  36. 430 PRINT
  37. 440 PRINT "I1 SET TO -3"
  38. 450 PRINT "LOOP IS: FOR I1=I1 TO -20 STEP I1"
  39. 460 PRINT
  40. 470 PRINT "CONTROL VARIABLE:"
  41. 480 PRINT "SHOULD BE","ACTUAL","RESULT"
  42. 490 LET T1=0
  43. 500 FOR I1=I1 TO -20 STEP I1
  44. 510 LET T1=T1+1
  45. 520 GOSUB 3120
  46. 530 IF T1>20 THEN 580
  47. 540 LET I2=I2-3
  48. 550 NEXT I1
  49. 560 PRINT "LOOP EXITED"
  50. 570 GOTO 600
  51. 580 PRINT "JUMPED OUT OF LOOP: INCORRECT"
  52. 590 LET S1=1
  53. 600 GOSUB 3120
  54. 610 GOSUB 3000
  55. 700 LET I1=-2
  56. 710 LET I2=9
  57. 720 LET T2=6
  58. 730 PRINT
  59. 740 PRINT "I1 SET TO -2"
  60. 750 PRINT "LOOP IS: FOR I1=9 TO I1 STEP I1"
  61. 760 PRINT
  62. 770 PRINT "CONTROL VARIABLE:"
  63. 780 PRINT "SHOULD BE","ACTUAL","RESULT"
  64. 790 LET T1=0
  65. 800 FOR I1=9 TO I1 STEP I1
  66. 810 LET T1=T1+1
  67. 820 GOSUB 3120
  68. 830 IF T1>20 THEN 880
  69. 840 LET I2=I2-2
  70. 850 NEXT I1
  71. 860 PRINT "LOOP EXITED"
  72. 870 GOTO 900
  73. 880 PRINT "JUMPED OUT OF LOOP: INCORRECT"
  74. 890 LET S1=1
  75. 900 GOSUB 3120
  76. 910 GOSUB 3000
  77. 2000 IF S1=0 THEN 2030
  78. 2010 PRINT "*** TEST FAILED ***"
  79. 2020 GOTO 2040
  80. 2030 PRINT "*** TEST PASSED ***"
  81. 2040 PRINT
  82. 2050 PRINT " END TEST."
  83. 2060 PRINT
  84. 2070 PRINT "END PROGRAM 48"
  85. 2080 STOP
  86. 3000 REM SUBROUTINE TO CHECK NUMBER OF TIMES THROUGH LOOP
  87. 3010 LET M$=" OK "
  88. 3020 IF T1=T2 THEN 3050
  89. 3030 LET M$="FAILED"
  90. 3040 LET S1=1
  91. 3050 PRINT
  92. 3060 PRINT "NO. TIMES THROUGH LOOP:"
  93. 3070 PRINT "SHOULD BE: ";T2;" ACTUAL: ";T1;" RESULT: ";M$
  94. 3080 PRINT
  95. 3090 PRINT "----------------------------"
  96. 3100 PRINT
  97. 3110 RETURN
  98. 3120 REM SUBROUTINE TO CHECK THAT I1=I2
  99. 3130 LET M$=" OK "
  100. 3140 IF I1=I2 THEN 3170
  101. 3150 LET M$="FAILED"
  102. 3160 LET S1=1
  103. 3170 PRINT I2,I1,M$
  104. 3180 RETURN
  105. 3190 END