🧪 التدريب العملي الوحدة 4: الدوال والمصفوفات واستراتيجيات الحل · الدرس 10 من 17
تدريب عملي

التدريب العملي 48: نتائج الطلاب ومتوسط الدرجات

من مذكرة العملي. اقرأ المسألة والخوارزمية، ثم اكتب البرنامج ونفّذه.

int[] grades 90[0]85[1]70[2]100[3] length = 4 · آخر فهرس = 3

من الدرس 10. المصفوفات · كل التدريبات

١نص المسألة

نقرأ أسماء 5 طلاب ونخزنها في مصفوفة ونقرأ كذلك درجاتهم ونخزنها في مصفوفة أخرى. بعد ذلك، إذا درجة الطالب أكبر من 60 نطبع اسمه و pass وإلا نطبع اسمه و fail

ايضاً، نطبع متوسط الدرجات.

٢الخوارزمية

خوارزمية مقترحة.

  1. ابدأ
  2. أنشئ مصفوفة names ومصفوفة marks سعة كل منهما 5
  3. كرّر 5 مرات: اقرأ الاسم والدرجة، وأضف الدرجة إلى sum
  4. كرّر على الطلاب:
  5. إذا كانت الدرجة > 60 : اطبع الاسم و Pass
  6. وإلا : اطبع الاسم و Fail
  7. اطبع المتوسط: sum / 5
  8. توقف

٣خطوات التطبيق

  1. أنشئ مشروعًا جديدًا في NetBeans: File‏ ← ‏New Project‏ ← ‏Java with Ant‏ ← ‏Java Application، باسم lab48.
  2. اكتب الكود داخل الدالة main، ثم شغّله بالزر Run أو F6.
  3. اكتب المدخلات في نافذة Output أسفل الشاشة ثم اضغط Enter. وفي الموقع اكتبها في خانة STDIN عند الضغط على «▶ شغّل هنا».

٤المخرجات المطلوبة

نفّذ برنامجك، ويجب أن تظهر المخرجات التالية:

Output – lab48 (run)×
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

٥الحل المقترح

حاول بنفسك أولًا، ثم قارن حلّك بالحل التالي:

👁 اعرض الحل المقترح
Lab48.java
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);     }}