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

التدريب العملي 25: علاوة التقدير (switch)

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

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

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

١نص المسألة

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

رمز التقديرمقدار العلاوة
A10%
B5%
C2%
D1%

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

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

٢الخوارزمية

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

  1. ابدأ
  2. اقرأ رمز التقدير وخزنه في g
  3. حسب قيمة g (جملة switch):
  4. في حالة "A" : اطبع «10% علاوة»
  5. في حالة "B" : اطبع «5% علاوة»
  6. في حالة "C" : اطبع «2% علاوة»
  7. في حالة "D" : اطبع «1% علاوة»
  8. غير ذلك (default) : اطبع «الرمز المدخل غير صحيح»
  9. اطبع «مع السلامة»
  10. توقف

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

ابدأاقرأ ⁦g⁩g == "A"نعماطبع «10% علاوة»لاg == "B"نعماطبع «5% علاوة»لاg == "C"نعماطبع «2% علاوة»لاg == "D"نعماطبع «1% علاوة»لااطبع «الرمز المدخل غير صحيح»اطبع «مع السلامة»توقف
خريطة التدفق

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

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

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

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

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

Output – lab25 (run)×
run:
ادخل رمز التقدير
A
10% علاوة
مع السلامة
BUILD SUCCESSFUL (total time: 0 seconds)

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

Output – lab25 (run)×
run:
ادخل رمز التقدير
C
2% علاوة
مع السلامة
BUILD SUCCESSFUL (total time: 0 seconds)

التشغيل 3: عند إدخال H

Output – lab25 (run)×
run:
ادخل رمز التقدير
H
الرمز المدخل غير صحيح
مع السلامة
BUILD SUCCESSFUL (total time: 0 seconds)

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

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

👁 اعرض الحل المقترح
Lab25.java
import java.util.Scanner;public class Lab25 {    public static void main(String[] args) {        Scanner input = new Scanner(System.in);        int bounce = 0;        System.out.println("ادخل رمز التقدير");        String g = input.nextLine();        switch (g) {            case "A": System.out.println("10% علاوة"); break;            case "B": System.out.println("5% علاوة"); break;            case "C": System.out.println("2% علاوة"); break;            case "D": System.out.println("1% علاوة"); break;            default: System.out.println("الرمز المدخل غير صحيح");        }        System.out.println("مع السلامة");    }}