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

平成19年 春期 基本情報技術者 午後 問05
問05   更新プログラムの作成

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

ある会員情報が入ったマスタファイルの内容を,毎月末にトランザクションファイルの内容によって更新し, 新マスタファイルに出力する更新プログラムを作成する。

〔ファイルの説明〕

(1) マスタファイル及びトランザクションファイルのレコード様式は同じで,次の項目からなる。

会員番号  名前  電子メールアドレス サービス等級

(2) 会員番号は,5けたの数字であり,必須の項目である。 最大値 99999 の会員番号をもつ会員は存在しない。

(3) マスタファイル及びトランザクションファイルは,会員番号をキーとして,昇順に整列されている。

(4) マスタファイルには,同一の会員番号をもつレコードが複数存在することはない。 トランザクションファイルにも,同一の会員番号をもつレコードが複数存在することはない。

(5) トランザクションファイルは,新規会員追加に用いるレコード及び既に登録されている会員の 会員情報変更に用いるレコードからなる。

(6) 会員情報変更に用いるレコードは,変更する項目に空白以外のデータが格納され, 変更しない項目には,空白が格納されている。

〔処理の説明〕

マスタファイルのレコードを M,トランザクションファイルのレコードを T として,次のキー突合せ処理を行う。

(1) M と同一の会員番号をもつ T があるとき,T の空白以外の項目で M の対応する項目を更新し, T の空白の項目に対応したMの項目は更新せずに新マスタファイルに出力する。

(2) M と同一の会員番号をもつ T がないとき,M をそのまま新マスタファイルに出力する。

(3) T と同一の会員番号をもつ M がないとき,T を新マスタファイルに出力する。 更新プログラムの流れを図1に示す。

突合せキー KM 及び KT には,それぞれ, M の会員番号の値及び T の会員番号の値,又はそれぞれのファイルを読み終わったことを 表す最大値 99999 を格納する。


   図1 更新プログラムの流れ

設問1 図1において,キー突合せによるマスタファイルの更新処理は, 破線で囲んだ部分で実現している。

図1中の に入れる正しい答えを,解答群の中から選べ。

解答群

ア M’入力処理        イ M 入力処理        ウ T 入力処理

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

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

基本情報技術者試験


設問2 次の記述中の に入れる正しい答えを, 解答群の中から選べ。

この更新プログラムに会員情報の削除処理を追加するため,次の (1) 〜 (5) を行う。

(1) トランザクションファイルのレコード様式に,更新区分という項目を追加する。

(2) 更新区分が“U”の場合を新規登録及び変更とし,“D”の場合を削除とする。

(3) 図1のαβの処理を,(1) のレコード様式の変更に対応するように変更する。

(4) 主処理を図2のとおりに変更する。

(5) T 入力処理については,ファイルを読み終わったとき,更新区分に“U”を代入する処理を追加する。

ここで,図2のエラー処理1及び2は,エラーとなったレコードに関する情報を表示する。 条件 X2 は, である。 エラー処理2は, 場合に実行される。

c に関する解答群

ア 更新区分=“D”

イ 更新区分=“U”

ウ 更新区分≠“D”

エ 更新区分≠“U”

オ (更新区分≠“D”)AND(更新区分≠“U”)

カ (更新区分≠“D”)OR(更新区分≠“U”)

d に関する解答群

ア 更新区分に誤りがある

イ 削除しようとする会員番号をもつレコードがマスタファイルに存在しない

ウ 新規登録しようとする会員番号をもつレコードがマスタファイルに存在する

エ 変更しようとする会員番号をもつレコードがマスタファイルに存在しない


    図2 変更後の更新プログラムの流れ

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

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

基本情報技術者試験


設問3 次の記述中の に入れる正しい答えを,解答群の中から選べ。

トランザクションファイル中に同一の会員番号をもつレコードが複数あってもよいようにする。 複数ある場合,レコードの発生順に処理する。 そのために,次の (1),(2) の変更を行うことにした。

(1) トランザクションファイルのレコード様式に発生日時という項目を追加する。

(2) 図2の更新プログラムとは別にトランザクションファイルの処理に, 整列プログラムとレコード集約プログラムを追加して,新たにトランザクションファイルを生成する。

整列プログラムは,レコードを整列キーの昇順に並べ替える。 ここで,第1整列キーは , 第2整列キーは である。 レコード集約プログラムの主な機能は,次の二つである。

@ 会員番号が同じ入力レコードで,更新区分がすべて“U”のときには, 空白以外の変更項目の内容を作業領域に上書きし,最後の状態を出力する。

A 更新区分が“D”のレコードが見つかったときには,そのレコードを出力する。 それ以降にも同一の会員番号のレコードが存在したときには,それらは処理せずエラーとする。

これらのプログラムの実行順序は,次のとおりである。

 実行順序:

e,f に関する解答群

ア 会員番号        イ 更新区分        ウ サービス等級         エ 発生日時

g に関する解答群

ア 更新プログラム → 整列プログラム → レコード集約プログラム

イ 更新プログラム → レコード集約プログラム → 整列プログラム

ウ 整列プログラム → 更新プログラム → レコード集約プログラム

エ 整列プログラム → レコード集約プログラム → 更新プログラム

オ レコード集約プログラム → 更新プログラム → 整列プログラム

カ レコード集約プログラム → 整列プログラム → 更新プログラム

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

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

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


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