問題
次の擬似言語プログラムを実行したとき、変数resultの値はいくつか。 整数型: result ← 0 整数型: i ← 1 while (i ≦ 4) 整数型: j ← i while (j ≦ 4) result ← result + 1 j ← j + 1 endwhile i ← i + 1 endwhile
選択肢
- 1ア 6
- 2イ 10
- 3ウ 16
- 4エ 20
正解
2. イ 10
詳しい解説を見る解説を閉じる
解説
外側ループはi=1〜4、内側ループはjがiから4まで回り、内側を1回通るたびにresultに1が加算されるため、resultは内側ループの総実行回数になる。内側の回数はiごとに4−i+1回であり、途中式はi=1で4回、i=2で3回、i=3で2回、i=4で1回、合計4+3+2+1=10となる。よってイが正解である。アの6は一部のiしか数えていない値、ウの16は内側が常にj=1から4まで回る(4×4)と誤読した値、エの20はさらに余分に数えた誤答である。頻出ポイント:内側ループの開始値が外側の変数iに依存する二重ループの実行回数はn(n+1)/2(本問は4×5÷2=10)になる典型パターンで、バブルソートの比較回数の計算など頻出の構造である。
一問一答
科目A 180問+科目B 60問