تدريب عملي
التدريب العملي 46: عدد الأرقام الزوجية والفردية
من مذكرة العملي. اقرأ المسألة والخوارزمية، ثم اكتب البرنامج ونفّذه.
من الدرس 10. المصفوفات · كل التدريبات
١نص المسألة
نطلب من المستخدم أن يدخل عدد الأرقام التي يريد يخزنها، ثم نعرف مصفوفة رقمية سعتها بمقدار العدد الذي ادخله. بعد ذلك، نطلب منه أن يدخل الأرقام ونخزنها في المصفوفة. وبعد تخزينها نقرأ الأرقام من المصفوفة ونحسب كم رقم فردي منها وكم رقم زوجي ونطبعهما.
٢الخوارزمية
خوارزمية مقترحة.
- ابدأ
- اقرأ عدد الأرقام وخزنه في n
- أنشئ مصفوفة numbers سعتها n
- even = 0 ، odd = 0
- كرّر n مرات: اقرأ الرقم وخزنه في numbers[i]
- كرّر على عناصر المصفوفة:
- إذا كان numbers[i] % 2 == 0 : even = even + 1
- وإلا: odd = odd + 1
- اطبع even و odd
- توقف
٣خطوات التطبيق
- أنشئ مشروعًا جديدًا في NetBeans: File ← New Project ← Java with Ant ← Java Application، باسم lab46.
- اكتب الكود داخل الدالة main، ثم شغّله بالزر Run أو F6.
- اكتب المدخلات في نافذة Output أسفل الشاشة ثم اضغط Enter. وفي الموقع اكتبها في خانة STDIN عند الضغط على «▶ شغّل هنا».
٤المخرجات المطلوبة
نفّذ برنامجك، ويجب أن تظهر المخرجات التالية:
run:
ادخل عدد الأرقام التي تريد أن تخزنها في المصفوفة
6
number 1 :
9
number 2 :
6
number 3 :
3
number 4 :
8
number 5 :
5
number 6 :
2
عدد الأرقام الزوجية3
عدد الأرقام الفردية3
BUILD SUCCESSFUL (total time: 0 seconds)
المدخلات في هذا المثال: 6، ثم 9، ثم 6، ثم 3، ثم 8، ثم 5، ثم 2
٥الحل المقترح
حاول بنفسك أولًا، ثم قارن حلّك بالحل التالي:
👁 اعرض الحل المقترح
import java.util.Scanner;public class Main{ public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("ادخل عدد الأرقام التي تريد أن تخزنها في المصفوفة"); int n = input.nextInt(); double numbers[] = new double[n]; int odd = 0, even = 0; // فردي وزوجي // قراءة الأرقام وتخزينها في المصفوفة // numbers.length = عدد المواقع المحجوزة في المصفوفة for(int i = 0; i< numbers.length; i++){ System.out.println("number " + (i+1) + " : "); numbers[i]= input.nextDouble(); } // معرفة كم رقم زوجي وفردي مخزنة في المصفوفة for(int i = 0; i< numbers.length; i++){ if (numbers[i]%2 == 0) even++; else odd++; } System.out.println("عدد الأرقام الزوجية" + even); System.out.println("عدد الأرقام الفردية" + odd); }}