البرمجة: الجمل الشرطية في بايثون if-else
في هذا الدرس نتعرف على الجمل الشرطية (if-else) في لغة البرمجة بايثون في مادة الإعلام الآلي لتلاميذ الأولى ثانوي (شعب علمية). الجمل الشرطية تسمح للبرنامج باتخاذ قرارات بناءً على شروط معينة، مما يجعل البرنامج ذكياً وقادراً على التصرف بطرق مختلفة حسب المعطيات المختلفة.
مفهوم الجمل الشرطية
- تعريف: الجملة الشرطية تسمح بتنفيذ كتلة من التعليمات إذا تحقق شرط معين، وكتلة أخرى إذا لم يتحقق. أساس اتخاذ القرارات في البرمجة.
- الشرط: تعبير منطقي يتم تقييمه إلى True (صحيح) أو False (خاطئ). يستخدم عوامل المقارنة (==, !=, <, >, <=, >=) والعوامل المنطقية (and, or, not).
- بنية if: python: if condition: instruction. المسافة البادئة (indentation) مهمة جداً في بايثون لتحديد كتلة التعليمات التابعة للشرط.
- بنية if-else: python: if condition: instructions else: other_instructions. تنفذ instructions إذا كان الشرط True، وإلا تنفذ other_instructions.
الجمل الشرطية المتقدمة
- if-elif-else: للاختيار بين أكثر من خيارين. python: if condition1: … elif condition2: … else: …. يمكن استخدام عدة elif.
- الجمل الشرطية المتداخلة: وضع if داخل if آخر. تستخدم لفحص شروط متعددة المستويات. لكن يفضل تجنب التداخل العميق لسهولة القراءة.
- التعبير الشرطي المختصر (Ternary): python: x if condition else y. يعيد x إذا كان الشرط True وإلا يعيد y. مثال: “كبير” if age >= 18 else “صغير”.
- شرط متعدد باستخدام and/or: python: if age >= 18 and has_id == True: print(“مسموح بالدخول”). يمكن دمج عدة شروط في شرط واحد.
أمثلة تطبيقية
مثال 1: برنامج لتحديد أكبر عددين: a=10, b=7, if a > b: print(a, “أكبر من”, b) else: print(b, “أكبر من”, a). النتيجة: 10 أكبر من 7.✓
مثال 2: برنامج تقدير درجة الطالب: note=85, if note >= 90: print(“ممتاز”) elif note >= 80: print(“جيد جداً”) elif note >= 70: print(“جيد”) elif note >= 60: print(“مقبول”) else: print(“راسب”). النتيجة: جيد جداً.✓
مثال 3: برنامج تحقق من كلمة المرور: password=input(“أدخل كلمة المرور: “), if password == “secret123”: print(“مرحباً!”) else: print(“كلمة المرور خاطئة”).✓
تمارين وحلول
تمرين 1: اكتب برنامجاً يحدد إذا كان العدد زوجياً أم فردياً. الحل: n=int(input(“أدخل عدداً: “)), if n % 2 == 0: print(n, “زوجي”) else: print(n, “فردي”).✓
تمرين 2: اكتب برنامجاً يحسب تعرفة الكهرباء: إذا كان الاستهلاك أقل من 100 kWh السعر 2 دينار/kWh، وإذا كان بين 100 و 300 السعر 5 دينار/kWh، وإذا كان أكثر من 300 السعر 8 دينار/kWh. الحل: conso=float(input(“الاستهلاك: “)), if conso <= 100: tarif=2*conso, elif conso <= 300: tarif=2*100+5*(conso-100), else: tarif=2*100+5*200+8*(conso-300). print("التعرفة:", tarif).✓
تمرين 3 (للمتفوقين): اكتب برنامجاً يطلب ثلاث أعداد ويطبع الأكبر بينها. الحل: a=int(input()), b=int(input()), c=int(input()), if a>=b and a>=c: max=a, elif b>=a and b>=c: max=b, else: max=c. print(“الأكبر هو”, max).✓
نصائح للمراجعة
- المسافة البادئة (indentation) في بايثون تحدد كتلة التعليمات، استخدم 4 مسافات
- تذكر أن == للمقارنة (هل يساوي؟) و = للإسناد (ضع قيمة)
- ترتيب elif مهم: ضع الشروط من الأكثر خصوصية إلى الأكثر عمومية
- استخدم if age >= 18 وليس if age > 17 لتكون أكثر وضوحاً
- الجمل الشرطية المتداخلة قد تجعل الكود صعب القراءة، حاول استخدام elif بدلاً منها
- اختبر برنامجك بجميع الحالات الممكنة (صحيح، خاطئ، حدودي) للتأكد من عمله
دروس مشابهة
- البرمجة: المتغيرات والعمليات الأساسية في بايثون
- الخوارزميات: مقدمة في الخوارزميات والمخططات الانسيابية
مدونة التربية و التعليم في الجزائر – دروس، فروض، نتائج امتحانات مدونة التربية والتعليم في الجزائر | تحضير الدروس، فروض واختبارات، نتائج البكالوريا وBEM، مسابقات التوظيف، والتوجيه المدرسي للطلاب وأولياء الأمور.