Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

أساسيات البرمجةتعريف دوال جديدة - التمرين الثالث

المطلوب

أكتب دالة إسمها 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);

ستحصل على النتيجة التالية عند التشغيل.

Algorithms: 18
Java: 14
Databases: 10
Linux: 6
Networks: 15
---------------
Your average is 12.6
Congratulations you have succeeded.

جرب الكود


شرح الكود

الفيديو التالي يشرح طريقة عمل الكود خطوة خطوة.