অ্যারের গড় বের করার ত্রুটি
অ্যারের উপাদানগুলির গাণিতিক গড় বের করার সাথে সম্পর্কিত একটি ত্রুটি আমরা বিবেচনা করব। উদাহরণস্বরূপ, ধরা যাক আমাদের নিম্নলিখিত অ্যারে দেওয়া আছে:
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);