次のプログラムを実行したときの動きとして正しいものはどれか。
( 1 ) n = 1
( 2 ) n < 10 の間繰り返す:
( 3 ) ⎿ 表示する(n)
- ①n を1回表示して終わる
- ②1 から 9 までが表示される
- ③n が変わらず、終わらない
- ④条件が偽で、何も表示されない
答えと解説を見る
正解は「n が変わらず、終わらない」。繰り返しの中に n を変える処理が無いので、n < 10 はいつまでも真です。
なぜ
「〜の間繰り返す」は、条件が偽になるまで処理を繰り返します。条件に使う n を中で変えないので、1 < 10 は真のままで、1 を表示し続けます。これを無限ループといいます。直すには、表示する の行を | にして、その下に ⎿ n = n + 1 を入れます。
ひっかけ注意
・「n を1回表示して終わる」…1回で終わるには、1回目の後で条件が偽になる必要があります。n は 1 のままなので、1 < 10 は真のままです。
・「1 から 9 までが表示される」…繰り返しの中に n = n + 1 がある場合の動きです。そのときは9個表示して、n = 10 で終わります。
・「条件が偽で、何も表示されない」…最初の条件 1 < 10 は真なので、表示は行われます。n を 10 以上から始めた場合なら、何も表示されません。