أساسيات البرمجةتعريف دوال جديدة - التمرين الثالث
المطلوب
أكتب دالة إسمها printAvg
، يعطيها المستخدم علاماته المدرسية، فتحسب له معدله، ثم تطبع له نتيجته كالتالي:
- إذا كان معدله بين 10 و 20 ستطبع أنه ناجح.
- إذا كان معدله أقل من 10 ستطبع أنه راسب.
بعدها قم بتخزين أسماء المواد التي ستطلب من المستخدم إدخال علامات لها في مصفوفة إسمها methods
.
ثم أطلب من المستخدم إدخال علامة بين 0 و 20 لكل مادة منهم و خزّن العلامات التي سيدخلها المستخدم في مصفوفة إسمها notes
.
في الأخير قم باستدعاء الدالة printAvg()
لطباعة معدل و نتيجة المستخدم.
إرشادات
لنفترض أن المستخدم عنده 5 مواد هي Algorithms، Java، Databases، Linux و Networks و سيدخل علامة لكل مادة منهم كالتالي.
تذكر: أسماء المواد يجب أن يتم وضعها في المصفوفة methods
و علامة كل مادة يجب أن يتم تخزينها في المصفوفة notes
.
الحل
function printAvg(arr) { var avg; var s = 0; for (var i=0; i<arr.length; i++) { s = s + arr[i]; } avg = s / arr.length; write("Your average is " + avg + "\n"); if (avg >= 10 && avg <= 20) { write("Congratulations you have succeeded.\n") } else if (avg >= 0 && avg < 10) { write("Sorry you failed.\n") } else { write("Something wrong, impossible result!\n"); } } methods = ["Algorithms", "Java", "Databases", "Linux", "Networks"]; notes = array(methods.length); for (var i=0; i<methods.length; i++) { do { write(methods[i] + ": "); notes[i] = read(); } while (notes[i] < 0 || notes[i] > 20 || isNaN(notes[i])); } write("---------------\n"); printAvg(notes);
ستحصل على النتيجة التالية عند التشغيل.
Java: 14
Databases: 10
Linux: 6
Networks: 15
---------------
Your average is 12.6
Congratulations you have succeeded.
شرح الكود
الفيديو التالي يشرح طريقة عمل الكود خطوة خطوة.