【COBOL言語】基本情報技術者試験と過去問題-傾向まとめ-|合格対策

COBOL(コボル)言語の過去問題の出題傾向とは

※情報処理推進機構(IPA)は、午後の試験で選択できるプログラミング言語のうち、「COBOL」の出題を令和元年秋期試験で廃止しました。

試験-傾向まとめ-イメージ

COBOL(コボル)言語の基本情報技術者試験問題とは

COBOL(コボル)の基本情報技術者試験で出題される問題は設問1~2からなります。

設問1ではプログラムの説明とプログラムの内容を読み解き、プログラムの問題を多岐選択方式で穴埋めしていく内容が出題されます。

設問2では出題されたプログラムを変更・追加する場合の正しいコードを多岐選択方式で回答していく問題が出題されます。

出題される問題はCOBOLの基礎を習得していないとハードルが高く、プログラムの説明を理解し、プログラムの内容を読み解くことができないと、問題を解くのは難しいと言えるでしょう。

COBOL(コボル)言語における過去問題の傾向

ここではCOBOLの過去問題から出題される問題の傾向について解説していきます。

出題形式としてはプログラムの概要から始まり、出題されるプログラムの詳細な情報と実際のプログラムが提示されます。問題の内容を理解するためには説明内容をよく読んでおかなければ、提示されたプログラムを理解するのは難しいと言えます。そのため、プログラムの仕様や人が書いたプログラムの内容を理解する能力が問われます。

平成26年から29年のCOBOLの過去問題で出題されるプログラムの傾向として、レコード様式の順ファイルの内容を読み込み、精査・整列処理や集計を行いマスタファイルに出力する構成の問題が多く出題されています。

いずれも標準的な内容で、実際の業務でもよく使われるプログラムの処理内容が出題されています。また設問1の問題は比較的解きやすく、設問2は提示されたプログラムを変更・追加する問題が多く、応用的な知識が必要となります。

一例として、出題されるプログラムで使用する順ファイルは、以下のような構成となります。

図)順ファイルの構成

試験-傾向まとめ-順ファイルの構成

順ファイルのレコードを項目ごとに取得していき、日付を降順で並び替えたり、支店毎の売上金の合計金額を取得してマスタファイルに格納していくなどのプログラムが出題される傾向が多いと言えます。

そのため、COBOLの基礎はもちろんファイルの読込み・書込みなどのファイル操作全般、整列処理などの理解は必須となります。

また、問題を解くためには出題されるプログラムの説明をよく読んで仕様を把握し、プログラムの内容を読み解いて正しい回答を導き出す必要があります。

慣れないうちは内容を理解するのも難しく感じるかもしれませんが、過去問の出題内容を参考にプログラムを実際に作成し、動作を1つずつ確認する方法で学習するとプログラムの理解も深まります。

練習問題

ここでは実際に練習問題にチャレンジしてみましょう。

問)

支店ごとの売上金が記載された順ファイルの売上伝票ファイルを読み込み、日付をキーに昇順でレコードを整列してマスタファイルに格納するプログラムを作成します。

レコードをマスタファイルに格納した後は、マスタファイルを読み込んで内容を1レコードずつコンソールに出力し、正しくレコードがソートされていることを確認してください。

図)売上伝票ファイル

試験-傾向まとめ-売上伝票ファイル

売上伝票ファイル:uriage.txt

20170815031070000

20170831020980000

20170715041310000

20170730051020000

答え)

  1. IDENTIFICATION DIVISION.
  2. PROGRAM-ID. SAMPLE01.
  3. ENVIRONMENT DIVISION.
  4. INPUT-OUTPUT SECTION.
  5. FILE-CONTROL.
  6. SELECT URIAGE-FILE ASSIGN TO 'uriage.txt'
  7. ORGANIZATION IS LINE SEQUENTIAL
  8. STATUS IS URIAGE-FIlE-STATUS.
  9. SELECT MASTER-FILE ASSIGN TO 'master.txt'
  10. ORGANIZATION IS LINE SEQUENTIAL
  11. STATUS IS MASTER-FILE-STATUS.
  12. SELECT SRT-FILE ASSIGN TO 'sort.wak'.
  13. DATA DIVISION.
  14. FILE SECTION.
  15. FD URIAGE-FILE.
  16. 01 URIAGE-RECORD.
  17. 05 URIAGE-YYYYMMDD PIC 9(8).
  18. 05 SHITEN-CODE PIC 9(2).
  19. 05 URIAGE-KINGAKU PIC X(7).
  20. FD MASTER-FILE.
  21. 01 MASTER-RECORD PIC X(17).
  22. SD SRT-FILE.
  23. 01 SRT-RECORD.
  24. 05 SORT-KEY PIC 9(8).
  25. 05 SORT-DATA PIC X(9).
  26. WORKING-STORAGE SECTION.
  27. 01 URIAGE-FILE-STATUS PIC XX.
  28. 01 MASTER-FILE-STATUS PIC XX.
  29. PROCEDURE DIVISION.
  30. OPEN INPUT URIAGE-FILE.
  31.  
  32. IF URIAGE-FILE-STATUS = "00"
  33. THEN
  34. CONTINUE
  35. ELSE
  36. STOP RUN
  37. END-IF.
  38.  
  39. SORT SRT-FILE
  40. ASCENDING KEY SORT-KEY
  41. USING URIAGE-FILE
  42. GIVING MASTER-FILE.
  43. CLOSE URIAGE-FILE.
  44.  
  45. OPEN INPUT MASTER-FILE.
  46. DISPLAY "READ:MASTER?FILE"
  47. PERFORM UNTIL MASTER-FILE-STATUS NOT = "00"
  48. READ MASTER-FILE
  49. AT END
  50. CONTINUE
  51. NOT AT END
  52. DISPLAY MASTER-RECORD
  53. END-READ
  54. END-PERFORM.
  55. CLOSE MASTER-FILE.

実行結果:

試験-傾向まとめ-実行結果

練習問題で紹介したプログラムは、売上伝票ファイルから日付をソートしてマスタファイルに格納するのみの簡単なプログラムですが、実際のCOBOLの基本情報技術者試験でも、このような形式のプログラムがよく出題されます。そのため、プログラムの処理フローや基本処理については実際にプログラムを作成して処理内容をしっかりと理解しておきましょう。

この記事を読んだ人は、こちらの記事も読んでいます

【未経験者歓迎】COBOLプログラマー・システムエンジニアの募集

株式会社COBOLの求人・転職・募集情報を見る

COBOL入門のカテゴリー

取引企業様 募集中
COBOL技術者 募集
COBOL魂
読者採用
COBOL入門