شرح الموضوع
تعرَّف الجمل الشرطية في لغة البرمجة بايثون (Python)، وبيان كيف يُمكن كتابتها واستخدامها في تعليق تنفيذ أوامر مُعيَّنة بناءً على شروط يُحدِّدها المُبرمج، وإجراء تطبيقات عملية لتعزيز الفهم.
الفكرة الرئيسة والمفاهيم والمصطلحات
- نتعرّف الجمل الشرطية في لغة البرمجة بايثون (Python)، وكيف نكتبها ونستخدمها في تعليق تنفيذ أوامر معيّنة بناءً على شروط يحدّدها المبرمج.
- منتج التعلّم: تعديل البرنامج عبر إضافة الجمل الشرطية لاتخاذ القرارات بناءً على مدخلات المستخدم، ضمن سياق تصميم لعبة تخمين الأرقام.
نتاجات التعلُّم :
- أكتب جملًا شرطيةً مُركَّبةً ومُترابطةً باستخدام المُعاملات المنطقية (مثل: and، or، و not) في لغة البرمجة بايثون (Python).
- أستخدم لغة البرمجة بايثون (Python) في إنشاء برامج تتضمَّن جملًا شرطيةً، وأتتبَّع ناتجها وأُنفِّذها.
الجمل الشرطية: البرنامج يقرّر بناءً على شرط
لا بد أنك تعرفت الجمل الشرطية وطرق كتابتها في اللغة العربية واللغة الإنجليزية، هل يوجد ارتباط بين مكونات جملة الشرط في هذه اللغات ومكوناتها في لغات البرمجة؟
لعبة البطاقات الشرطية
- نشاط: أُحضِّر عددًا من البطاقات المرقّمة من (0) إلى (10)، واتّباع القواعد الآتية بناءً على العدد المدوّن في البطاقة:
- أقل من (5): أسحب بطاقة أخرى.
- أكبر من (5) وزوجي: ينتقل الدور إلى زميل آخر في مجموعتي.
- أكبر من (5) وفردي: ينتقل الدور إلى مجموعة أخرى.
- العدد (0): تخرج المجموعة من اللعبة.
كيف تشبه هذه اللعبة الجمل الشرطية في البرمجة؟ أدوّن توقّعاتي.
أنواع الجمل الشرطية في بايثون (Python)
أولًا: الجملة الشرطية
الجملة الأساسية: تُنفَّذ الأوامر إذا تحقّق الشرط
``python if condition: statements ``
- if: كلمة محجوزة في لغة البرمجة بايثون (Python).
- condition: الشرط (تعبير منطقي).
- (:) علامة يجب أن توضع بعد الشرط (condition)، ونسيانها يفضي إلى خطأ في البرنامج من نوع syntax error.
- statements: أوامر برمجية تنفّذ إذا كان الشرط صحيحًا (تحقّق الشرط).
مثال:

أعدّل المثال السابق لتعيين قيمة (30) للمتغيّر (x)، وأتتبّع النتيجة المتوقعة من دون تشغيل البرنامج.
ما الذي يجب تعديله في البرنامج لطباعة جملة "x is greater than y" بدلًا من جملة "y is greater than x"؟
ثانيًا: الجملة الشرطية
مسار للشرط الصحيح ومسار آخر لغيره
``python if condition: statements1 else: statements2 ``
- if, else: كلمتان محجوزتان في لغة البرمجة بايثون (Python).
- statements1: أوامر برمجية تنفّذ إذا كان الشرط صحيحًا (تحقّق الشرط).
- statements2: أوامر برمجية تنفّذ إذا لم يكن الشرط صحيحًا (عدم تحقّق الشرط).
- (:) علامة يجب أن توضع بعد الشرط (condition) وبعد جملة else.
مثال:

أعدّل المثال السابق لتعيين قيمة (100) للمتغيّر (x)، وأتتبّع النتيجة المتوقعة من دون تشغيل البرنامج.
ثالثًا: الجملة الشرطية
شرط ثانٍ من دون مسار احتياطي
``python if condition1: statements1 elif condition2: statements2 ``
- if, elif: كلمتان محجوزتان في لغة البرمجة بايثون (Python).
- statements1: أوامر برمجية تنفّذ إذا تحقّق الشرط (condition1).
- statements2: أوامر برمجية تنفّذ إذا تحقّق الشرط (condition2).
مثال:

أعدّل المقطع البرمجي في المثال السابق لتعيين قيمة (30) للمتغيّر (x)، وأتتبّع النتيجة من دون تشغيل البرنامج.
أكتب مقطعًا برمجيًّا بلغة البرمجة بايثون (Python) لحساب قيمة المتغيّر (z) وفقًا لكل معادلة وطباعته باستخدام جملة if. , ,
رابعًا: الجملة الشرطية
ثلاثة مسارات تغطي كل الحالات
``python if condition1: statements1 elif condition2: statements2 else: statements3 ``
- if, else, elif: كلمات محجوزة في لغة البرمجة بايثون (Python).
- statements1: أوامر برمجية تنفّذ إذا تحقّق الشرط (condition1).
- statements2: أوامر برمجية تنفّذ إذا تحقّق الشرط (condition2).
- statements3: أوامر برمجية تنفّذ إذا لم يتحقّق أيّ من الشرطين (condition1, condition2).
مثال:

ما النتيجة المترتّبة على تشغيل البرنامج إذا كانت قيمة (x) تساوي (40)؟
المُعاملات المنطقية
المعاملات المنطقية: نربط الشروط أو ننفيها
1- المُعامل المنطقي (and)
نربط شرطين: لا يُنفَّذ الأمر إلا إذا تحقّقا معًا
- قد يتوقّف تنفيذ أمر برمجي معيّن في البرنامج على تحقّق مجموعة من الشروط مجتمعة.
مثال:

أعدّل قيمة المتغيّر (Avg) لتصبح (80)، ثمّ أنفّذ البرنامج. ما الناتج الظاهر على شاشة جهاز الحاسوب؟
أحذف المسافة البادئة قبل جملة الطباعة، ثمّ أنفّذ البرنامج. ما ناتج تنفيذ البرنامج؟
2- المُعامل المنطقي (or)
يكفي أن يتحقّق أحد الشروط
- قد يتوقّف تنفيذ أمر معيّن في البرنامج على تحقّق شرط من مجموعة شروط.
مثال:

3- المُعامل المنطقي (not)
ننفّذ الأمر إذا لم يتحقّق الشرط
- قد يتوقّف تنفيذ أمر في البرنامج على عدم تحقّق شرط معيّن.
مثال:

أكتب المقطع البرمجي (الكود) السابق بطريقة أخرى، ثمّ أتحقّق من النتيجة عن طريق تنفيذ البرنامج.
أعدّل قيمة المتغيّر (Avg) لتصبح (70)، ثمّ أنفّذ البرنامج. ما الناتج الظاهر على شاشة جهاز الحاسوب؟
أكتب - بالتعاون مع أفراد مجموعتي - مقطعًا برمجيًّا بلغة البرمجة بايثون (Python) لإدخال قيمة إحدى فواتير الشراء وعدد المشتريات. وطباعة عبارة "No discount" إذا كانت قيمة الفاتورة أقل من (100)، أو كان عدد المشتريات أقل من (3). وطباعة قيمة الخصم الذي يساوي 5% من قيمة الفاتورة إذا كانت قيمتها أكبر من (100)، وكان عدد المشتريات أكبر من أو يساوي (3).
الجملة الشرطية المُركَّبة
الجملة المركّبة: شرط داخل شرط
مثال:

أعدّل قيمة المتغيّر (x) لتصبح (25)، ثمّ أنفّذ البرنامج. ما الناتج الظاهر على شاشة جهاز الحاسوب؟
أحذف المسافة البادئة قبل جملة الطباعة الأخيرة. ما ناتج تنفيذ البرنامج؟
مثال:
شروط متداخلة: القسمة على عددين

ما نتيجة البرنامج إذا كانت قيمة (y) تساوي (8)؟
أكتب المقطع البرمجي (الكود) الوارد في المثال السابق في لغة البرمجة بايثون (Python)، وأتتبّع النتيجة المتوقعة من دون تشغيل البرنامج، ثمّ أتحقّق من الناتج عن طريق تنفيذ البرنامج.
أتتبّع تنفيذ البرنامج الآتي في بيئة بايثون (Python)، بوجود جملة (pass) تارة، وعدم وجودها تارة أخرى. ``python x = 4 y = 2 if x > y: pass ``
اكتشاف الأخطاء في المقطع البرمجي بلغة البرمجة بايثون (Python)
نصطاد أخطاء المقطع قبل تنفيذه
أحلّل - بالتعاون مع أفراد مجموعتي - المقطع البرمجي الآتي، وأكتشف الأخطاء الواردة فيه من دون تنفيذه، وأعمل على تصحيح هذه الأخطاء، ثمّ أنفّذ المقطع البرمجي بعد تصحيحه. ```python grade = input("Enter your grade: ")
if grade >= 85 print("A") elif grade >= 75 print("B") elif grade >= 65: print("C") else print("F") ```
مشروع لعبة تخمين الأرقام: أعدّل ما كتبناه سابقًا باستخدام الجمل الشرطية. أطبع شرحًا عن تعليمات اللعبة إن أدخل اللاعب الرقم (1). أطبع جملة: (لم يتمّ تنفيذ هذه الخصيصة بعدُ) إذا اختار اللاعب الرقم (2) أو الرقم (3). أطبع جملة: (الخيار المُدخَل غير معروف، أدخل 1 أو 2 أو 3) إذا أدخل اللاعب رقمًا غير الأرقام المشار إليها.
أقيّم تعلّمي
أقيّم تعلّمي: المعرفة والمهارات
ما الفرق بين الجملة الشرطية (if else) والجملة الشرطية (if elif) في لغة البرمجة بايثون (Python)؟
أذكر أمثلة على استخدام جملة (pass) داخل الجملة الشرطية (if).
أتتبّع البرنامج الآتي من دون تشغيله، ثمّ أذكر النتيجة المترتّبة على تشغيله. ``python x = 20 y = 5 z = 30 if not x <= y and x < z: print("y < x < z") ``
أقرأ البرنامج الآتي، وأصف ما يقوم به عامةً من دون وصف وظيفة كل أمر برمجي فيه. ما الهدف الرئيس منه؟ ``python x = int(input("Enter your grade: ")) if x > 84: print("Excellent grade.") elif x > 76: print("Very good grade.") elif x > 68: print("Good grade.") elif x > 50: print("You passed the course.") else: print("You failed the course.") ``
ما النتيجة المترتّبة على تشغيل البرنامج إذا أدخل المستخدم العدد (49)، ثمّ (55)، ثمّ (68)، ثمّ (70)، ثمّ (90)، ثمّ (78)، ثمّ (76)؟
أكتشف الأخطاء الواردة في البرنامج الآتي من دون تنفيذه. ```python n = int(input("Enter any natural number: "))
if n <= 0: print("Wrong input. Please enter a positive number.") else: sum = 0 IF n > 0: Print N print("The sum of the natural numbers is: ", sum) ```