|
- PROGRAM FILE 9: PRINTING NR1 AND NR2 NUMERIC CONSTANTS.
- ANS STANDARD 5.2, 5.4, 12.4
-
- SECTION 9.1: CONSTANTS IN NR1 FORM (INTEGERS).
-
- COLUMNS 1 AND 3 SHOW THE OUTPUT AS IT SHOULD BE.
- COLUMNS 2 AND 4 SHOW THE ACTUAL OUTPUT.
-
- BEGIN TEST.
-
- 000000000111111111122222222223333333333444444444455555555556666666666777
- 123456789012345678901234567890123456789012345678901234567890123456789012
- SHOULD BE ACTUAL SHOULD BE ACTUAL
- 0 0 0 0
- 1 1 -1 -1
- 12 12 -12 -12
- 123 123 -123 -123
- 1234 1234 -1234 -1234
- 12345 12345 -12345 -12345
- 123456 123456 -123456 -123456
- 999999 999999 -999999 -999999
-
- *** TEST PASSED IF COLUMNS 1 & 2, AND 3 & 4 CONTAIN THE SAME
- NUMERIC REPRESENTATION FOR EACH PAIR OF INTEGERS ***
-
- END TEST.
-
- SECTION 9.2: NR1 CONSTANTS SEPARATED BY COMMAS TO PRODUCE
- TABULAR OUTPUT.
-
- BEGIN TEST.
-
- 000000000111111111122222222223333333333444444444455555555556666666666777
- 123456789012345678901234567890123456789012345678901234567890123456789012
- 1 -12 123
- -1234 12345 -123456
- 123456 -1234 123
-
- *** TEST PASSED IF THE FIRST THREE PRINT ZONES EACH CONTAIN
- A COLUMN OF INTEGERS ***
-
- END TEST.
-
- SECTION 9.3: SPACE ALLOCATED FOR PRINTED INTEGER CONSTANTS.
-
- PRINTED INTEGER CONSTANTS ARE PRECEDED BY A SPACE IF
- POSITIVE, A MINUS IF NEGATIVE AND FOLLOWED BY A SPACE.
- THE SPACE FOR THE CONSTANT IS DELIMITED BY ASTERISKS.
-
- BEGIN TEST.
-
- 000000000111111111122222222223333333333444444444455555555556666666666777
- 123456789012345678901234567890123456789012345678901234567890123456789012
- SHOULD BE: * 1 * *-23 * * 456 *
- ACTUAL: * 1 * *-23 * * 456 *
-
- SHOULD BE: * 7890 * *-12345 * * 678901 *
- ACTUAL: * 7890 * *-12345 * * 678901 *
-
- *** TEST PASSED IF 'ACTUAL' LINES MATCH CORRESPONDING
- 'SHOULD BE' LINES ***
-
- END TEST.
-
- SECTION 9.4: NR1 CONSTANTS SEPARATED BY SEMICOLONS.
-
- PRINTED INTEGER CONSTANTS ARE PRECEDED BY A SPACE IF
- POSITIVE OR A MINUS IF NEGATIVE AND ARE FOLLOWED BY A SPACE.
- THE SEMICOLON SEPARATOR PRODUCES A NULL STRING.
-
- BEGIN TEST.
-
- 000000000111111111122222222223333333333444444444455555555556666666666777
- 123456789012345678901234567890123456789012345678901234567890123456789012
- SHOULD BE: 0 0 1 -12 123 -1234 12345 -123456
- ACTUAL: 0 0 1 -12 123 -1234 12345 -123456
-
- *** TEST PASSED IF 'ACTUAL' LINE MATCHES CORRESPONDING
- 'SHOULD BE' LINE ***
-
- END TEST.
-
- SECTION 9.5: CONSTANTS IN NR2 FORM.
-
- COLUMNS 1 AND 3 SHOW THE OUTPUT AS IT SHOULD BE.
- COLUMNS 2 AND 4 SHOW THE ACTUAL OUTPUT.
-
- EXPECTED OUTPUT IS DISPLAYED WITH TRAILING ZEROS
- SUPPRESSED. IMPLEMENTATIONS MAY ADD TRAILING ZEROS UP TO
- THEIR SIGNIFICAND-WIDTH, D. THUS .12 MAY BE DISPLAYED AS
- '.1200' OR '.1200000' IF, FOR INSTANCE, D = 7.
-
- BEGIN TEST.
-
- 000000000111111111122222222223333333333444444444455555555556666666666777
- 123456789012345678901234567890123456789012345678901234567890123456789012
- SHOULD BE ACTUAL SHOULD BE ACTUAL
- .1 .1 -.1 -.1
- .12 .12 -.12 -.12
- .123 .123 -.123 -.123
- .1234 .1234 -.1234 -.1234
- .12345 .12345 -.12345 -.12345
- .123456 .123456 -.123456 -.123456
- .234567 .234567 -.234567 -.234567
- .345678 .345678 -.345678 -.345678
- .456789 .456789 -.456789 -.456789
- .56789 .56789 -.56789 -.56789
- .6789 .6789 -.6789 -.6789
- .789 .789 -.789 -.789
- .89 .89 -.89 -.89
- .9 .9 -.9 -.9
- 0 0 0 0
- 1.23456 1.23456 -1.23456 -1.23456
- 9.876 9.876 -9.876 -9.876
- 12.3456 12.3456 -12.3456 -12.3456
- 123.456 123.456 -123.456 -123.456
- 1234.56 1234.56 -1234.56 -1234.56
- 12345.6 12345.6 -12345.6 -12345.6
- 23456.7 23456.7 -23456.7 -23456.7
- 34567.8 34567.8 -34567.8 -34567.8
- 45678.9 45678.9 -45678.9 -45678.9
- 56789.1 56789.1 -56789.1 -56789.1
- 67891.2 67891.2 -67891.2 -67891.2
- 78912.3 78912.3 -78912.3 -78912.3
- 89123.4 89123.4 -89123.4 -89123.4
- 91234.5 91234.5 -91234.5 -91234.5
- 99999.9 99999.9 -99999.9 -99999.9
-
- *** TEST PASSED IF COLUMNS 1 & 2, AND 3 & 4 CONTAIN THE
- SAME REPRESENTATION FOR EACH PAIR OF NUMBERS
- (ALLOWING FOR OPTIONAL TRAILING ZEROS) ***
-
- END TEST.
-
- SECTION 9.6: USING NR2 INSTEAD OF NR3 FORMAT FOR
- SIX-DIGIT CONSTANTS.
-
- NUMBERS THAT CAN BE REPRESENTED IN THE UNSCALED
- REPRESENTATION NO LESS ACCURATELY THAN AS IN
- SCALED FORMAT, SHALL BE OUTPUT USING THE UNSCALED FORMAT.
-
- BEGIN TEST.
-
- SHOULD BE ACTUAL SHOULD BE ACTUAL
-
- .022222 .022222 -.022222 -.022222
- .004444 .004444 -.004444 -.004444
- .000888 .000888 -.000888 -.000888
- .000044 .000044 -.000044 -.000044
- .000002 .000002 -.000002 -.000002
-
- *** TEST PASSED IF COLUMNS 1 & 2, AND 3 & 4 CONTAIN THE
- SAME REPRESENTATION FOR EACH PAIR OF NUMBERS
- (ALLOWING FOR OPTIONAL TRAILING ZEROS) ***
-
- END TEST.
-
- SECTION 9.7: NR2 CONSTANTS SEPARATED BY COMMAS TO PRODUCE
- TABULAR OUTPUT.
-
- BEGIN TEST.
-
- 000000000111111111122222222223333333333444444444455555555556666666666777
- 123456789012345678901234567890123456789012345678901234567890123456789012
- .123456 -99999.9 91234.5
- -1.23456 89123.4 -2.34567
- 295.64 .023 -67.8954
-
- *** TEST PASSED IF THE FIRST THREE PRINT ZONES EACH CONTAIN
- A COLUMN OF REAL NUMBERS USING EXPLICIT POINT,
- UNSCALED REPRESENTATION ***
-
- END TEST.
-
- SECTION 9.8: SPACE ALLOTMENT FOR PRINTED NR2 NUMBERS.
-
- PRINTED NR2 CONSTANTS ARE PRECEDED BY A SPACE IF POSITIVE
- OR BY A MINUS IF NEGATIVE, AND ARE FOLLOWED BY A SPACE.
- THE FIELDS FOR THE CONSTANTS ARE DELIMITED BY ASTERISKS.
-
- BEGIN TEST.
-
- 000000000111111111122222222223333333333444444444455555555556666666666777
- 123456789012345678901234567890123456789012345678901234567890123456789012
- * 90000.1 * * .000123 * * .000009 *
- * 900.001 * * .000123 * * .000009 *
- *-.900001 * *-.000123 * *-.000009 *
-
- * .234567 * * 1.23456 * * 91.2345 *
- * .234567 * * 1.23456 * * 91.2345 *
- *-.234567 * *-1.23456 * *-91.2345 *
-
- * 865.789 * * 1234.56 * * 99999.9 *
- * 865.789 * * 1234.56 * * 99999.9 *
- *-865.789 * *-1234.56 * *-99999.9 *
-
- *** TEST PASSED IF EACH NUMBER IS PRECEDED BY A SPACE OR
- A MINUS SIGN, AND FOLLOWED BY A SPACE AND THE NUMBERS
- USE EXPLICIT POINT, UNSCALED REPRESENTATION ***
-
- END TEST.
-
- END PROGRAM 9
|