本文へスキップ

平成22年度 春期 ITパスポート試験 問95

この問題の解説と、これまでの解答の記録です。

問95
頻出度★★☆

A社研究所の資料室では,文献の貸出管理業務を行っている。文献の貸出管理業務には,PCのデータベースソフトを活用した文献貸出管理システム(以下,文献システムという)を利用している。 文献システムのデータベース構造は,次のとおりである。 社員表

社員番号社員名メールアドレス

文献表

文献番号文献名

貸出表

文献番号文献名社員番号社員名メールアドレス貸出日返却日

保有する文献と貸出についての条件は,次のとおりである。 〔保有する文献と貸出についての条件〕 (1) 同一文献は複数保有せず,文献ごとに固有な文献番号が採番されている。 (2) 貸出期間は,貸出日を含んで最長2週間である。ここで,返却された文献をその日に違う社員に貸し出すことは可能であるが,同じ社員に対して返却した同一文献をその日のうちに貸し出すことはない。 貸出から返却までの手続は,次のとおりである。 〔貸出から返却までの手続〕 (1) 社員は借りたい文献を書庫から取り出して,資料室の担当者(以下,担当者という)に手渡し,社員番号を提示する。 (2) 担当者は文献システムを使って貸出処理を行い,社員に文献を手渡す。 (3) 文献返却時,社員は担当者に文献を返却し,担当者は文献システムを使って返却処理を行う。 文献システムにおける貸出処理と返却処理の仕様は,次のとおりである。 〔貸出処理〕 (1) 文献番号で文献表を検索し,文献名を取得する。 (2) 社員番号で社員表を検索し,社員名とメールアドレスを取得する。 (3) 貸出表のレコード(以下,貸出レコードという)を用意して,(1),(2)で取得した文献番号,文献名,社員番号,社員名,メールアドレスを設定し,貸出日に当日の日付を,返却日に空白値を設定する。 (4) (3)で設定した貸出レコードを貸出表に追加する。 〔返却処理〕 (1) 文献番号で貸出表を検索し,返却日が空白値である貸出レコードを抽出する。 (2) 抽出した貸出レコードの返却日に当日の日付を設定し,貸出表を更新する。 担当者には,社員からの文献の問合せが多い。担当者は,社員から電話で文献名を聞き,貸出可能かどうかを調べている。そこで,文献検索機能を文献システムに追加し,社員に利用させることにした。文献検索機能の概要は次のとおりである。  追加する文献検索機能について,その処理の流れを次の図のとおりにまとめた。図の d~f に入る適切な字句の組合せはどれか。 〔文献検索機能の概要〕 (1) 問い合わせる文献名で,文献表をあいまい検索して結果を表示する。 (2) 該当する文献があるかを確認し,該当するものがある場合は,貸出可能かどうかを調べる。 (3) 貸出中であるか,貸出可能であるかを表示する。 (処理の流れ:開始 → 「文献名で文献表をあいまい検索して結果を表示する」 → 「該当する文献はあるか」 No → 「“文献なし”と表示する」 → 終了 / Yes → d → 「該当する貸出レコードはあるか」 No → e → 終了 / Yes → f → 終了) ① “貸出可能”と表示する ② “貸出中”と表示する ③ 文献番号で貸出表を検索し,返却日が空白値の貸出レコードを抽出する ④ 文献番号で貸出表を検索し,最も古い貸出日の貸出レコードを抽出する

出典 平成22年度 春期 ITパスポート試験 問95
解説

問 95

  • ア

    正解 正解は ア (d:③ e:① f:②)。流れ図の d は、直後の判断「該当する貸出レコードはあるか」で調べる対象を用意する処理なので、貸出表を検索してレコードを抽出する ③ か ④ が入る。ここで鍵になるのは、貸出表のレコードに返却日が記録され、まだ返ってきていない本は返却日が空白値のまま残る、という点である。したがって ③「文献番号で貸出表を検索し,返却日が空白値の貸出レコードを抽出する」を d に置けば、抽出されたレコードは「今まさに貸出中の記録」だけになる。あとは判断の分岐がそのまま答えになり、レコードが無い (No) 側の e は誰も借りていない状態なので ①“貸出可能”と表示する、レコードが有る (Yes) 側の f は借りられている状態なので ②“貸出中”と表示する、となる。これは〔文献検索機能の概要〕(3) の「貸出中であるか,貸出可能であるかを表示する」とも合致する。

  • 不正解イ

    d=③ は正しいが、e と f が入れ替わっている。e は判断「該当する貸出レコードはあるか」の No 側、つまり返却日が空白値のレコードが 1 件も無い側なので、その文献は貸出中ではなく借りられる状態である。ここに ②“貸出中”を置き、レコードが見つかった Yes 側 (f) に ①“貸出可能”を置くと、表示内容が実際の状態と正反対になってしまう。

  • 不正解ウ

    e=① f=② の対応は正しいが、d に ④「最も古い貸出日の貸出レコードを抽出する」を置いている点が誤り。貸出表には返却済みの過去の貸出履歴も残っているため、最も古い貸出日のレコードは、その文献が既に返却されていても抽出されてしまう。すると判断の Yes 側 (f) で常に“貸出中”と表示されかねず、現在の貸出状況を正しく判定できない。

  • 不正解エ

    d に ④ を置いている誤り (ウ と同じく、返却済みの古い履歴まで抽出されるので現在貸出中かどうかを判定できない) に加えて、e と f の“貸出可能”と“貸出中”も入れ替わっており、二重に誤っている選択肢である。

ここがポイント
  • 流れ図 (フローチャート) の空欄補充は、判断記号の Yes/No がそれぞれどんな状態を表すのかを、直前の処理が何を抽出したかとセットで読み解くのが基本。判断の直前の処理箱には、その判断で評価する対象をつくり出す処理が入る。
  • 貸出管理では「返却日が空白値のレコード = まだ返却されていない = 貸出中」というデータの持ち方が定番。現在の状態を知りたいときは全履歴ではなく未完了 (空白値) のレコードを抽出条件にする、という考え方を押さえておく。
用語

解答の記録