ورقاتورقات تعليمية
تسجيل الدخولإنشاء حساب
درس

شرح درس الشروط المتداخلة ثاني متوسط الفصل الأول

الشرط المتداخل هو جملة ⁦if⁩ موضوعة داخل جملة ⁦if⁩ أخرى، فلا يُفحص الشرط الداخلي إلا إذا تحقق الشرط الخارجي.

المرحلة
المتوسطة
المادة
المهارات الرقمية
وقت القراءة
15 دقائق
الاختبار
متاح

🎯أهداف الدرس

  • يوضح معنى الشرط المتداخل ومتى يحتاج إليه.
  • يكتب ⁦if⁩ داخل ⁦if⁩ بمسافات بادئة صحيحة.
  • يقارن بين الشرط المتداخل ودمج الشروط بـ⁦and⁩.
  • يتتبع برنامجًا متداخلًا بالجدول ويبسّطه عند الإمكان.

💡المفهوم الأساسي

الشرط المتداخل هو جملة ⁦if⁩ موضوعة داخل جملة ⁦if⁩ أخرى، فلا يُفحص الشرط الداخلي إلا إذا تحقق الشرط الخارجي.

شرح الدرس

عند دخول المدرسة يسألك الحارس أولًا: هل معك بطاقة الطالب؟ فإذا قلت نعم سألك السؤال الثاني: ما رقم فصلك؟ لا يصل السؤال الثاني إلا بعد نجاح الأول. هذه هي فكرة الشروط المتداخلة.

بنية الشرط المتداخل

نكتب الشرط الداخلي بإزاحة ٤ مسافات إضافية داخل الشرط الخارجي، فيكون عمق المسافات ٨ للأوامر الداخلية.

«الشرط الداخلي لا يُفحص إلا إذا تحقق الشرط الخارجي»

مثال تسجيل الدخول

نطلب اسم المستخدم أولًا، وإذا كان صحيحًا نطلب كلمة المرور. الاسم وكلمة المرور تجريبيان:

user = input("اسم المستخدم: ")
if user == "student":
    password = input("كلمة المرور: ")
    if password == "Saudi2030":
        print("تم تسجيل الدخول")
    else:
        print("كلمة المرور خاطئة")
else:
    print("اسم المستخدم غير موجود")

نتتبع البرنامج بثلاثة إدخالات:

  • ⁦student⁩ ثم ⁦Saudi2030⁩: يطبع تم تسجيل الدخول.
  • ⁦student⁩ ثم ⁦abc⁩: يطبع كلمة المرور خاطئة.
  • ⁦x⁩: يطبع اسم المستخدم غير موجود، ولا يطلب كلمة المرور أصلًا.
انتبه

كل ⁦else⁩ تتبع ⁦if⁩ التي لها المسافة البادئة نفسها.

مثال خصم بحسب العضوية والمبلغ

متجر لمستلزمات المدرسة يعطي العضو خصم ١٠ بالمئة، وإذا بلغت مشترياته ٢٠٠ ريال فأكثر فالخصم ٢٠ بالمئة. وغير العضو لا يحصل على خصم:

is_member = input("هل أنت عضو؟ (نعم/لا) ")
total = int(input("مبلغ المشتريات: "))
if is_member == "نعم":
    if total >= 200:
        print("الخصم 20 بالمئة")
    else:
        print("الخصم 10 بالمئة")
else:
    print("لا يوجد خصم")

نتتبع البرنامج بجدول ذهني:

  • عضو ومبلغه ٢٥٠: الشرط الخارجي صحيح والداخلي صحيح، فالنتيجة ⁦الخصم 20 بالمئة⁩.
  • عضو ومبلغه ١٥٠: الخارجي صحيح والداخلي خاطئ، فالنتيجة ⁦الخصم 10 بالمئة⁩.
  • غير عضو ومبلغه ٣٠٠: الخارجي خاطئ فلا يُفحص الداخلي، والنتيجة ⁦لا يوجد خصم⁩.

التبسيط بـ and

إذا كانت لدينا نتيجة واحدة عند تحقق الشرطين فيمكن استبدال التداخل بـ⁦and⁩:

is_member = input("هل أنت عضو؟ (نعم/لا) ")
total = int(input("مبلغ المشتريات: "))
if is_member == "نعم" and total >= 200:
    print("الخصم 20 بالمئة")

هذا البرنامج أقصر، لكنه لا يعالج حالة العضو الذي مشترياته أقل من ٢٠٠ ولا حالة غير العضو. نستخدم التداخل عندما تختلف النتائج داخل كل فرع، ونستخدم ⁦and⁩ عندما تكون النتيجة واحدة.

فائدة

ابدأ بتصميم القرارات على ورقة برسم أسهم، ثم حوّلها إلى برنامج، فتتجنب الأخطاء في المسافات.

نشاط تعليمي

التطبيق الأول

ما الذي يطبعه برنامج تسجيل الدخول عند إدخال اسم المستخدم ⁦student⁩ وكلمة المرور ⁦Saudi2030⁩؟

الإجابة

يطبع «تم تسجيل الدخول».

الهدف

أن يتتبع الطالب شرطين متداخلين.

التدريب الثاني

اكتب برنامجًا يسأل عن العمر، فإن كان ١٢ فأكثر يسأل هل معه إذن ولي الأمر، ويطبع «يمكنك الاشتراك» فقط إذا كان الجواب ⁦نعم⁩.

الإجابة

⁦if age >= 12:⁩ ثم داخله ⁦if permission == "نعم":⁩ ثم ⁦print("يمكنك الاشتراك")⁩.

الهدف

أن يكتب الطالب شرطًا داخل شرط.

المسألة الثالثة

أعد كتابة الشرطين ⁦if a > 0:⁩ ثم داخله ⁦if b > 0:⁩ بشرط واحد.

الإجابة

⁦if a > 0 and b > 0:⁩.

الهدف

أن يبسّط الطالب الشروط المتداخلة.

ملاحظات مهمة

  1. 1نستخدم الشروط المتداخلة حين يعتمد القرار الثاني على القرار الأول.
  2. 2تزداد المسافة البادئة ٤ مسافات مع كل مستوى.
  3. 3كل ⁦else⁩ ترتبط بـ⁦if⁩ لها المسافة نفسها.
  4. 4يمكن تبسيط بعض الشروط المتداخلة باستخدام ⁦and⁩.

أخطاء شائعة

  • ✗ خطأعدم إزاحة الشرط الداخلي.
    ✓ الصواب: نزيحه ٤ مسافات إضافية.
  • ✗ خطأوضع ⁦else⁩ بمسافات لا تطابق ⁦if⁩ المقصودة.
    ✓ الصواب: نجعلهما على المحاذاة نفسها.
+عرض جميع الأخطاء (3) ←إخفاء الأخطاء الإضافية
  • ✗ خطأكثرة التداخل بلا حاجة.
    ✓ الصواب: نستخدم ⁦and⁩ إذا كانت لدينا نتيجة واحدة.

ملخص الدرس

  • الشرط المتداخل هو ⁦if⁩ داخل ⁦if⁩.
  • لا يُفحص الشرط الداخلي إلا إذا تحقق الخارجي.
  • المسافات البادئة تحدد ارتباط ⁦else⁩ بالشرط.
  • ⁦and⁩ تبسّط بعض الحالات.

هل أتقنت الدرس؟اختبر نفسك من خلال اختبار قصير من عدة أسئلة.

حزمة الدرس