7 of 17 menu

Eroare la calculul mediei unui array

Să analizăm o eroare legată de calculul mediei aritmetice a elementelor unui array. Să presupunem, de exemplu, că avem următorul array:

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

Pentru a găsi media elementelor, trebuie să găsim suma lor și să o împărțim la numărul de elemente. Un programator a rezolvat deja această problemă în felul următor:

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

Să analizăm problemele acestei soluții. Din punct de vedere tehnic, codul funcționează corect și oferă răspunsul corect. Adevărul este că, din punct de vedere matematic, este corect să împărțim întreaga sumă la număr, precum și să împărțim fiecare termen la număr.

Cu toate acestea, apare o altă problemă. Adevărul este că vom efectua împărțirea de atâtea ori câte elemente sunt în array-ul nostru. Și se dovedește că facem un număr mare de operații inutile, deoarece împărțirea ar fi putut fi făcută la final - o singură dată, împărțind întreaga sumă găsită.

Să optimizăm codul nostru:

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