提供:Japanese Scratch-Wiki
このきじは ひらがなでよめません。ごめんなさい。編集者向け:作成する
あるデータ集合の平均値を求める には、それぞれの値を合計して、値の個数で割ればよい。詳しくは、 Wikipedia「平均」 を参照すること。
スクリプト例
方法は複数あるが、比較的シンプルな方法を取り上げる。
- 最終的な答え (平均値) を入れる変数 (ここでは「結果」)
- 平均を求めるデータの数を入れる変数 (ここでは「データ個数」)
- 繰り返しで使用する変数 (ここでは「カウンター」)
- 平均を求めるデータが入ったリスト(ここでは「データ集合」)
最初に、「データ集合」リストを空にして、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 ((合計) / (データ個数)) と言う