プログラム設計(ソフトウェア設計)
平成18年春期 問5 問題確認
解説 |
突合せ処理についての知識と、プログラム設計の基本的な問題である。 突合せ処理の制約として、突合わせるファイルは、必ず整列していなければならないとい基礎知識は抑えておこう。 設問1、2は文章を注意深く読めばそこまで苦労せず答えは出せるだろう。 どちらかというとサービス問題に近い。 設問3は少々てこずるかもしれないが、処理内容を理解できていれば解ける範囲であり十分満点を狙える問題である。 設問1 前処理プログラムが行う処理を、レコード抽出以外で2つ答える内容である。 1つは簡単にわかるのだが、もう片方が若干ひっかけとなっているので注意が必要である。 ヒントとなる説明文は ①期間限定のキャンペーンを実施する より、「イ キャンペーン対象期間のレコードの抽出」 であることがわかる もう一つだが、問題文に 「なお,前処理プログラムの出力である中間ファイルの様式は,売上伝票ファイルと 同じとする。」 とある。それだけを見て、[ファイル説明]の(2) 売上伝票ファイルは,購入日付を キーとして,昇順に整列されている。 から「オ 購入日付をキーとする整列 」を選んでしまうかもしれないが、それは ひっかけである もう一度説明文を注意深くみて欲しい。 「中間ファイルと応募者ファイルからレコードを順番に読み,突合せ処理によって」 という記述がある。 突合せを行うファイルは「応募者ファイル」であり、このレコードは顧客番号しか 持っていないのだ。 そのため、突合せ処理とは整列していなければならない。という条件を知っていれば キーである顧客番号を整列させなければいけないことがわかる よって答えは「カ 顧客番号をキーとする整列 」となる。 設問2 表中のカッコの中に入れる正しい答えを探す問題である。 主処理の実行条件で「[a]又は[b]まで」とある ここで思い出して欲しいのは突合せ処理はどちらかのファイルが終われば、処理が終 了する。ということである つまり、説明文にもあったように 「 ~ 中間ファイルと応募者ファイルからレコードを順番に読み,突合せ処理に よって ~」 とあるので、答えは、この2つのファイルであることがすぐわかるだろう。 「イ 応募者ファイルが終わる 」と「ケ 中間ファイルが終わる 」である」(順不動) 設問3 全ての条件を通るテストデータの問題である。 重要なのは表中の主処理の条件が理解できるかどうかである。 この条件によって、1~3の3パターンに振り分けられる。ということから「> = <」の場合であることがわかる 処理内容に沿って記述すると A:中間ファイル > 応募者ファイル B:中間ファイル = 応募者ファイル C:中間ファイル < 応募者ファイル である。比較対象は顧客番号である。 これがわかればあとは問題と照らし合わせて行く。 応募者ファイルにはすでに顧客番号の「400101」と「400103」がある。 これより中間ファイルの顧客番号の組み合わせが以下の通りであると推測される ①「400101」と「400102」 ②「400101」と「400103」 ③「400101」と「400104」 ④「400102」と「400103」 ⑤「400102」と「400104」 ⑥「400103」と「400104」 の、全6パターンが考えられる 1つずつ見ていこう。 ①の場合 中間ファイルの「400101」と応募者ファイルの「400101」を比べてB条件 次に中間ファイルの「400102」と応募者ファイルの「400103」を比べてC条件 A条件に入らないので間違いである ②の場合 中間ファイルの「400101」と応募者ファイルの「400101」を比べてB条件 次に中間ファイルの「400103」と応募者ファイルの「400103」を比べてB条件 A,C条件に入らないので間違いである。 ③の場合 中間ファイルの「400101」と応募者ファイルの「400101」を比べてB条件 次に中間ファイルの「400104」と応募者ファイルの「400103」を比べてA条件 C条件に入らないので間違いである。 ④の場合 中間ファイルの「400102」と応募者ファイルの「400101」を比べてA条件 次に中間ファイルの「400102」と応募者ファイルの「400103」を比べてC条件 次に中間ファイルの「400103」と応募者ファイルの「400103」を比べてB条件 全ての条件に入るため、これが正解であることがわかる。 ⑤の場合 中間ファイルの「400102」と応募者ファイルの「400101」を比べてA条件 次に中間ファイルの「400102」と応募者ファイルの「400103」を比べてC条件 次に中間ファイルの「400104」と応募者ファイルの「400103」を比べてA条件 B条件に入らないので間違いである ⑥の場合 中間ファイルの「400103」と応募者ファイルの「400101」を比べてC条件 次に中間ファイルの「400103」と応募者ファイルの「400103」を比べてB条件 次に中間ファイルの「400104」と応募者ファイルの「400103」を比べてC条件 A条件には入らないため、間違いである。 よって解答は「イ 400102」と「ウ 400103」である わかりやすく記述しているつもりですが 不備などがありましたら、ご連絡ください。 |
まっち~様 ご投稿
メニューへ戻る