基本情報技術者過去問平成17年 午後 問7最終更新日 2005/12/11
|
Tomのネットワーク勉強ノート |
![]() |
![]() |
![]() |
問7 次のCOBOLプログラムの説明及びプログラムを読んで,設問1,2に答えよ。
〔プログラムの説明〕
1学年における全生徒のテスト結果が格納されている入カファイルを読み込み,5
科目の合計点を求めるプログラムである。このプログラムは,学年内の総合順位が分
かるよう, 合計点の降順に整列して,出カファイルに格納する。
(1)入カファイルIN―FILEは,次のレコード様式の順ファイルであり,1学年分の
各生徒の得点が格納されている。ここで,各科目は100点を満点とする。
_ |
|
(2)出カファイルOUT―FILEは,次のレコード様式の順ファイルであり,5科目の
合計点の降順に格納する。
_ |
|
〔プログラム〕
(行番号)
1 DATA DIVISION.
2 FILE SECTION.
3 FD IN-FILE.
4 01 IN-REC PIC X(39).
5 FD OUT-FILE.
6 01 OUT-REC PIC X(27).
7 SD SORT-FILE.
8 01 SORT― REC.
9 02 CLASS-NO PIC 9(2).
10 02 STUDENT-NO PIC 9(2).
11 02 STUDENT-NAME PIC X(20).
12 02 TOTAL PIC 9(3).
13 WORKINC-STORAGE SECTI0N.
14 01 W-IN-REC.
15 02 STUDENT-ID.
16 03 CLASS-NO PIC 9(2).
17 03 STUDENT-NO PIC 9(2).
18 03 STUDENT-NAME PIC X(20).
19 02 SCORE PIC 9(3) OCCURS 5.
20 01 READ-STATUS PIC X(1)VALUE SPACE.
21 88 AT-END VALUE ”E”.
22 01 K PIC 9(1).
23 PROCEDURE DIVISION.
24 SORT- PROCEDURE.
25 SORT SORT-FILE DESCENDING KEY TOTAL
26 INPUT PROCEDURE IS READ-DATA
27 GIVING OUT-FILE.
28 STOP RUN.
29 READ-DATA.
30 OPEN INPUT IN-FILE.
31 PERFORM UNTIL AT-END
32 READ IN-FILE AT END
33 【 a 】
34 NOT AT END
35 MOVE IN-REC TO W-IN-REC
36 PERFORM RELEASE-DATA
37 END-READ
38 END-PERFORM.
39 CLOSE IN-FILE.
40 RELEASE― DATA.
41 【 b 】
42 MOVE ZERO TO TOTAL.
43 PERFORM VARYING K FROM 1 BY 1 UNTIL K > 5
44 COMPUTE TOTAL = TOTAL + SCORE(K)
45 END-PERFORM.
46 RELEASE SORT-REC.
設問1 プログラム中の【 】に入れる正しい答えを,解答群の中から選べ。
解答群
ア INITIALIZE SORT-REC
イ MOVE SPACE TO READ-STATUS
ウ MOVE SPACE TO SORT-REC
エ MOVE STUDENT-ID TO SORT-REC
オ PERFORM RELEASE-DATA
カ SET AT-END TO TRUE
設問2 プログラムの最後で生徒数及び各科目の学年平均点を表示するようにプログラ
ムを変更する。変更内容を示す次の表中の【 】に入れる正しい答えを,
解容群の中から選べ。
なお,生徒の人数は1〜 9,999とし,平均点は小数第2位以下を切り捨てる。
_ |
|
解答群
ア COMPUTE STUDENT-TOTAL = STUDENT-TOTAL + 1
イ COMPUTE STUDENT-TOTAL = STUDENT-TOTAL + K
ウ COMPUTE SUB-TOTAL(K) = SUB-TOTAL(K) + SCORE(K)
エ MOVE K TO STUDENT-TOTAL
オ MOVE SCORE(K) TO SUB-TOTAL(K)
カ MOVE TOTAL TO SUB-TOTAL(K)
Tomのネットワーク勉強ノート |
![]() |
![]() |
![]() |