أساسيات البرمجةتعريف دوال جديدة - التمرين الخامس
المطلوب
أكتب دالة إسمها findAll
، فيها باراميترين، الأول عبارة عن مصفوفة أعداد و الثاني عبارة عن عدد عادي.
مهمة الدالة هي معرفة كم عنصر في المصفوفة يملك نفس قيمة هذا العدد.
إذاً ستقوم الدالة بمقارنة جميع قيم عناصر المصفوفة مع قيمة هذا العدد. و كل عنصر تجد قيمته تساوي قيمة هذا العدد, ستعرض رقم فهرس ( index ) العنصر الذي وجدت فيه القيمة.
بعدها قم بإنشاء مصفوفة ذات بعد واحد إسمها numbers
تحتوي على قيم أولية.
ثم أطلب من المستخدم إدخال أي عدد.
في الأخير قم باستدعاء الدالة findAll()
لطباعة رقم فهرس ( index ) كل عنصر في المصفوفة يحتوي على نفس قيمة هذا العدد.
إرشادات
إذا أفترضنا أن المصفوفة numbers
تحتوي على نفس القيم التالية و أن المستخدم حاول البحث عن القيمة 5 فإنه سيتم إعلامه أنه تم إيجاد نفس القيمة مرتين في المصفوفة.
الحل
function findAll(arr, val) { var count = 0; for (var i=0; i<arr.length; i++) { if (arr[i] == val) { write(val + " is found at index " + i + "\n"); count++; } } if (count == 0) { write("No match found!\n"); } else if (count == 1) { write(count + " match found.\n"); } else { write(count + " matches found.\n"); } } numbers = [2, 5, 7, 6, 5]; write("Find: "); var num = read(); findAll(numbers, num);
ستحصل على النتيجة التالية عند التشغيل.
5 is found at index 1
5 is found at index 4
2 matches found.
شرح الكود
الفيديو التالي يشرح طريقة عمل الكود خطوة خطوة.