平成25年度 秋期 午前 問8
離散数学
流れ図に関する問題
右の流れ図が左の流れ図と同じ動作をするために,a,b に入る Yes と No の組合せはどれか。
〔左の流れ図〕字に書き起こしたもの(上から下へ流れる)
┌──────────────────┐
───→│ P でない 又は Q │──── No ────┐
└──────────────────┘ │
│ Yes │
↓ │
┌──────────┐ │
│ 処理 │ │
└──────────┘ │
│ │
↓←──────────────────────┘
〔右の流れ図〕字に書き起こしたもの
┌──────┐
───→│ P │──── a ──────────────┐
└──────┘ │
│(a でないほう) │
↓ │
┌──────┐ │
┌─ b │ Q │ │
│ └──────┘ │
│ │(b でないほう) │
│ ↓←────────────────────────┘
│ ┌──────────┐
│ │ 処理 │
│ └──────────┘
│ │
└───────→↓- アa=No,b=No
- イa=No,b=Yes
- ウa=Yes,b=No
- エa=Yes,b=Yes
答えと解説を見る
✓ これが正解アa=No,b=No
解説
どちらの分岐もNoのときだけ左と同じ動きになります。
二つの流れ図を見比べるのではなく、両方を文に直してから比べると迷いません。左の図は、Pが成り立たないか、あるいはQが成り立つときに処理へ進みます。右の図では、Pの判定から分かれた枝は処理の直前で合流し、Qの判定から分かれた枝は処理を飛び越して下で合流します。つまり前者の枝を通れば処理を行い、後者の枝を通れば処理を行いません。Pが成り立たないときに前者の枝を通り、Qが成り立たないときに後者の枝を通るようにYesとNoを置けば、三通りの場合すべてで左と一致します。判定の軸は、それぞれの枝が処理へ着くのか、処理を飛ばすのかです。
ほかの選択肢はなぜ違うのか
- イa=No,b=Yes:後半の判定に付けるYesとNoを反対にした組合せです。Qが成り立ったときに処理を飛び越えてしまうため、左の図がQの成立をもって処理へ進むのとちょうど逆の動きになります。
- ウa=Yes,b=No:前半の判定に付けるYesとNoを反対にした組合せです。Pが成り立ったときに処理へ直行してしまうので、Pが成り立ちQが成り立たない場合に、左の図が行わないはずの処理を行ってしまいます。
- エa=Yes,b=Yes:二つの判定のYesとNoをどちらも反対にした組合せです。Pが成り立てば処理へ直行し、成り立たない場合はQが成り立つときに処理を飛ばすので、左の図とは二か所で食い違います。
出典:平成25年度 秋期 基本情報技術者試験 午前 問8(改変:原典の図表をテキストに書き起こした)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)