Solutions To Review Questions-Ch7

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 6

SOLUTIONS TO REVIEW QUESTIONS I. 1. 2. 3. 4. 5. 6. 7. True-False Questions T F T F T F F The * will be performed first.

There is no arithmetic verb corresponding to the ** used by COMPUTE for xponentiation. A literal may not follow the word BY. The word AND is not permitted.

8. 9. 10. II.

T T T General Questions A = 3, B = 2, X = 5 (PIC for each is 99V99) COBOL Statement ADD A B GIVING X ADD A B TO X ON SIZE ERROR MOVE ZERO TO X DIVIDE A INTO B ROUNDED

1. 2.

Result In X X B

Contents 0500 1000 0067

3. 4.

DIVIDE GAS INTO MILES GIVING MPG or DIVIDE MILES BY GAS GIVING MPG COMPUTE Y = (A + B) ** 2 / X Correct. The receiving field cannot be a literal.

5. 6. 7.

8.

AMT cannot be followed by a period. Only with a COBOL 85 compiler can both TO and GIVING be used in the same ADD statement. DIVIDE and MULTIPLY operations cannot be performed in the same statement. It should be: DIVIDE A BY B MULTIPLY B BY C

9.

10. 11. 12. 13.

ROUNDED must appear to the left of the equal sign in a COMPUTE statement. COMPUTE EOQ = (2 * R * S / I) ** .5 COMPUTE A = A + 1 Assuming fractional portions of a pound of grass seed can be purchased, the following solution would be correct: MULTIPLY LENGTH BY WIDTH GIVING SQUARE-FEET COMPUTE COST = SQUARE-FEET / 1000 * 2.50 If grass seed could only be purchased by the pound, the following solution would be correct: POUNDS PIC S9(3).

MULTIPLY LENGTH BY WIDTH GIVING SQUARE-FEET COMPUTE POUNDS = SQUARE-FEET / 1000 + .99999 MULTIPLY POUNDS BY 2.50 GIVING COST 14. 15. No. Only one identifier may follow the word FROM in this format. a. b. 16. 17. 18. a. b. a. b. a. b. COMPUTE HOURS = OVERTIME-HOURS + HOURS ADD OVERTIME-HOURS TO HOURS Cannot code COMPUTE with a REMAINDER. DIVIDE X BY 12 GIVING FEET REMAINDER INCHES COMPUTE WEEK-END = FRI + SAT + SUN ADD FRI, SAT, SUN GIVING WEEK-END COMPUTE TOTAL = TOTAL + AMT1 + AMT2 + AMT3 ADD AMT1, AMT2, AMT3 TO TOTAL

19. 20.

a. b. a. b.

COMPUTE AMT-X = AMT-X - 47.5 SUBTRACT 47.5 FROM AMT-X COMPUTE MONTHLY-TOTAL = YEARLY-TOTAL / 12 DIVIDE 12 INTO YEARLY-TOTAL GIVING MONTHLY TOTAL or DIVIDE YEARLY-TOTAL BY 12 GIVING MONTHLY-TOTAL

21.

WORKING-STORAGE SECTION field definitions: 01 CHARACTER-FIELDS. 05 UPPER-CASE-WORD PIC X(7) VALUE 'GOODBYE'. 05 LOWER-CASE-WORD PIC X(7).

PROCEDURE DIVISION code: MOVE FUNCTION LOWER-CASE (UPPER-CASE-WORD) TO LOWER-CASE-WORD DISPLAY 'UPPER CASE WORD = ' UPPER-CASE-WORD DISPLAY 'LOWER CASE WORD = ' LOWER-CASE-WORD.

22. The value of RESULT will be 3 (3 is the remainder obtained when 15 is divided by 4).

23.

WORKING-STORAGE SECTION field definitions: 01 LEAP-YEAR-TEST-FIELDS. 05 TEST-YEAR 05 REMAINDER-4 05 REMAINDER-400 PIC 9(4). PIC 9(1). PIC 9(3).

PROCEDURE DIVISION code: DISPLAY 'ENTER A 4-DIGIT YEAR: ' ACCEPT TEST-YEAR MOVE FUNCTION REM (TEST-YEAR, 4) TO REMAINDER-4 IF REMAINDER-4 = 0 IF TEST-YEAR (3:2) = 0 MOVE FUNCTION REM (TEST-YEAR, 400) TO REMAINDER-400 IF REMAINDER-400 = 0 DISPLAY TEST-YEAR ' IS A LEAP YEAR' ELSE DISPLAY TEST-YEAR ' IS NOT A LEAP YEAR' END-IF ELSE DISPLAY TEST-YEAR ' IS A LEAP YEAR' END-IF ELSE DISPLAY TEST-YEAR ' IS NOT A LEAP YEAR' END-IF.

24.

WORKING-STORAGE SECTION field definitions: 01 DATE-CALCULATION-FIELDS. 05 DATE-1 PIC 9(8). 05 DATE-2 PIC 9(8). 05 DATE-1-INTEGER PIC 9(8). 05 DATE-2-INTEGER PIC 9(8). 05 DAYS-BETWEEN-DATES PIC S9(8) SIGN LEADING SEPARATE.

PROCEDURE DIVISION code: DISPLAY 'ENTER THE FIRST DATE: ' ACCEPT DATE-1 DISPLAY 'ENTER THE SECOND DATE: ' ACCEPT DATE-2 MOVE FUNCTION INTEGER-OF-DATE (DATE-1) TO DATE-1-INTEGER MOVE FUNCTION INTEGER-OF-DATE (DATE-2) TO DATE-2-INTEGER SUBTRACT DATE-1-INTEGER FROM DATE-2-INTEGER GIVING DAYS-BETWEEN-DATES DISPLAY 'THERE ARE ' DAYS-BETWEEN-DATES ' DAYS BETWEEN THE TWO DATES'. 25. WORKING-STORAGE SECTION field definitions: 01 INPUT-FIELDS. 05 NUMBER-1 05 NUMBER-2 05 NUMBER-3 05 NUMBER-4 05 NUMBER-5 05 NUMBER-6 05 NUMBER-7 05 NUMBER-8 05 NUMBER-9 05 NUMBER-10 STATISTICAL-FIELDS. 05 WS-MEAN 05 WS-MEDIAN 05 WS-SUM 05 WS-MAX 05 WS-MIN PIC PIC PIC PIC PIC PIC PIC PIC PIC PIC PIC PIC PIC PIC PIC S9(3) S9(3) S9(3) S9(3) S9(3) S9(3) S9(3) S9(3) S9(3) S9(3) SIGN SIGN SIGN SIGN SIGN SIGN SIGN SIGN SIGN SIGN LEADING LEADING LEADING LEADING LEADING LEADING LEADING LEADING LEADING LEADING SEPARATE. SEPARATE. SEPARATE. SEPARATE. SEPARATE. SEPARATE. SEPARATE. SEPARATE. SEPARATE. SEPARATE.

01

+999.99. +999.9. +9999. +999. +999.

PROCEDURE DIVISION code: DISPLAY 'ENTER 10 SIGNED, 3-DIGIT INTEGERS (SAMPLE: -123)' DISPLAY 'PRESS ENTER AFTER EACH NUMBER' ACCEPT NUMBER-1 ACCEPT NUMBER-2 ACCEPT NUMBER-3 ACCEPT NUMBER-4 ACCEPT NUMBER-5 ACCEPT NUMBER-6 ACCEPT NUMBER-7 ACCEPT NUMBER-8 ACCEPT NUMBER-9 ACCEPT NUMBER-10 MOVE FUNCTION MEAN (NUMBER-1, NUMBER-2, NUMBER-3, NUMBER-4, NUMBER-5, NUMBER-6, NUMBER-7, NUMBER-8, NUMBER-9, NUMBER-10) TO WS-MEAN MOVE FUNCTION MEDIAN (NUMBER-1, NUMBER-2, NUMBER-3, NUMBER-4, NUMBER-5, NUMBER-6, NUMBER-7, NUMBER-8, NUMBER-9, NUMBER-10) TO WS-MEDIAN MOVE FUNCTION SUM (NUMBER-1, NUMBER-2, NUMBER-3, NUMBER-4, NUMBER-5, NUMBER-6, NUMBER-7, NUMBER-8, NUMBER-9, NUMBER-10) TO WS-SUM MOVE FUNCTION MAX (NUMBER-1, NUMBER-2, NUMBER-3, NUMBER-4, NUMBER-5, NUMBER-6, NUMBER-7, NUMBER-8, NUMBER-9, NUMBER-10) TO WS-MAX MOVE FUNCTION MIN (NUMBER-1, NUMBER-2, NUMBER-3, NUMBER-4, NUMBER-5, NUMBER-6, NUMBER-7, NUMBER-8, NUMBER-9, NUMBER-10) TO WS-MIN DISPLAY 'MEAN = ' WS-MEAN DISPLAY 'MEDIAN = ' WS-MEDIAN DISPLAY 'SUM = ' WS-SUM DISPLAY 'MAX = ' WS-MAX DISPLAY 'MIN = ' WS-MIN.

You might also like