基本情報技術者試験の過去問と解説
[TOP] [午前分野別] [午後分野別] [キーワード索引] [令和元年秋午前] [令和元年秋午後]

平成18年 春期 基本情報技術者 午後 問07
問07   COBOL

次の COBOL プログラムの説明及びプログラムを読んで,設問に答えよ。

〔プログラムの説明〕

駐輪場の使用状況を調べ,空き区画の番号を表示するプログラムである。 駐輪場の各区画には自転車を 1 台駐輪することができ,それぞれの区画には区画番号が付けられている。 区画は 200 台分あり,区画番号は 1 〜 200 の連番となっている。

(1) 使用状況ファイルのレコード様式は,次のとおりである。

区画番号
3 けた
その他の情報
100 けた

@ 区画番号の昇順に記録されている。

A 使用状況ファイルには,現在使用されている区画のレコードだけが記録されていて, 同じ区画のレコードが重複して記録されることはない。

(2) 空き区画の情報を次のように表示する。

AKI KUKAKU
ZZZ
ZZZ - ZZZ
ZZZ - ZZZ
ZZZ
   …

@ 空き区画が連続していないときは,空き区画番号を表示する。

A 空き区画が連続する場合は,次の形式で表示する。

    連続の始めの区画番号 - 連続の終わりの区画番号

B 見出しは常に表示する。

C 空き区画が一つもない場合は,次のメッセージを表示する。
     AKI : 0

〔プログラム〕
DATA DIVISION.
FILE SECTION.
FD  SHIYO-F.
01  SHIYO-R.
    03  BANGO     PIC 9(3).
    03            PIC X(100).
WORKING-STORAGE SECTION.
01  END-SW        PIC X(3).
01  DISPLAY-SW    PIC X(2).
01  MIDASHI       PIC X(10) VALUE  "AKI KUKAKU".
01  MEISAI.
    03  M-HAJIME  PIC ZZZ.
    03  M-HYPHEN  PIC X(3).
    03  M-OWARI   PIC ZZZ.
01  W-SA          PIC 9(3).
01  W-BANGO       PIC 9(3).
PROCEDURE DIVISION.
SHORI.
    OPEN INPUT SHIYO-F.
    INITIALIZE W-BANGO END-SW DISPLAY-SW.
    DISPLAY MIDASHI.
    PERFORM UNTIL END-SW = "END"
       READ SHIYO-F AT END MOVE "END" TO END-SW
       NOT AT END
          COMPUTE W-SA = BANGO - W-BANGO
          IF W-SA >  THEN
             MOVE SPACE TO MEISAI
             
             IF W-SA >  THEN
                MOVE " - " TO M-HYPHEN
                
             END-IF
             DISPLAY MEISAI
             
          END-IF
          MOVE BANGO TO W-BANGO
       END-READ
    END-PERFORM.
    IF W-BANGO NOT = 200 THEN 
       MOVE SPACE TO MEISAI
       
       IF W-BANGO < 199 THEN
          MOVE " - " TO M-HYPHEN
          MOVE 200 TO M-OWARI
       END-IF
       DISPLAY MEISAI
    ELSE IF DISPLAY-SW = SPACE THEN
       DISPLAY "AKI : 0"
    END-IF. 
    CL OS E SHIYO-F.
    STOP RUN.

設問 プログラム中の に入れる正しい答えを, 解答群の中から選べ。

a,c に関する解答群

ア 0      イ 1      ウ 2

b,d,e に関する解答群

ア COMPUTE M-HAJIME = BANGO - 1

イ COMPUTE M-HAJIME = W-BANGO + 1

ウ COMPUTE M-OWARI = BANGO - 1

エ COMPUTE M-OWARI = W-BANGO + 1

オ MOVE SPACE TO DISPLAY-SW

カ MOVE SPACE TO MEISAI

キ MOVE W-BANGO TO M-HAJIME

ク MOVE W-BANGO TO M-OWARI

ケ MOVE "ON" TO DISPLAY-SW

解答 a ←クリックすると正解が表示されます

解答 b ←クリックすると正解が表示されます

解答 c ←クリックすると正解が表示されます

解答 d ←クリックすると正解が表示されます

解答 e ←クリックすると正解が表示されます


[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]