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

التدريب العملي 22: آلة حاسبة بسيطة

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

if true ✓ false → else

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

١نص المسألة

أكتب برنامج عبارة عن آلة حاسبة بسيطة، بحيث يطلب من المستخدم أن:

يدخل العدد الأول

ثم رمز العملية ( + للجمع أو - للطرح أو * للضرب أو / للقسمة)

ثم العدد الثاني

وبعد ذلك يقوم البرنامج بتنفيذ العملية الحسابية على الرقمين ويطبع النتيجة. إذا ادخل المستخدم رمزاً آخر نطبع له رمز العملية غير صحيح.

٢الخوارزمية

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

  1. ابدأ
  2. اقرأ العدد الأول وخزنه في n1
  3. اقرأ رمز العملية وخزنه في op
  4. اقرأ العدد الثاني وخزنه في n2
  5. result = 0
  6. إذا كان op يساوي + :
  7. result = n1 + n2
  8. وإلا إذا كان op يساوي - :
  9. result = n1 - n2
  10. وإلا إذا كان op يساوي * :
  11. result = n1 * n2
  12. وإلا إذا كان op يساوي / :
  13. result = n1 / n2
  14. غير ذلك:
  15. اطبع «الرمز المدخل غير صحيح»
  16. اطبع n1 op n2 = result
  17. توقف

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

ابدأاقرأ ⁦n1⁩ ، ⁦op⁩ ، ⁦n2⁩result = 0op == "+"نعمresult = n1 + n2لاop == "-"نعمresult = n1 - n2لاop == "*"نعمresult = n1 * n2لاop == "/"نعمresult = n1 / n2لااطبع «الرمز المدخل غير صحيح»اطبع ⁦n1 op n2 = result⁩توقف
خريطة التدفق

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

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

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

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

التشغيل 1: عند إدخال 12، ثم -، ثم 4

Output – lab22 (run)×
run:
ادخل العدد الأول
12
ادخل رمز العملية: + - * /
-
ادخل العدد الثاني
4
12.0-4.0 = 8.0
BUILD SUCCESSFUL (total time: 0 seconds)

التشغيل 2: عند إدخال 8، ثم +، ثم 2

Output – lab22 (run)×
run:
ادخل العدد الأول
8
ادخل رمز العملية: + - * /
+
ادخل العدد الثاني
2
8.0+2.0 = 10.0
BUILD SUCCESSFUL (total time: 0 seconds)

التشغيل 3: عند إدخال 15، ثم @، ثم 5

Output – lab22 (run)×
run:
ادخل العدد الأول
15
ادخل رمز العملية: + - * /
@
ادخل العدد الثاني
5
الرمز المدخل غير صحيح
15.0@5.0 = 0.0
BUILD SUCCESSFUL (total time: 0 seconds)

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

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

👁 اعرض الحل المقترح
Lab22.java
import java.util.Scanner;public class Lab22 {    public static void main(String[] args) {        Scanner numbers = new Scanner(System.in);        System.out.println("ادخل العدد الأول");        double n1 = numbers.nextDouble();        System.out.println("ادخل رمز العملية: + - * /");        String op = numbers.next();   // قراءة رمز العملية        System.out.println("ادخل العدد الثاني");        double n2 = numbers.nextDouble();        double result = 0;                if(op.equals("+"))            result = n1 + n2;        else if(op.equals("-"))            result = n1 - n2;        else if(op.equals("*"))            result = n1 * n2;        else if(op.equals("/"))            result = n1 / n2;        else            System.out.println("الرمز المدخل غير صحيح");       String e = n1 + op + n2 + " = " + result;        System.out.println(e);     }     }