問題
次のプログラムは、n個の要素を持つ配列arrの平均値を計算する。空欄[ ]に入る正しい式はどれか。 ○ 実数型: average(整数型の配列: arr) 整数型: sum ← 0 整数型: i for (i を 0 から arr の要素数−1 まで 1 ずつ増やす) sum ← sum + arr[i] endfor return [ ]
選択肢
- 1ア sum
- 2イ sum / arr の要素数
- 3ウ sum × arr の要素数
- 4エ sum + arr の要素数
正解
2. イ sum / arr の要素数
詳しい解説を見る解説を閉じる
解説
平均値は「全要素の合計÷要素数」で定義される。プログラムの前半でforループによりsumへ全要素を加算しているので、戻り値は合計を要素数で割ったイのsum / arr の要素数が正解である。例えば配列{2,4,6}ならsum=2+4+6=12、要素数3なので平均は12÷3=4となる。誤答肢のアsumは合計そのものを返してしまい平均にならず、ウの乗算やエの加算は平均の定義と無関係な演算である。関数の戻り値が実数型で宣言されているのは、12÷5=2.4のように割り切れない場合でも小数を返すためであり、整数型同士の除算では小数部が切り捨てられるという型の扱いが論点になることもある。「ループで合計→最後に件数で割る」という集計の流れは擬似言語の穴埋めで最頻出のパターンである。
一問一答
科目A 180問+科目B 60問