Cobol Test Review

advertisement
Cobol Test Review
1. As an acronym, what does COBOL represent?
Common Business Oriented Language
2. What are the four divisions of a Cobol program?
1) Identification
2) Environment
3) Data
4) Procedure
3. Describe how variables are allocated in Cobol.
Static
4. Show the hex contents of the following fields:
a)
b)
c)
d)
e)
f)
g)
h)
i)
j)
k)
l)
m)
n)
o)
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
FIELDA
FIELDA
FIELDA
FIELDA
FIELDA
FIELDA
FIELDA
FIELDA
FIELDA
FIELDA
FIELDA
FIELDA
FIELDA
FIELDA
FIELDA
FIELDA
FIELDA
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
PIC
X(3)
VALUE "ABC". C1C2C3
X(3)
VALUE "A".
C14040
X(3)
VALUE "ABCDEFG". C1C2C3
X(3)
VALUE "ABC".
C1C2C3
S9(3)
VALUE "123".
F1F2C3
9(3)
VALUE "123".
F1F2C3
S9(3)
VALUE "-123". F1F2D3
S9(3)
VALUE "123456". F4F5C6
S9(5) PACKED-DECIMAL VALUE "123".
00123C
S9(5) PACKED-DECIMAL VALUE "-123". 00123D
S9(5) PACKED-DECIMAL VALUE "-12345". 12345D
S9(4) PACKED-DECIMAL VALUE “-12345”. 02345D
S9(3)V99 PACKED-DECIMAL VALUE "12.34". 01234C
S9(7) PACKED-DECIMAL VALUE ‘123.45”
0012345C
S9(8) BINARY VALUE 24.
00000018
S9(4) BINARY VALUE 24.
0018
S9(4) BINARY VALUE -3.
FFFD
5. Describe suitable output PICs for the fields described
above in j,k, and l.
J&K. PIC ZZZZ9L. ZZZ.996. Consider the information below:
FILE-CONTROL.
SELECT INPUT-FILE
ASSIGN TO MYIFILE.
SELECT OUTPUT-FILE
ASSIGN TO MYOFILE.
What is INPUT-FILE and where is it defined? Internal file
name defined in an FD.
What is MYIFILE and where is it defined?
It is the DD Name of the file defined in the JCL.
7. Consider the information below:
FD CUSTOMER
RECORDING MODE IS F.
01 OUTPUT-REC.
10
10 FIELDA-O
10
10 FIELDB-O
10
10 FIELDC-O
10
PIC
PIC
PIC
PIC
PIC
PIC
PIC
X(20) VALUE SPACES.
ZZ.99-.
X(5).
Z,ZZ9.999-.
X(5).
ZZZ,ZZ9.9-.
X(79).
What does the RECORDING MODE IS F clause indicate? All
records are fixed in length.
Where is the storage associated with OUTPUT-REC? In
system supplied buffers.
Why would you code multiple 01s in an FD? You need
multiple record types in the file, or for variable length
records.
What does the compiler do with VALUE clauses in an FD?
Value clauses are ignored – there is no working storage
to initialize.
How would you print a record to the CUSTOMER file?
WRITE OUTPUT-REC
or
WRITE OUTPUT-REC FROM (SOME OTHER AREA)
8. Consider the information
FD INPUT-FILE
RECORDING MODE IS F.
01 INPUT-REC.
10 FIELDA
10 FIELDB
10 FIELDC
10
below:
PIC
PIC
PIC
PIC
S9(2)V99.
S9(4)V9(3) PACKED-DECIMAL.
S9(6)V9 PACKED-DECIMAL.
X(68).
Are value clauses allowed in INPUT-REC? YES, but ignored.
How do you read a record from INPUT-FILE?
READ INPUT FILE
AT END
…
END-READ
Where can you define fields in COBOL? WORKING-STORAGE
SECTION, FD’S, LINKAGE-SECTION
10. Show how to define a name field that consists of
three subfields: first, last and middle initial.
10 A-NAME.
15 FIRST-NAME
15 MI
15 LAST-NAME
PIC X(10).
PIC X.
PIC X(20).
11. Show how to define a table of 50 name fields. Use
the name structure you built in #10. Define the table
twice – with and without indexes.
01 MY-TABLE.
10 A-NAME OCCURS 50 TIMES.
15 FIRST-NAME PIC X(10).
15 MI
PIC X.
15 LAST-NAME
PIC X(20).
01 MY-TABLE.
10 A-NAME OCCURS 50 TIMES INDEXED BY NDX.
15 FIRST-NAME PIC X(10).
15 MI
PIC X.
15 LAST-NAME
PIC X(20).
12. Show how to define a two dimensional table of name
fields with 5 rows and 10 columns. Use the name
structure you built in #10.
01 MY-TABLE.
05 ROW OCCURS 5 TIMES INDEXED BY I.
10 A-NAME OCCURS 10 TIMES INDEXED BY J.
15 FIRST-NAME PIC X(10).
15 MI
PIC X.
15 LAST-NAME
PIC X(20).
13. Show how to define a Sudoku table.
01 SUDOKU.
10 ROW OCCURS 9 TIMES
20 CELL
PIC X OCCURS 9 TIMES.
14. Write a loop that would print the table of names in
#11. Show how to do this with both indexes and without.
Using indexes manually, show how to print the 10th and
11th names.
PERFORM VARYING I FROM 1 BY 1 UNTIL I > 50
DISPLAY A-NAME(I)
END-PERFORM
MOVE 1 TO I
or
PERFORM UNTIL I > 50
DISPLAY A-NAME(I)
ADD 1 TO I
END-PERFORM
15. Write a loop that would print the Sudoku table in #13
in a rectangular form.
01 OUT-REC.
10 ITEM OCCURS 9 TIMES.
20 CELL-O
PIC X.
20
PIC X VALUE SPACE.
10
PIC X(114).
PERFORM VARYING I FROM 1 BY 1 UNTIL I > 9
PERFORM VARYING J FROM 1 BY 1 UNTIL J > 9
MOVE CELL(I , J) TO CELL-O(J)
END-PERFORM
WRITE OUTPUT-REC FROM OUT-REC AFTER ADVANCING 1 LINE
END-PERFORM
16. Write a loop that would check the rows of a Sudoku
table to see if a rule has been violated.
PERFORM VARYING I FROM 1 BY 1 UNTIL I > 9
PERFORM VARYING J FROM 1 BY 1 UNTIL I > 9
PERFORM VARYING K FROM J + 1 BY 1 UNTIL K > 8
IF CELL(I J) = CELL(I K)
DISPLAY “BAD ROW”
MOVE 10 TO K
MOVE 10 TO J
MOVE 10 TO I
END-IF
END-PERFORM
END-PERFORM
END-PERFORM
17. Write a loop that would read all the records in
INPUT-FILE defined in #8.
READ INPUT FILE AT END
MOVE ‘YES’ TO EOF
END-READ
PERFORM UNTIL EOF
…
READ INPUT FILE AT END
MOVE ‘YES’ TO EOF
END-READ
END-PERFORM
18. How does Cobol determine if a file is used for input
or output? Determined by the open statement
OPEN INPUT
OPEN OUTPUT
OPEN EXTEND
19. Consider the field below:
15 FIELDA
PIC S9(5).
Show how give the field a second name and a PIC with all
X’s.
15 FIELDA
PIC S9(5).
15 FIELDA-1 REDEFINES FIELDA PIC X(5).
20. To assign FIELDB to FIELDA, what would you code if
they are both PIC X(10) fields? What if they were numeric
fields?
MOVE FIELDB TO FIELDA
Numeric:
MOVE FIELDB TO FIELDA OR
COMPUTE FIELDA = FIELDB
21. Describe two ways to set a numeric field to 0 at runtime.
LET X BE THE FIELD
1) MOVE 0 TO X
2) INITIALIZE X
22. Describe two ways to set an alphanumeric field to
spaces at run-time.
1) MOVE SPACES TO X
2) INITIALIZE X
23. Define a table of 10 integers in memory. Write the
code to compute the average of the integers.
01 MYTABLE.
10 THE-DATA
PIC X’12345678901234567890’.
10 X REDEFINES THE-DATA PIC S99 OCCURS 10 TIMES.
01 AVG PIC S999V99 PACKED-DECIMAL.
01 TOTAL PIC S99999V99.
COMPUTE AVG = FUNCTION AVERAGE(X(ALL))
or
MOVE 0 TO TOTAL
PERFORM VARYING I FROM 1 BY 1 UNTIL I > 10
ADD X(I) TO TOTAL
END-PERFORM
COMPUTE TOTAL = TOTAL / 10
24. Consider the following fields:
15 A
PIC S9(5)V9(4) PACKED-DECIMAL.
15 B
PIC S9(5)V9(4) PACKED-DECIMAL.
15 C
PIC S9(5)V9(4) PACKED-DECIMAL.
15 D
PIC S9(5)V9(4) PACKED-DECIMAL.
15 ANS
PIC S9(5)V9(4) PACKED-DECIMAL.
Show how to compute –b + √(b2 – 4ac)
2a
Store the answer in ANS.
COMPUTE ANS = (- b + FUNCTION SQRT ((b * b) – (4 * A *
C))) / ( 2 * A)
25. Consider the following fields:
15 A
PIC S9(5) PACKED-DECIMAL.
15 B
PIC S9(5) PACKED-DECIMAL.
15 REM
PIC S9(5) PACKED-DECIMAL.
15 X
PIC S9(5) PACKED-DECIMAL.
Show how to compute the remainder of A/B.
in REM.
DIVIDE A BY B GIVING X REMAINDER REM
Put the answer
26. Write the code that would display the smallest of
three integer fields X,Y, and Z.
MOVE X TO SMALLEST
IF (Y < SMALLEST) MOVE Y TO SMALLEST END-IF
IF (Z < SMALLEST) MOVE Z TO SMALLEST END-IF
DISPLAY SMALLEST
27. Write an EVALUATE that would
AGE and display “Baby” if AGE <=
AGE <= 17, and “Adult” if AGE >=
EVALUATE TRUE
WHEN AGE < 3 DISPLAY “BABY”
WHEN AGE < 17 DISPLAY “CHILD”
WHEN AGE IS POSITIVE DISPLAY
END-EVALUATE
examine integer field
3, “Child” if the 4 <=
18.
“ADULT”
28. Write the code that would execute paragraph 100-PARA
10 times.
PERFORM 100-PAR 10 TIMES
29. Write the code that would repeatedly execute
paragraph 100-PARA until integer field X > 100.
PERFORM 100-PARA UNTIL X > 100
30. Use a loop control variable I to execute paragraph
100-PARA 100 times.
PERFORM 100-PARA VARYING I FROM 1 BY 1 UNTIL I > 100
31. Write the code that would call program SUBPROGA.
MOVE “SUBPROGA” TO PROGNAME
CALL PROGNAME
or
CALL “SUBPROGA”
32. Assume you have defined variables X, Y, and Z with
PIC S9(5). Show the relevant code needed to call program
SUBPROGA passing X,Y and Z.
CALL “SUBPROGA” USING BY CONTENT X Y Z
OR
CALL “SUBPROGA” USING X Y Z
33. Show the relevant code in SUBPROGA needed to accept
the variables passed in #32.
LINKAGE SECTION.
01 A PIC S9(5).
01 B PIC S9(5).
01 C PIC S9(5).
PROCEDURE DIVISION USING A B C.
34. What is the default parameter passing method in
Cobol?
BY REFERENCE
35. What is the effect of passing a parameter BY CONTENT?
A COPY OF THE PARAMETER IS MADE AND THE COPY IS PASSED
BY REFERENCE
36. Write an in-line PERFORM that displays 1,2,3,…10 on
separate lines.
PERFORM VARYING I FROM 1 BY 1 UNTIL I > 10
DISPLAY I
END-PERFORM
37. Describe how to search a table sequentially.
Use a Search command. Set the index to an initial
value. Issue the search on the field that occurs.
38. Describe how to search a table with a binary search.
The data has to be sorted. Issue a Search All.
39. Assume the following fields:
15 X
PIC X(10) VALUE “ABC”.
15 Y
PIC X(10) VALUE “CDE”.
15 Z
PIC X(10) VALUE “FGH”.
15 ANS
PIC X(30).
Show how to concatenate fields X, Y, and Z into ANS.
STRING X DELIMITED BY SIZE
Y DELIMITED BY SIZE
Z DELIMITED BY SIZE INTO ANS
Show how to concatenate fields X, Y, and Z into ANS
removing the spaces inside each field.
STRING X DELIMITED BY “ “
Y DELIMITED BY “ “
Z DELIMITED BY “ “ INTO ANS
40. Write the code that will display field X if it
contains numeric data.
IF X IS NUMERIC
DISPLAY X
END-IF
41. Consider the field below:
15 X
PIC X(10) VALUE ‘ABCDEFGHIJ’.
Show how to use reference modification to print the
following:
AB
BC
CD
…
IJ
PEFORM VARYING I FROM 1 BY 1 UNTIL I > 9
DISPLAY X(I : 2)
END-IF
42. Show how to define a variable length table. How much
space is allocated to your table? When should you use a
variable length table?
01 MY-TABLE.
10 X PIC X(3) OCCURS 1 TO 100 TIMES DEPENDING ON J.
Download