تدريب عملي
التدريب العملي 50: عمولة الموظفين وإجمالي الراتب
من مذكرة العملي. اقرأ المسألة والخوارزمية، ثم اكتب البرنامج ونفّذه.
من الدرس 10. المصفوفات · كل التدريبات
١نص المسألة
شركة تمنح موظفيها راتباً شهريا مقداره 2500 ريال سعودي، وتمنحهم عمولة بمقدار 9% من المبيعات الشهرية تضاف إلى الراتب الشهري. أكتب برنامج يقرأ 5 أرقام عبارة عن مجموع المبيعات الشهرية لكل موظف ثم احفظها في مصفوفة واحدة ذات بعد واحد. اطبع المخرجات كالتالي: commission total معنى commission العمولة، و total إجمالي الراتب ويحسب:
commission = المبيعات × 0.09 ، و total = 2500 + commission
٢الخوارزمية
خوارزمية مقترحة.
- ابدأ
- أنشئ مصفوفة sales سعتها 5
- كرّر 5 مرات: اقرأ مبيعات الموظف وخزنها في sales[i]
- اطبع العنوان commission Total
- كرّر على عناصر sales :
- comm = sales[i] * 0.09
- total = 2500 + comm
- اطبع comm و total بمنزلتين عشريتين
- توقف
٣خطوات التطبيق
- أنشئ مشروعًا جديدًا في NetBeans: File ← New Project ← Java with Ant ← Java Application، باسم lab50.
- اكتب الكود داخل الدالة main، ثم شغّله بالزر Run أو F6.
- اكتب المدخلات في نافذة Output أسفل الشاشة ثم اضغط Enter. وفي الموقع اكتبها في خانة STDIN عند الضغط على «▶ شغّل هنا».
٤المخرجات المطلوبة
نفّذ برنامجك، ويجب أن تظهر المخرجات التالية:
run:
1) sales:
10000
2) sales:
15000
3) sales:
8000
4) sales:
20000
5) sales:
12500
---------
commission Total
900.00 3400.00
1350.00 3850.00
720.00 3220.00
1800.00 4300.00
1125.00 3625.00
BUILD SUCCESSFUL (total time: 0 seconds)
المدخلات في هذا المثال: 10000، ثم 15000، ثم 8000، ثم 20000، ثم 12500
٥الحل المقترح
حاول بنفسك أولًا، ثم قارن حلّك بالحل التالي:
👁 اعرض الحل المقترح
import java.util.Scanner;public class Lab50 { public static void main(String[] args) {Scanner input = new Scanner(System.in); double sales[] = new double[5]; for (int i = 0; i < 5; i++) { System.out.println(i + 1 +") sales:"); sales[i] = input.nextDouble(); } System.out.println("---------"); System.out.println("commission\tTotal"); double comm = 0.0, total = 0.0; String commRound, totalRound; for (int i = 0; i < 5; i++) { comm = sales[i] * 0.09; commRound = String.format("%.2f", comm); total = 2500 + comm; totalRound = String.format("%.2f", total); System.out.println(commRound + "\t\t" + totalRound); } }}