7 of 17 menu

Chyba při výpočtu průměru pole

Podívejme se na chybu spojenou s výpočtem aritmetického průměru prvků pole. Pro příklad mějme zadané toto pole:

let arr = [1, 2, 3, 4, 5];

Pro nalezení průměru prvků je třeba najít jejich součet a vydělit počtem. Jistý programátor tento úkol vyřešil následujícím způsobem:

let avg = 0; for (let elem of arr) { avg += elem / arr.length; } console.log(avg);

Podívejme se na problémy tohoto řešení. Technicky kód funguje správně a dává správnou odpověď. Jde o to, že matematicky je korektní jak vydělit celý součet počtem, tak vydělit každý ze sčítanců počtem.

Avšak objevuje se jiný problém. Jde o to, že budeme provádět dělení tolikrát, kolik je prvků v našem poli. A vychází nám, že děláme velké množství zbytečných operací, protože dělení bychom mohli provést až na konci - jednou, vydělením celého nalezeného součtu.

Pojďme optimalizovat náš kód:

let sum = 0; for (let elem of arr) { sum += elem; } let avg = sum / arr.length; console.log(avg);
Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout