تدريب عملي
التدريب العملي 48: نتائج الطلاب ومتوسط الدرجات
من مذكرة العملي. اقرأ المسألة والخوارزمية، ثم اكتب البرنامج ونفّذه.
من الدرس 10. المصفوفات · كل التدريبات
١نص المسألة
نقرأ أسماء 5 طلاب ونخزنها في مصفوفة ونقرأ كذلك درجاتهم ونخزنها في مصفوفة أخرى. بعد ذلك، إذا درجة الطالب أكبر من 60 نطبع اسمه و pass وإلا نطبع اسمه و fail
ايضاً، نطبع متوسط الدرجات.
٢الخوارزمية
خوارزمية مقترحة.
- ابدأ
- أنشئ مصفوفة names ومصفوفة marks سعة كل منهما 5
- كرّر 5 مرات: اقرأ الاسم والدرجة، وأضف الدرجة إلى sum
- كرّر على الطلاب:
- إذا كانت الدرجة > 60 : اطبع الاسم و Pass
- وإلا : اطبع الاسم و Fail
- اطبع المتوسط: sum / 5
- توقف
٣خطوات التطبيق
- أنشئ مشروعًا جديدًا في NetBeans: File ← New Project ← Java with Ant ← Java Application، باسم lab48.
- اكتب الكود داخل الدالة main، ثم شغّله بالزر Run أو F6.
- اكتب المدخلات في نافذة Output أسفل الشاشة ثم اضغط Enter. وفي الموقع اكتبها في خانة STDIN عند الضغط على «▶ شغّل هنا».
٤المخرجات المطلوبة
نفّذ برنامجك، ويجب أن تظهر المخرجات التالية:
run:
Student name:
Ali
his mark:
75
Student name:
Jalal
his mark:
63
Student name:
Hani
his mark:
53
Student name:
Dawood
his mark:
85
Student name:
Turki
his mark:
30
Ali Pass
Jalal Pass
Hani Fail
Dawood Pass
Turki Fail
Average = 61.2
BUILD SUCCESSFUL (total time: 0 seconds)
المدخلات في هذا المثال: Ali، ثم 75، ثم Jalal، ثم 63، ثم Hani، ثم 53، ثم Dawood، ثم 85، ثم Turki، ثم 30
٥الحل المقترح
حاول بنفسك أولًا، ثم قارن حلّك بالحل التالي:
👁 اعرض الحل المقترح
import java.util.Scanner;public class Main{ public static void main(String[] args) { String names[] = new String[5]; double marks[] = new double[5]; Scanner str = new Scanner(System.in); for(int i = 0; i< 5; i++){ System.out.println("Student name: "); names[i]= str.next(); System.out.println("his mark: "); marks[i]= str.nextInt(); } double avg=0, total = 0; for(int i=0; i<5; i++){ if(marks[i]>=60) System.out.println( names[i] + " Pass"); else System.out.println( names[i] + " Fail"); total = total + marks[i]; } avg = total / marks.length; // or total / 5 System.out.println("Average = " + avg); }}