提供: Japanese Scratch-Wiki

このきじは ひらがなのページがありません。ごめんなさい。
あるデータ集合の平均値を求める には、それぞれの値を合計して、値の個数で割ればよい。詳しくは、 Wikipedia「平均」 を参照すること。

スクリプト例

方法は複数あるが、比較的シンプルな方法を取り上げる。

ここでは、3つの変数と1つのリストを使用する。

  • 最終的な答え (平均値) を入れる変数 (ここでは「結果」)
  • 平均を求めるデータの数を入れる変数 (ここでは「データ個数」)
  • 繰り返しで使用する変数 (ここでは「カウンター」)
  • 平均を求めるデータが入ったリスト(ここでは「データ集合」)

最初に、「データ集合」リストを空にして、3つの変数の値を設定している (これらを変数・リストの初期化と言う)。

@greenFlag が押されたとき::events hat
[データ集合 v] のすべてを削除する::list
[カウンター v] を [1] にする
[結果 v] を [0] にする
[データ個数 v] を [0] にする

次に、ユーザーに何個のデータを入力するかたずねて、その数を「データ個数」に入れる。その後、それぞれのデータの値をユーザーにたずねて、「データ集合」リストに追加していく。

[データの数はいくつ?] と聞いて待つ
[データ個数 v] を (答え) にする
(データ個数) 回繰り返す
  [数を入力してね] と聞いて待つ
  (答え) を [データ集合 v] に追加する
end

次に、すべての値を合計し、それを変数「結果」に入れる。最後に、「結果」に「結果」を「データ個数」で割った値を入れる。

([データ集合 v] の長さ::list) 回繰り返す
  [結果 v] を ([データ集合 v]の(カウンター)番目::list) ずつ変える
  [カウンター v] を (1) ずつ変える
end
[結果 v] を ((結果) / (データ個数)) にする

上のスクリプトをもう少し単純化すると次のようになる。スクリプトが短くなった分、実行速度も向上するはずだ:

[合計 v] を [0] にする
[データの数はいくつ?] と聞いて待つ
 [データ個数 v] を (答え) にする
(データ個数) 回繰り返す
  [数を入力してね] と聞いて待つ
  [合計 v] を (答え) ずつ変える
  end
((合計) / (データ個数)) と言う

関連項目