🧪 التدريب العملي الوحدة 3: القرار والتكرار وتشخيص الأخطاء · الدرس 6 من 17
تدريب عملي

التدريب العملي 26: اسم اليوم (switch)

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

1234… case 1: الأحدcase 2: الاثنين case 3: الثلاثاءdefault

من الدرس 6. العبارات الشرطية: if و switch · كل التدريبات

١نص المسألة

اكتب برنامج بلغة الجافا يطلب من المستخدم أن يدخل رقم اليوم ثم يطبع له اسم اليوم. الجدول التالي يوضح رقم اليوم واسمه:

رقم اليوماسم اليوم
1الأحد
2الإثنين
3الثلاثاء
4الأربعاء
5الخميس
6الجمعة
7السبت

إذا أدخل المستخدم رقمًا آخر غير الأرقام التي في الجدول، اطبع له: الرقم المدخل غير صحيح.

ملاحظة: المطلوب حل هذا المثال باستخدام جملة switch، على الرغم من إمكانية حلها بجملة if else if else المتعددة.

٢الخوارزمية

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

  1. ابدأ
  2. اقرأ رقم اليوم وخزنه في a
  3. حسب قيمة a (جملة switch):
  4. في حالة 1 : اطبع «الأحد»
  5. في حالة 2 : اطبع «الإثنين»
  6. في حالة 3 : اطبع «الثلاثاء»
  7. في حالة 4 : اطبع «الأربعاء»
  8. في حالة 5 : اطبع «الخميس»
  9. في حالة 6 : اطبع «الجمعة»
  10. في حالة 7 : اطبع «السبت»
  11. غير ذلك (default) : اطبع «الرقم المدخل غير صحيح»
  12. اطبع «مع السلامة»
  13. توقف

٣خريطة التدفق

ابدأاقرأ ⁦a⁩a == 1نعماطبع «الأحد»لاa == 2نعماطبع «الإثنين»لاa == 3نعماطبع «الثلاثاء»لاa == 4نعماطبع «الأربعاء»لاa == 5نعماطبع «الخميس»لاa == 6نعماطبع «الجمعة»لاa == 7نعماطبع «السبت»لااطبع «الرقم المدخل غير صحيح»اطبع «مع السلامة»توقف
خريطة التدفق

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

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

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

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

التشغيل 1: عند إدخال 5

Output – lab26 (run)×
run:
ادخل رقم اليوم
5
الخميس
مع السلامة
BUILD SUCCESSFUL (total time: 0 seconds)

التشغيل 2: عند إدخال 9

Output – lab26 (run)×
run:
ادخل رقم اليوم
9
الرقم المدخل غير صحيح
مع السلامة
BUILD SUCCESSFUL (total time: 0 seconds)

٦الحل المقترح

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

👁 اعرض الحل المقترح
Lab26.java
import java.util.Scanner;public class Lab26 {    public static void main(String[] args) {        Scanner input = new Scanner(System.in);        System.out.println("ادخل رقم اليوم");        int a = input.nextInt();        switch(a){            case 1: System.out.println("الأحد"); break;            case 2: System.out.println("الأثنين"); break;            case 3: System.out.println("الثلاثاء"); break;            case 4: System.out.println("الأربعاء"); break;            case 5: System.out.println("الخميس"); break;            case 6: System.out.println("الجمعة"); break;            case 7: System.out.println("السبت"); break;            default: System.out.println("الرقم المدخل غير صحيح");        }        System.out.println("مع السلامة");    }}