アルゴ道場
動かして学ぶ 基本情報アルゴリズム
ホーム応用・集計平均点を求めるFE頻出集計ループ

平均点を求める Average / 合計と平均

合計を入れる変数を 0 で初期化し、配列を先頭から順にたどって 1 つずつ加算します。最後に合計を要素数(人数)で割ると平均が求まります。

擬似言語の `÷` は整数除算(小数点以下切り捨て)です。割り切れない場合に平均がどうなるかにも注目しましょう。

📖 記号の読み方(はじめての人はここを確認)
代入(右の値を左の箱に入れる)。例: 合計 ← 0
=等しいか比べる(代入ではない)
等しくない(≠ は != と書いてもOK)
≤ / ≥以下 / 以上(<= / >= でもOK)
×かけ算(* でもOK)
÷わり算。答えの小数は捨てる(例: 7÷2=3)。/ でもOK
%わり算の余り(例: 7%2=1)
要素数(配列)配列の箱の数。2次元では 行数()・列数()
▲i / ▲j配列の下の三角は「いまコードが見ている位置」
algorithm.pseudo擬似言語 / IPA形式
1整数型の配列: 点数
2整数型: i, 合計, 平均
3合計 ← 0
4for (i を 1 から 要素数(点数) まで 1 ずつ増やす)
5 合計 ← 合計 + 点数[i]
6endfor
7平均 ← 合計 ÷ 要素数(点数)
実行を開始します

配列の可視化

箱の番号(添字)は 1 から始まります
▶ 整数型の配列: 点数
実行を開始します
点数
72
[1]
85
[2]
60
[3]
90
[4]
78
[5]
まだ見ていないいま見ている数字を書きかえた完了
マスの下の ▲i は「いまコードが見ている位置」・ 棒の高さは数の大きさ
くらべた回数
0
書きかえた回数
0
読んだ回数
0
変数の状態(いまの値)
i=
位置(カウンタ)
合計=
足した結果
平均=
平均
1 / 15
速度

理解度チェック

解答すると、そのアルゴリズムが実際に動く様子を再生して確認できます。

確認問題 1

点数 = {72, 85, 60, 90, 78} の平均点を上のプログラムで求めると、変数 平均 の値はいくつになるか。

確認問題 2

点数 = {80, 80, 80, 80, 63}(合計 383)の場合、平均 ← 合計 ÷ 要素数 の結果はいくつか。`÷` は整数除算であることに注意。

📊 計算量(速さの目安)— くわしく知りたい人向け

「計算量」は、データが増えたときに手間(時間)がどれくらい増えるかの目安です。n はデータの個数。記号の意味は各カードの下に書いてあります。

最良(いちばん速い場合)
O(n)
データの数に比例して増える(ふつう)
平均(ふつう)
O(n)
データの数に比例して増える(ふつう)
最悪(いちばん遅い場合)
O(n)
データの数に比例して増える(ふつう)
使う追加メモリ(空間)
O(1)
データが増えても一定(最速)

このサイトは、使い方を改善するためにアクセス解析(Google Analytics・Cookie)を利用します。