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

平成18年 春期 基本情報技術者 午後 問05
問05   プログラム設計

プログラム設計に関する次の記述を読んで,設問1〜3に答えよ。

ある通信販売会社では,期間限定のキャンペーンを実施する。 このキャンペーンに応募し,期間中の 1 回の購入金額が 3,000 円以上であった顧客に, 購入回数に関係なく賞品抽選券を 1 枚だけ郵送することにした。 このために,既存のファイルから対象となる顧客を選び,当該顧客のレコードを あて先ファイルに出力するプログラムを設計する。

〔ファイルの説明〕

(1) 売上伝票ファイルのレコードは,1 回の購入ごとに 1 件作成されている。

(2) 売上伝票ファイルは,購入日付をキーとして,昇順に整列されている。

(3) 顧客番号は,6 けたの数字で構成されている。

(4) キャンペーンに応募した顧客の顧客番号は,応募者ファイルに登録されている。 応募者ファイルには,同じ顧客番号のレコードが複数存在することはない。

(5) 応募者ファイルは,顧客番号をキーとして,昇順に整列されている。

(6) 顧客情報は,顧客マスタファイルに登録されている。

(7) 売上伝票ファイル,応募者ファイル,顧客マスタファイル及びあて先ファイルの様式を図1に示す。

図1 各ファイルの様式

入力ファイルと出力ファイルの様式を検討した結果,図2に示すように, 売上伝票ファイルに対する前処理プログラムとあて先ファイル作成プログラムの二つに分割する設計とした。

このうち,あて先ファイル作成プログラムは,中間ファイルと応募者ファイルから レコードを順番に読み,突合せ処理によって,両方のファイルに存在する顧客番号について, 顧客情報を顧客マスタファイルから得て,あて先ファイルを作成する。

図2 分割した処理と入出力ファイル

設問1 前処理プログラムが行う処理のうち,購入金額が 3,000 円以上であるレコードの 抽出以外の処理として,正しい答えを,解答群の中から二つ選べ。

なお,前処理プログラムの出力である中間ファイルの様式は,売上伝票ファイルと同じとする。

解答群

ア 応募者のレコードの抽出

イ キャンペーン対象期間のレコードの抽出

ウ 購入金額をキーとする整列

エ 購入数量が正数であるレコードの抽出

オ 購入日付をキーとする整列

カ 顧客番号をキーとする整列

キ 商品コードをキーとする整列

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

基本情報技術者試験


設問2 あて先ファイル作成プログラムのモジュール構造を図3のとおりにし, モジュールの実行条件と処理を表に示すように設計した。 表中の に入れる正しい答えを,解答群の中から選べ。

   図3 モジュール構造図

    表 モジュールの実行条件と処理

モジュール名 実行条件 処理
初期処理 必要な初期値設定を行う。 中間ファイル及び応募者ファイルから最初の 1 レコードを読む。
主処理 又は
まで
条件 1 〜 3 によって,処理 A,あて先処理,処理 B のどれかを実行する。
処理 A 条件 1 中間ファイルを読む。
あて先処理 条件 2 あて先編集,処理 C,処理 D を実行する。
処理 B 条件 3 応募者ファイルを読む。
あて先編集 顧客マスタファイルを読む。
あて先ファイルのレコードを編集する。
あて先ファイルを出力する。
処理 C 中間ファイルを読む。
処理 D 応募者ファイルを読む。
終了処理 ファイルを閉じるなどして,処理を終える。

 条件 1 〜 3 は,どれか一つだけが成立する。

解答群

ア あて先ファイルが終わる        イ 応募者ファイルが終わる

ウ 購入日付が変わる           エ 購入日付が対象外となる

オ 顧客住所が変わる           カ 顧客番号が変わる

キ 顧客マスタファイルが終わる      ク 商品コードが変わる

ケ 中間ファイルが終わる

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

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

基本情報技術者試験


設問3 次のテストデータは,設問2 の表中の条件 1 〜 3 による分岐において, 処理 A,あて先処理,処理 B のすべてが実行されることを確かめるものである。 このデータ中の に入れる正しい答えを,解答群の中から選べ。

注 購入日付の値は,どちらもキャンペーン対象期間内とする。

解答群

ア 400101      イ 400102      ウ 400103      エ 400104

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

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


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