平成27年春期試験問題 問87

問85~88は、中問Aの問題文を読んでから回答してください。
P社では,一度の解錠で同時に複数の社員が入退室することがあり,入室と退室の記録の数が合わないという問題が発生していることが分かった。そこで,毎日,入退室記録表を使って,前日の入退室の回数が一致しない社員がいないかどうかを確認することにした。次に示す入退室確認では,前日の日付で,同一区画での入室と退室の回数が一致していないICカード番号を調べる手順を示している。a,bに入れる字句の適切な組合せはどれか。

〔前日の入退室確認〕
  • 入退室年月日が前日の日付であるレコードを全て取り出し,ICカード番号の昇順で,かつ,区画番号の同じレコードが並ぶように整列する。
  • (1)で整列したレコードに対して,ICカード番号と区画番号が同じレコードごとに,それらのaし,その結果の値とICカード番号及び区画番号とを併せて表として記録する。
  • (2)で記録したaした値がbICカード番号と区画番号を出力する。

87.gif
正解 問題へ
テクノロジ系
解説
"入退室管理表"の"入退室区分"列には、入室の場合は"1"、退室の場合には"-1"が記録されています。

このため正しく入退室が行われた場合には、ICカード番号、区画番号が同じで"入退室区分"が"1"と"-1"の2つのレコードが登録されることになります。
  • 区画番号の合計が奇数であるかどうかは関係がありません。
  • 正しい。正規の入退室であれば、入室の"1"と退室の"-1"がそれぞれ相殺され結果は"0"になるはずです。そうでなければ入室と退室の記録数が合っていないことになるため、該当するICカード番号と区画番号を出力します。
  • 入退室年月日が同じレコードだけで集計しているので、入室時間が24時間を超えることはありません。
  • レコードの個数を数える方法でも問題のある社員を判定することが可能ですが、出力すべきはレコード数が偶数ではなく奇数の場合です。

Pagetop