تدريب عملي
التدريب العملي 25: علاوة التقدير (switch)
من مذكرة العملي. اقرأ المسألة والخوارزمية، ثم اكتب البرنامج ونفّذه.
من الدرس 6. العبارات الشرطية: if و switch · كل التدريبات
١نص المسألة
اكتب برنامج بلغة الجافا يطلب من المستخدم أن يدخل رمز التقدير ثم يطبع له مقدار العلاوة. الجدول التالي يوضح مقدار العلاوة لكل تقدير:
| رمز التقدير | مقدار العلاوة |
|---|---|
| A | 10% |
| B | 5% |
| C | 2% |
| D | 1% |
إذا أدخل المستخدم رمزًا آخر غير الرموز التي في الجدول، اطبع له: الرمز المدخل غير صحيح.
ملاحظة: المطلوب حل هذا المثال باستخدام جملة switch، على الرغم من إمكانية حلها بجملة if else if else المتعددة.
٢الخوارزمية
خوارزمية مقترحة.
- ابدأ
- اقرأ رمز التقدير وخزنه في g
- حسب قيمة g (جملة switch):
- في حالة "A" : اطبع «10% علاوة»
- في حالة "B" : اطبع «5% علاوة»
- في حالة "C" : اطبع «2% علاوة»
- في حالة "D" : اطبع «1% علاوة»
- غير ذلك (default) : اطبع «الرمز المدخل غير صحيح»
- اطبع «مع السلامة»
- توقف
٣خريطة التدفق
٤خطوات التطبيق
- أنشئ مشروعًا جديدًا في NetBeans: File ← New Project ← Java with Ant ← Java Application، باسم lab25.
- اكتب الكود داخل الدالة main، ثم شغّله بالزر Run أو F6.
- اكتب المدخلات في نافذة Output أسفل الشاشة ثم اضغط Enter. وفي الموقع اكتبها في خانة STDIN عند الضغط على «▶ شغّل هنا».
٥المخرجات المطلوبة
نفّذ برنامجك عدة مرات بمدخلات مختلفة، ويجب أن تظهر المخرجات التالية:
التشغيل 1: عند إدخال A
run:
ادخل رمز التقدير
A
10% علاوة
مع السلامة
BUILD SUCCESSFUL (total time: 0 seconds)
التشغيل 2: عند إدخال C
run:
ادخل رمز التقدير
C
2% علاوة
مع السلامة
BUILD SUCCESSFUL (total time: 0 seconds)
التشغيل 3: عند إدخال H
run:
ادخل رمز التقدير
H
الرمز المدخل غير صحيح
مع السلامة
BUILD SUCCESSFUL (total time: 0 seconds)
٦الحل المقترح
حاول بنفسك أولًا، ثم قارن حلّك بالحل التالي:
👁 اعرض الحل المقترح
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("مع السلامة"); }}