მასივის საშუალოს პოვნის შეცდომა
განვიხილოთ შეცდომა, რომელიც დაკავშირებულია მასივის ელემენტების საშუალო არითმეტიკულის პოვნასთან. მაგალითისთვის გვაქვს მოცემული შემდეგი მასივი:
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);