26. Klouzavý průměr

Sledujeme vývoj Veledůležité Veličiny (dále jen VV) v čase. Protože se VV chová ze dne na den divoce a v jejím měření je i trocha šumu, potřebujeme hodnoty nějak vyhladit. Nejsme schopní předvídat, co bude zítra, takže vyhlazená hodnota v každém dni se má rovnat průměru VV za několik předcházejících dní.

Snažíme se průměrovat hodnot co nejvíc až do zadaného počtu. Pokud není dostatek předcházejících měření, tak zprůměrujeme aspoň to, co jde. Například první hodnota výsledku bude vždycky stejná jako první hodnota vstupu, protože ji není s čím průměrovat.

Vstupem programu je pole a číslo N. Pole udává hodnoty VV za jednotlivé dny. Číslo N udává počet hodnot, které se mají průměrovat. Vždy je to kladné přirozené číslo.

Výstupem programu je pole stejné délky jako pole na vstupu. Každá položka výstupního pole je průměr odpovídající hodnoty vstupního pole s N - 1 hodnotami, které jí předcházejí. Pokud předcházejících hodnot je méně než N - 1, pak se odpovídající hodnota vstupního pole má průměrovat se všemi předcházejícími. Průměr počítáme obyčejný aritmetický, kde každá hodnota má stejnou váhu.