次のプログラムを実行したとき、表示される値はどれか。
x = 8 , y = 0
もし x >= 10 ならば:
| y = 1
そうでなければ:
⎿ y = 2
表示する(y)
- ①2
- ②1
- ③0
- ④3
答えと解説を見る
正解は「2」。8 >= 10 は偽なので、そうでなければ の側だけが実行されます。
なぜ
もし〜ならば の条件が真なら上の処理、偽なら そうでなければ の下の処理を、どちらか一方だけ行います。8 は 10 以上ではないので条件は偽で、y に 2 が入ります。
ひっかけ注意
・「1」…条件が真のときの処理。x が 10 以上(10、11 など)のときだけ y は 1 になる。
・「0」…どちらの処理も行われないと考えた誤り。そうでなければ があるので、必ずどちらか一方が実行される。
・「3」…両方の処理が行われ、1 と 2 が足されると考えた誤り。実行されるのは1か所だけ。