平成25年度 秋期 基本情報技術者試験 午前 問8
テクノロジ/アルゴリズム右の流れ図が左の流れ図と同じ動作をするために,a,bに入るYesとNoの組合せはどれか。 左の流れ図:「Pでない又はQ」の判定でYesなら処理を実行してループの先頭へ戻り,Noならループを抜ける。 右の流れ図:Pを判定し,その結果に応じてaへ分岐(分岐しない側はQの判定へ進む),Qを判定し,その結果に応じてbから処理へ合流するか,ループを抜ける。処理の後はループの先頭へ戻る。 (注:本サイトでは原問題の図を文字表記に変換しています)

出典:平成25年度 秋期 基本情報技術者試験 午前 問8
- アa:No,b:No
- イa:No,b:Yes
- ウa:Yes,b:No
- エa:Yes,b:Yes
正解:ア
解説
左の流れ図は「Pでない又はQ」が真の間だけ処理を実行するループで,これが偽になる(つまりPが真かつQが偽の)ときだけループを抜けます。右の流れ図でPの判定結果がNoのとき(Pが偽のとき)は,Qの値によらず条件が真になるので,直接処理へ進む必要があり,これがaです。Pの判定がYesのときはQの判定に進み,Qの判定がNoのとき(Pが真かつQが偽のとき)だけループを抜ける必要があり,これがbになります。
選択肢ごとの解説
- ア正しい。a:No(Pが偽なら直接処理へ)とb:No(Qが偽ならループを抜ける)の組合せによって,元の「Pでない又はQ」と同じ動作になります。
- イ誤り。b:Yesにすると,Pが真かつQが真のときにループを抜けてしまい,本来処理を実行すべき場合に処理されなくなります。
- ウ誤り。a:Yesにすると,Pが偽のときに直接処理へ進まず,本来実行されるべき処理がされない場合が生じます。
- エ誤り。a,bともに逆の値になっており,Pが偽でも処理へ進まず,Qが真でもループを抜けてしまうなど,動作が反対になります。