7 of 17 menu

Грешка при намиране на средна стойност от масив

Ще разгледаме грешка, свързана с намирането на средна аритметична стойност от елементи на масив. Нека за пример да имаме следния масив:

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

За да намерим средната стойност на елементите, трябва да намерим тяхната сума и да я разделим на броя им. Някой програмист вече е решил тази задача по следния начин:

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

Нека разгледаме проблемите на това решение. Технически кодът работи правилно и дава верен отговор. Работата е там, че математически е коректно както да разделим цялата сума на броя, така и да разделим всяко от събираемите на броя.

Възниква обаче друг проблем. Работата е там, че ще изпълняваме деление толкова пъти, колкото елемента има в нашия масив. И се оказва, че правим голям брой излишни операции, тъй като делението можеше да се извърши накрая - веднъж, като се раздели цялата намерена сума.

Нека оптимизираме нашия код:

let sum = 0; for (let elem of arr) { sum += elem; } let avg = sum / arr.length; console.log(avg);
Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικά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
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне