【擬似言語⑪裏】ずらしループで移動平均のbinを可変にする(基本情報技術者, 科目B, アルゴリズム)
このNoteでは、「3日に移動平均」「5日の移動平均」って感じで、枠(bin)を指定して移動平均を計算してくれる関数を作ります。
以下のNoteを読んでから取り組む課題です。
>【擬似言語④】平均のNote
>【擬似言語⑪】移動平均(3bin)のNote
このNoteは、私がIT専門学校で授業したことを基に作成しています。
IT専門学校でFEは第一目標として、カリキュラムが構築されています。何も知らずに入学しても、1年生10月にはFE合格していきますよ。実績ある教育ノウハウを詰め込んだので、少しでも信頼して頂けたら嬉しいです。
>全Noteへのリンク(FE節)
※科目Aのテーマ別/科目B/旧FE午後など沢山作りました!
前回組んだ移動平均(3bin)
>【擬似言語⑪】ずらしループ(移動平均)のNote で、3枠の移動平均を計算する擬似言語を作りました。

実数型の配列: data ← {10, 12, 15, 11, 14}
実数型の配列: result ← {0, 0, 0}
整数型: N ← dataの要素数
整数型: i
for (i を 1 から N - 2 まで 1 ずつ増やす)
result[i] ← (data[i] + data[i + 1] + data[i + 2]) / 3
endfor計算結果は3個(=データ5個-(3枠-1))なので、resultの要素数は3個にしました。
※あとオトナの事情で、dataとresultを実数型にさせて頂きました。気にしないで下さい。
課題 | 移動平均(2bin)
では課題。「2枠の移動平均の擬似言語を作ってください」。
すぐにできますね。
実数型の配列: data ← {10, 12, 15, 11, 14}
実数型の配列: result ← {0, 0, 0, 0}
整数型: N ← dataの要素数
整数型: i
for (i を 1 から N - 1 まで 1 ずつ増やす)
result[i] ← (data[i] + data[i + 1]) / 2
endfor変更箇所は、
❶resultを4要素(=データ5個-(2枠-1))。
❷平均計算の式を変更(配列から2つ足して、2で割る)
❷が変更できれば基礎はOK、❶に気づいたなら慎重さも併せ持ってて良いですね。
課題 | 移動平均(任意のbin)
では本題。「移動平均する枠数(bin)を引数で受け取って計算」するように改良して下さい。
❶resultの要素数が、binで変わっちゃいます。
2つの方式あります。
「resultの末尾に追加」を使うと楽(科目Bでもたまに出てます)。
「result←{dataの要素数 - (bin-1)個の0}」でもOK。
ここから先は
メンバーシップ
¥ 500 /月
学習方法・問題特集のNoteは全て無料提供を続けます▼ もしご覧になったNoteが有益だったり、私の志に共感されたりしましたら、サポート頂けますと励みになります▼ もちろんコメントでも結構です(・ω・▼)ノシ
