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.
 
 
 
 
 
 

204 lines
16 KiB

  1. PROGRAM FILE 9: PRINTING NR1 AND NR2 NUMERIC CONSTANTS.
  2. ANS STANDARD 5.2, 5.4, 12.4
  3. SECTION 9.1: CONSTANTS IN NR1 FORM (INTEGERS).
  4. COLUMNS 1 AND 3 SHOW THE OUTPUT AS IT SHOULD BE.
  5. COLUMNS 2 AND 4 SHOW THE ACTUAL OUTPUT.
  6. BEGIN TEST.
  7. 000000000111111111122222222223333333333444444444455555555556666666666777
  8. 123456789012345678901234567890123456789012345678901234567890123456789012
  9. SHOULD BE ACTUAL SHOULD BE ACTUAL
  10. 0 0 0 0
  11. 1 1 -1 -1
  12. 12 12 -12 -12
  13. 123 123 -123 -123
  14. 1234 1234 -1234 -1234
  15. 12345 12345 -12345 -12345
  16. 123456 123456 -123456 -123456
  17. 999999 999999 -999999 -999999
  18. *** TEST PASSED IF COLUMNS 1 & 2, AND 3 & 4 CONTAIN THE SAME
  19. NUMERIC REPRESENTATION FOR EACH PAIR OF INTEGERS ***
  20. END TEST.
  21. SECTION 9.2: NR1 CONSTANTS SEPARATED BY COMMAS TO PRODUCE
  22. TABULAR OUTPUT.
  23. BEGIN TEST.
  24. 000000000111111111122222222223333333333444444444455555555556666666666777
  25. 123456789012345678901234567890123456789012345678901234567890123456789012
  26. 1 -12 123
  27. -1234 12345 -123456
  28. 123456 -1234 123
  29. *** TEST PASSED IF THE FIRST THREE PRINT ZONES EACH CONTAIN
  30. A COLUMN OF INTEGERS ***
  31. END TEST.
  32. SECTION 9.3: SPACE ALLOCATED FOR PRINTED INTEGER CONSTANTS.
  33. PRINTED INTEGER CONSTANTS ARE PRECEDED BY A SPACE IF
  34. POSITIVE, A MINUS IF NEGATIVE AND FOLLOWED BY A SPACE.
  35. THE SPACE FOR THE CONSTANT IS DELIMITED BY ASTERISKS.
  36. BEGIN TEST.
  37. 000000000111111111122222222223333333333444444444455555555556666666666777
  38. 123456789012345678901234567890123456789012345678901234567890123456789012
  39. SHOULD BE: * 1 * *-23 * * 456 *
  40. ACTUAL: * 1 * *-23 * * 456 *
  41. SHOULD BE: * 7890 * *-12345 * * 678901 *
  42. ACTUAL: * 7890 * *-12345 * * 678901 *
  43. *** TEST PASSED IF 'ACTUAL' LINES MATCH CORRESPONDING
  44. 'SHOULD BE' LINES ***
  45. END TEST.
  46. SECTION 9.4: NR1 CONSTANTS SEPARATED BY SEMICOLONS.
  47. PRINTED INTEGER CONSTANTS ARE PRECEDED BY A SPACE IF
  48. POSITIVE OR A MINUS IF NEGATIVE AND ARE FOLLOWED BY A SPACE.
  49. THE SEMICOLON SEPARATOR PRODUCES A NULL STRING.
  50. BEGIN TEST.
  51. 000000000111111111122222222223333333333444444444455555555556666666666777
  52. 123456789012345678901234567890123456789012345678901234567890123456789012
  53. SHOULD BE: 0 0 1 -12 123 -1234 12345 -123456
  54. ACTUAL: 0 0 1 -12 123 -1234 12345 -123456
  55. *** TEST PASSED IF 'ACTUAL' LINE MATCHES CORRESPONDING
  56. 'SHOULD BE' LINE ***
  57. END TEST.
  58. SECTION 9.5: CONSTANTS IN NR2 FORM.
  59. COLUMNS 1 AND 3 SHOW THE OUTPUT AS IT SHOULD BE.
  60. COLUMNS 2 AND 4 SHOW THE ACTUAL OUTPUT.
  61. EXPECTED OUTPUT IS DISPLAYED WITH TRAILING ZEROS
  62. SUPPRESSED. IMPLEMENTATIONS MAY ADD TRAILING ZEROS UP TO
  63. THEIR SIGNIFICAND-WIDTH, D. THUS .12 MAY BE DISPLAYED AS
  64. '.1200' OR '.1200000' IF, FOR INSTANCE, D = 7.
  65. BEGIN TEST.
  66. 000000000111111111122222222223333333333444444444455555555556666666666777
  67. 123456789012345678901234567890123456789012345678901234567890123456789012
  68. SHOULD BE ACTUAL SHOULD BE ACTUAL
  69. .1 .1 -.1 -.1
  70. .12 .12 -.12 -.12
  71. .123 .123 -.123 -.123
  72. .1234 .1234 -.1234 -.1234
  73. .12345 .12345 -.12345 -.12345
  74. .123456 .123456 -.123456 -.123456
  75. .234567 .234567 -.234567 -.234567
  76. .345678 .345678 -.345678 -.345678
  77. .456789 .456789 -.456789 -.456789
  78. .56789 .56789 -.56789 -.56789
  79. .6789 .6789 -.6789 -.6789
  80. .789 .789 -.789 -.789
  81. .89 .89 -.89 -.89
  82. .9 .9 -.9 -.9
  83. 0 0 0 0
  84. 1.23456 1.23456 -1.23456 -1.23456
  85. 9.876 9.876 -9.876 -9.876
  86. 12.3456 12.3456 -12.3456 -12.3456
  87. 123.456 123.456 -123.456 -123.456
  88. 1234.56 1234.56 -1234.56 -1234.56
  89. 12345.6 12345.6 -12345.6 -12345.6
  90. 23456.7 23456.7 -23456.7 -23456.7
  91. 34567.8 34567.8 -34567.8 -34567.8
  92. 45678.9 45678.9 -45678.9 -45678.9
  93. 56789.1 56789.1 -56789.1 -56789.1
  94. 67891.2 67891.2 -67891.2 -67891.2
  95. 78912.3 78912.3 -78912.3 -78912.3
  96. 89123.4 89123.4 -89123.4 -89123.4
  97. 91234.5 91234.5 -91234.5 -91234.5
  98. 99999.9 99999.9 -99999.9 -99999.9
  99. *** TEST PASSED IF COLUMNS 1 & 2, AND 3 & 4 CONTAIN THE
  100. SAME REPRESENTATION FOR EACH PAIR OF NUMBERS
  101. (ALLOWING FOR OPTIONAL TRAILING ZEROS) ***
  102. END TEST.
  103. SECTION 9.6: USING NR2 INSTEAD OF NR3 FORMAT FOR
  104. SIX-DIGIT CONSTANTS.
  105. NUMBERS THAT CAN BE REPRESENTED IN THE UNSCALED
  106. REPRESENTATION NO LESS ACCURATELY THAN AS IN
  107. SCALED FORMAT, SHALL BE OUTPUT USING THE UNSCALED FORMAT.
  108. BEGIN TEST.
  109. SHOULD BE ACTUAL SHOULD BE ACTUAL
  110. .022222 .022222 -.022222 -.022222
  111. .004444 .004444 -.004444 -.004444
  112. .000888 .000888 -.000888 -.000888
  113. .000044 .000044 -.000044 -.000044
  114. .000002 .000002 -.000002 -.000002
  115. *** TEST PASSED IF COLUMNS 1 & 2, AND 3 & 4 CONTAIN THE
  116. SAME REPRESENTATION FOR EACH PAIR OF NUMBERS
  117. (ALLOWING FOR OPTIONAL TRAILING ZEROS) ***
  118. END TEST.
  119. SECTION 9.7: NR2 CONSTANTS SEPARATED BY COMMAS TO PRODUCE
  120. TABULAR OUTPUT.
  121. BEGIN TEST.
  122. 000000000111111111122222222223333333333444444444455555555556666666666777
  123. 123456789012345678901234567890123456789012345678901234567890123456789012
  124. .123456 -99999.9 91234.5
  125. -1.23456 89123.4 -2.34567
  126. 295.64 .023 -67.8954
  127. *** TEST PASSED IF THE FIRST THREE PRINT ZONES EACH CONTAIN
  128. A COLUMN OF REAL NUMBERS USING EXPLICIT POINT,
  129. UNSCALED REPRESENTATION ***
  130. END TEST.
  131. SECTION 9.8: SPACE ALLOTMENT FOR PRINTED NR2 NUMBERS.
  132. PRINTED NR2 CONSTANTS ARE PRECEDED BY A SPACE IF POSITIVE
  133. OR BY A MINUS IF NEGATIVE, AND ARE FOLLOWED BY A SPACE.
  134. THE FIELDS FOR THE CONSTANTS ARE DELIMITED BY ASTERISKS.
  135. BEGIN TEST.
  136. 000000000111111111122222222223333333333444444444455555555556666666666777
  137. 123456789012345678901234567890123456789012345678901234567890123456789012
  138. * 90000.1 * * .000123 * * .000009 *
  139. * 900.001 * * .000123 * * .000009 *
  140. *-.900001 * *-.000123 * *-.000009 *
  141. * .234567 * * 1.23456 * * 91.2345 *
  142. * .234567 * * 1.23456 * * 91.2345 *
  143. *-.234567 * *-1.23456 * *-91.2345 *
  144. * 865.789 * * 1234.56 * * 99999.9 *
  145. * 865.789 * * 1234.56 * * 99999.9 *
  146. *-865.789 * *-1234.56 * *-99999.9 *
  147. *** TEST PASSED IF EACH NUMBER IS PRECEDED BY A SPACE OR
  148. A MINUS SIGN, AND FOLLOWED BY A SPACE AND THE NUMBERS
  149. USE EXPLICIT POINT, UNSCALED REPRESENTATION ***
  150. END TEST.
  151. END PROGRAM 9