プログラミングの基礎(擬似言語のトレース)
配列の要素番号は1から始まる。隣り合う要素を比べる次のプログラムを実行した後の c の値はどれか。
整数型の配列: a ← {2, 2, 3, 3, 3, 1, 1}
整数型: c ← 0
for (i を 1 から aの要素数 − 1 まで 1 ずつ増やす)
if (a[i] = a[i + 1])
c ← c + 1
endif
endfor
- A4
- B6
- C7
答えと解説を見る
正解:A. 4
隣り合う2つの要素が等しい組の数を数えます。i は1から6まで動き、a[1] と a[2]、a[3] と a[4]、a[4] と a[5]、a[6] と a[7] の4組が等しいので c = 4 です。比較は 7 − 1 = 6 回行われます。終値を要素数 − 1 にしているのは、a[i + 1] が配列の範囲を超えないようにするためです。
- A. 正しい。等しい組は (2, 2)、(3, 3)、(3, 3)、(1, 1) の4組です。
- B. 比較の回数です。c が増えるのは等しい組のときだけです。
- C. 隣と等しい値を持つ要素の個数です。このプログラムは要素ではなく、隣り合う組を数えます。