CO-P03情報Ⅰ 対策問題

コンピュータとプログラミングプログラミング特訓 (第3問対策)

次のプログラムは、二重の繰り返しを使って、変数 kekka に1を足す処理が全部で何回実行されるかを数える。実行したとき、表示される値はどれか。 (1) kekka = 0 (2) i を 1 から 3 まで 1 ずつ増やしながら繰り返す: (3) | j を 1 から i まで 1 ずつ増やしながら繰り返す: (4) ⎿ ⎿ kekka = kekka + 1 (5) 表示する(kekka)

解答・解説を見る

正解: 1

正答

1

この問題のポイント

内側の回数が変わる二重ループ を問う問題です。内側の終わりが「iまで」になっている点に注目します。

解説

二重ループとは、繰り返しの中にもう1つ繰り返しが入った形です。このプログラムの内側のループは「j を 1 から i まで」となっていて、外側の i の値によって内側の回る回数が変わるのが最大のポイントです。

kekka の値の変化を1ステップずつトレースします。
i=1のとき: j は 1 から 1 まで → 内側は1回。kekka = 0+1 = 1。
i=2のとき: j は 1 から 2 まで → 内側は2回。kekka = 1+1+1 = 3。
i=3のとき: j は 1 から 3 まで → 内側は3回。kekka = 3+1+1+1 = 6。
ループ終了後、(5)で 6 が表示されます。

内側が固定回数(たとえば「1から3まで」)なら合計は 3×3=9 回ですが、この問題のように上限が i の場合は 1+2+3=6 回、一般には 1+2+…+n 回になります。長方形型(掛け算)か三角形型(足し算の和)かを、内側のループの終わりの値で見分けましょう。

この三角形型は、総当たり戦の試合数(n人から2人を選ぶ組み合わせ)や、バブルソート・選択ソートの比較回数の計算に直結します。共通テストでは「この処理は全部で何回実行されるか」という形で問われるので、小さい n で書き出して規則を見つける習慣をつけておくと確実です。

選択肢の確認

1.○ 内側の回数は i=1で1回、i=2で2回、i=3で3回。合計 1+2+3=6。
2.× 9は内側を毎回3回(3×3)と誤解した値。上限は「iまで」で変化する。
3.× 3は外側のループだけを数えた値。
4.× 12になる計算はどこにもない。

ここだけは覚えよう

内側の上限が「iまで」なら回数は 1+2+…+n — 長方形(掛け算)か三角形(和)かを上限の式で見分ける。

関連問題

CO-P02CO-P04