【COBOL言語】基本情報技術者試験と過去問題-平成29年度春期-|合格対策
COBOL(コボル)言語の平成29年度春期問題の解き方とは
※情報処理推進機構(IPA)は、午後の試験で選択できるプログラミング言語のうち、「COBOL」の出題を令和元年秋期試験で廃止しました。
COBOL(コボル)言語の平成29年度春期の出題内容
基本情報技術者試験のCOBOLの問題はプログラムの説明とプログラムを読んで、設問1、2の内容に答えていく形となります。
平成29年度春期で出題されたプログラムは、順ファイルで記録されている売上データを集計して、別のマスタファイルに出力していく処理となります。
プログラムでは整列(ソート)を用いた集計処理やCOBOLの基本となるコントロールブレイクの処理の内容を問うことで、COBOLプログラムを作成するための能力が評価されます。
ここで出題される順ファイルで記憶されたデータを、整列処理を用いて集計し、別のマスタファイルに出力する処理は実際の業務プログラムでもよく使用されます。
プログラムの説明をよく理解して、売上データを処理する流れを把握していれば問題を解くのはそう難しくありません。
COBOL(コボル)言語の平成29年度春期問題
ここでは平成29年度春期の午後に出題された、プログラムに必要な内容を穴埋めしていく問題をみてみましょう。回答の解説から問題の理解を深めましょう。
■プログラムの説明
八つの支店をもつZ社は4月~翌年3月を事業年度としており, 毎年4月に前年度の売上データを集計して売上マスタファイルに格納する。 このプログラムは,売上伝票ファイルに格納された前年度の売上データを集計して, 売上マスタファイルに格納する。
1) 売上伝票ファイルは、図1に示すレコード様式の順ファイルである。
① 売上伝票ファイルには,前年度の全支店の売上データが,順不同で格納されている。
② 支店番号には,各支店に対応する 01 ~ 08 の番号が格納されている。
支店1は 01,支店2は 02,…,支店8は 08 である。
③ 伝票番号には,各支店で一意となる6桁の数字が格納されている。
④ 売上日には,西暦の年,月,日が,それぞれ4桁,2桁,2桁で格納されている。
2) 売上マスタファイルは、図2に示すレコード様式の牽引ファイルである。主キーは売上年月である。
① 売上年月には,西暦の年,月が,それぞれ4桁,2桁で格納される。
② 支店別売上金額には,当該年月における各支店の売上金額が格納される。
各支店の月間の売上金額が9桁を超えることはない。
③ 売上金額合計には,当該年月における全支店の売上金額の合計が格納される。
④ 売上マスタファイルには,このプログラムを実行する時点で,2000年度から前々年度までのデータが格納されている。
■プログラム(1 / 2)
■プログラム(2 / 2)
出典:平成29年度春期 COBOL試験区分 午後 問10 設問1
■設問1 プログラムの中の[ ]に入れる正しい答えを、回答群の中から選べ。
aに関する解答群
ア SRT-AMOUNT イ SRT-BRANCH
ウ SRT-DATE エ SRT-NO
bに関する解答群
ア MST-YYYYMM = SRT-YYYYMM
イ MST-YYYYMM NOT = SRT-YYYYMM
ウ MST-YYYYMM = ZERO
エ SRT-YYYYMM = ZERO
c, dに関する解答群
ア ADD MST-BRANCH(CNT) TO MST-AMOUNT
イ ADD MST-BRANCH(SRT-BRANCH) TO MST-AMOUNT
ウ ADD SRT-AMOUNT TO MST-BRANCH(CNT)
エ ADD SRT-AMOUNT TO MST-BRANCH(SRT-BRANCH)
オ MOVE SRT-AMOUNT TO MST-BRANCH(SRT-BRANCH)
■解答
設問1(a) :ウ
設問1(b) :イ
設問1(c) :エ
設問1(d) :ア
【aの解説】
打上伝票ファイルのレコードを取得し、レコードが順不同で格納されているため、整列ファイルを使用してレコードの並び替えを実行しています。マスタファイルの主キーは売上年月であるため、基本項目に売上年月が定義された集団項目SRT-DATEを使用してソートを行います。
【bの解説】
整列されたデータ順にマスタファイルに出力を行う前段階で、整列ファイルをレコードごとに読み込み、ファイル終端でない限りADD-PROCの処理が実行されます。ADD-PROCでは整列されたデータをマスタファイルに書き込むための条件として、マスタファイルの売上年月と整列ファイルの売上年月比較し、一致しなかったら出力を行います。そのため、条件式は「MST-YYYYMM NOT = SRT-YYYYMM」となります。
【cの解説】
cの処理では支店別売上金額を取得するために、売上伝票ファイルから取得した各支店の売上金額をレコードごとに「ADD SRT-AMOUNT TO MST-BRANCH(SRT-BRANCH)」の処理で取得しています。
支店別の売上金額は配列MST-BRANCHに、支店番号SRT-BRANCHを指定して格納しています。
【dの解説】
dの処理ではPERFORM文による繰り返し処理を8回繰り返し、取得した各支店の売上金額を売上金額の合計を集計するデータ項目MST-AMOUNTに1レコードずつ集計しています。
練習問題
ここでは練習問題にチャレンジしてみましょう。
問)
平成29年度春期COBOLのプログラムにおいて、手続き部(PROCEDURE DIVISION)から始まる処理内容について簡単に説明してください。
答え)
マスタファイルをオープンし、整列処理を行うための主キーである売上年月を指定して売上伝票ファイルからレコードを取得する。
RET-PROCの処理では整列用ファイルの終端に達するまでADD-PROCの処理を繰り返し行い、マスタファイルと整列ファイルの売上年月と比較し、一致しなかったらWRI-PROCの処理にて各支店ごとの売上金額の合計金額の取得とマスタファイルへのレコードの書き込みを行う。
ここでは、平成29年度春期のCOBOLの出題内容について解説しました。
プログラムの内容からも分かるように、出題される内容はファイルの読込みや書き込み、並列処理など最も基本的な内容が出題されています。
そのためファイル操作や並列処理の基礎を理解し、落ち着いてプログラムの内容を読み解いていけば、答えを導き出すことは十分に可能です。
この記事を読んだ人は、こちらの記事も読んでいます
あなたのCOBOL技術を活かしませんか?
COBOL入門のカテゴリー
1. 優良社員が多数在籍しています
2. 即日派遣、又は請負います
3. 安心価格で請負います
4. 同時、協力会社募集中です
1. 正社員
2. 契約社員
3. 個人事業主
などの
求人情報
が閲覧できます。
目指せ!COBOLダントツ一番企業。
創業当初の話や理念が閲覧できます。
応募条件
※2020年5月31日を以って、締切りました。
18歳~28歳の方。
正社員採用において、北川社長の著書『祈り方が9割』を読んで感想文を事前に提出すると、無条件で最終面接まで進むことができます。
COBOLとは、どのようなプログラミング言語なのか、初心者にもわかりやすく、文法の例をあげて解説してます。
COBOL入門の人気記事
- COBOL言語とは?プログラムの書き方やルールを解説!|基礎ガイド
- 【COBOL言語】条件分岐処理の代名詞「IF文」について知ろう|用語辞典
- COBOL言語の「MOVE文」とは?転記のルールをご紹介します|用語辞典
- COBOL言語の「STRING文」とは?文字連結の基礎知識と注意点|用語辞典
- 多枝分岐ってなに?COBOL言語の「EVALUATE文」を知ろう!|用語辞典
- COBOL言語の「PICTURE句」とは?基本事項を解説します!|用語辞典
- COBOL言語で計算処理をするなら「COMPUTE文」|用語辞典
- COBOL言語の「REDEFINES句」とは?使い方を確認しよう!|用語辞典
- 覚えておけば楽ができる?COBOL言語の「COPY文」の使い方|用語辞典
- COBOL言語の文字列操作のパターンを理解しよう!|基礎ガイド
- COBOL言語の初期化処理に重宝する「INITIALIZE文」とは?|用語辞典
- COBOL言語の「LOW-VALUE」の使い方について理解しよう!|基礎ガイド
- COBOL言語の「OCCURS句」について知ろう!学ぶべき基本とは|用語辞典
- COBOL言語初心者も安心! 難解「CALL文」をスッキリ解決|用語辞典
- COBOL言語の「PERFORM文」とは。実行制御について解説!|用語辞典
- COBOL言語の繰り返し処理のパターンを理解しよう!|基礎ガイド
- COBOL言語の「定数」の種類と使い方について理解しよう!|用語辞典
- COBOLのDBアクセスパターンを学ぼう!「FETCH」|応用ガイド
- COBOL言語の「DISPLAY文」は、ディスプレイ出力の為にある|用語辞典
- COBOL言語の「VARYING句」は便利?使用方法を学びましょう|用語辞典