見出し画像

【擬似言語⑪裏】ずらしループで移動平均の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。

ここから先は

1,826字

メンバーシップ ¥ 500 /月

■初月無料なので、お試しください。 ■私独自の理解法や詳しい分析を公開したいです。 ■根本を丁寧に見…

【初月無料】Iパス法律/SG/AP計算/DBとSC午後2

¥500 / 月
1ヶ月無料 人数制限あり

学習方法・問題特集のNoteは全て無料提供を続けます▼ もしご覧になったNoteが有益だったり、私の志に共感されたりしましたら、サポート頂けますと励みになります▼ もちろんコメントでも結構です(・ω・▼)ノシ