درجه نهایی دانش آموز – جامعه dev

دستورالعمل ها:
یک عملکرد نهایی را ایجاد کنید ، که بسته به دو پارامتر ، درجه نهایی دانش آموز را محاسبه می کند: یک نمره برای امتحان و تعدادی از پروژه های تکمیل شده.
این عملکرد باید دو آرگومان باشد: امتحان – درجه برای امتحان (از 0 تا 100). پروژه ها – تعداد پروژه های تکمیل شده (از 0 و بالاتر) ؛
این عملکرد باید یک عدد (درجه نهایی) را برگرداند. چهار نوع نمرات نهایی وجود دارد:
100 ، اگر درجه ای برای امتحان بیش از 90 باشد یا اگر تعدادی از پروژه های تکمیل شده بیش از 10 باشد.
90 ، اگر درجه ای برای امتحان بیش از 75 باشد و اگر تعدادی از پروژه های تکمیل شده حداقل 5 باشد.
75 ، اگر درجه ای برای امتحان بیش از 50 باشد و اگر تعدادی از پروژه های تکمیل شده حداقل 2 باشد.
0 ، در موارد دیگر
مثالها (ورودی-> خروجی):
100 ، 12 -> 100
99 ، 0 -> 100
10 ، 15 -> 100
85 ، 5 -> 90
55 ، 3 -> 75
55 ، 0 -> 0
20 ، 2 -> 0
افکار:
1. من از عبارت IF/Else برای تعیین بازده عملکرد درجه نهایی شرایط مختلف استفاده می کنم.
2. عبارت IF/Else را در صورت استفاده از مدار کوتاه || و && بر اساس الزامات حاصل از دستورالعمل ها.
راه حل:
function finalGrade (exam, projects) {
if(exam > 90 || projects > 10) return 100;
if(exam > 75 & projects >= 5) return 90;
if(exam > 50 & projects >= 2) return 75;
return 0;
}
این یک چالش Codewars از رتبه 8kyu است