الشروط: اتخذ القرار
عوامل المقارنة والعوامل المنطقية والجمل الشرطية • ⏱ نحو 40 دقيقة
ما هي الشروط Conditions؟
الشروط تعبيرات منطقية نختبر بها حالة معيّنة داخل البرنامج، وتُرجع قيمة من نوع Boolean هي إمّا True (صحيح) أو False (خطأ). وبحسب الإجابة يتخذ البرنامج قرارًا ويختار أحد المسارين. نستخدم في ذلك: عوامل المقارنة والعوامل المنطقية والتعليمات الشرطية.
عوامل المقارنة Comparison Operators (نفترض x = 1 و y = 2)
== يساوي
x == y→ False
!= لا يساوي
x != y→ True
> أكبر من
x > y→ False
< أصغر من
x < y→ True
>= أكبر من أو يساوي
x >= y→ False
<= أصغر من أو يساوي
x <= y→ True
لاحظ: العامل = للتخصيص (يعطي قيمة للمتغير)، أمّا العامل == فللمقارنة بين عنصرين.
جدول نتائج المقارنة من الكتاب
x = 1 ، y = 1
== True != False > False < False >= True <= True
x = 1 ، y = 2
== False != True > False < True >= False <= True
x = 2 ، y = 1
== False != True > True < False >= True <= False
🧪 مختبر الشروط
غيّر القيم وشاهد نتيجة كل مقارنة وعملية منطقية.
عوامل المقارنة
- x == yFalse
- x != yTrue
- x > yFalse
- x < yTrue
- x >= yFalse
- x <= yTrue
العوامل المنطقية (اضغط لقلب القيمة)
- x and yFalse
- x or yTrue
- not xFalse
🧪 مثال 1: مقارنة نص ورقم
أدخل Muhammad ثم 40. إذا كانت المقارنة صحيحة يُرجع البرنامج True، وإذا كانت خاطئة يُرجع False.
اضغط «شغّل» لترى الناتج هنا.
العوامل المنطقية Logical Operators
and — كلاهما معًا
تُرجع True إذا كانت القيمتان المنطقيتان كلتاهما صحيحة، وإلا False.
or — واحدة تكفي
تُرجع True إذا كانت إحدى القيمتين على الأقل صحيحة، وإلا False.
not — تعكس القيمة
تُرجع False إذا كانت القيمة صحيحة، وإلا True.
جدول نتائج العمليات المنطقية من الكتاب
x = True ، y = True
x and y → True x or y → True not x → False
x = True ، y = False
x and y → False x or y → True not x → False
x = False ، y = True
x and y → False x or y → True not x → True
x = False ، y = False
x and y → False x or y → False not x → True
🧪 مثال 2: التحقق من درجات الطالب
غيّر الدرجتين وانظر كيف تتغير النتائج الثلاث.
اضغط «شغّل» لترى الناتج هنا.
التعليمات الشرطية Conditional Statements
الكتلة البرمجية Block of Code
سطر أو أكثر من التعليمات تشترك في نفس المسافة البادئة.
النقطتان الرأسيتان ( : )
تبدأ الكتلة بعد النقطتين اللتين تُوضعان في نهاية سطر التعليمة الشرطية.
المسافة البادئة Indentation
تحدد الأوامر التابعة للشرط، والتي تُنفَّذ كوحدة واحدة عند تحقق الشرط، وبها تنتهي الكتلة.
نقطتان رأسيتان في نهاية السطر • كتلة بمسافة بادئة • خارج الكتلة بلا مسافة
if student_score >= 90:
print('Excellent')
print('Done')يجب الالتزام بالمسافات البادئة بصورة صحيحة لتجنّب الأخطاء البرمجية.
1) الشرط البسيط if
تعليمة شرطية تُستخدم لتنفيذ مجموعة أوامر عند تحقق شرط واحد فقط. إذا كان الشرط True تُنفَّذ الكتلة، وإذا كان False يتخطاها البرنامج ولا يُنفَّذ شيء.
🧪 مثال 3: تقدير الطالب Excellent
جرّب 60.5 ثم 95: لا يُطبع شيء إذا لم يتحقق الشرط.
اضغط «شغّل» لترى الناتج هنا.
2) الشرط البديل if-else
تُنفَّذ كتلة عند تحقق الشرط، وتُنفَّذ كتلة بديلة عند عدم تحققه. أي أن أحد المسارين يُنفَّذ دائمًا.
🧪 مثال 4: رسالة بحسب الدرجة
جرّب 60 ثم 90.
اضغط «شغّل» لترى الناتج هنا.
🧪 مثال 5: تسجيل الدخول بشرطين معًا
استخدمنا and لأن الشرطين معًا يجب أن يتحققا. جرّب admin و123@q8، ثم غيّر أحدهما.
اضغط «شغّل» لترى الناتج هنا.
3) الشرط المتداخل Nested if
تعليمة شرطية تحتوي على تعليمة شرطية أخرى بداخلها، وتُستخدم لفحص أكثر من شرط داخل البرنامج. كل مستوى تداخل جديد يحتاج مسافة بادئة إضافية.
🧪 مثال 6: فحص اسم المستخدم ثم كلمة المرور
جرّب: admin وكلمة مرور خاطئة، ثم root.
اضغط «شغّل» لترى الناتج هنا.
4) الشرط المتسلسل if-elif-else
يفحص عدة شروط متتابعة، فيُنفَّذ أول شرط يتحقق فقط ويتم تجاهل بقية الشروط.
ترتيب الشروط مهم! نكتب الشروط من الأضيق إلى الأوسع. لو وضعنا score >= 50 قبل score >= 90 والدرجة 95، لطُبعت Acceptable grade بدلًا من Excellent grade.
🧪 مثال 7: تقدير الطالب بحسب الدرجة
جرّب 95 و75 و55 و30. ثم انقل شرط 50 إلى الأعلى وانظر ماذا يحدث.
اضغط «شغّل» لترى الناتج هنا.
مثال 8: العدد الأقصى للإلكترونات في كل مستوى طاقة (من الكيمياء)
K — المستوى الأول
2 إلكترونًا
L — المستوى الثاني
8 إلكترونًا
M — المستوى الثالث
18 إلكترونًا
N — المستوى الرابع
32 إلكترونًا
🧪 برنامج مستويات الطاقة
الدالة upper() تحوّل الحرف المُدخل إلى حرف كبير، فيصحّ إدخال k أو K. وإن لم يكن الرمز K أو L أو M أو N يطبع Invalid input.
اضغط «شغّل» لترى الناتج هنا.
ملخص الجمل الشرطية
if — الشرط البسيط
تنفيذ كتلة عند تحقق شرط واحد فقط.
if-else — الشرط البديل
كتلة عند تحقق الشرط، وكتلة بديلة عند عدم تحققه.
nested if — الشرط المتداخل
تعليمة شرطية داخل تعليمة شرطية أخرى لفحص أكثر من شرط.
if-elif-else — الشرط المتسلسل
عدة شروط متتابعة، ويُنفَّذ أول شرط يتحقق فقط.
ورقة العمل 11: برنامج حساب الخصومات على المنتجات
المشكلة
تصميم برنامج يحسب التكلفة النهائية لشراء منتجات، وفقًا لقائمة الخصومات المُعلنة.
الخوارزمية
إذا كان السعر الإجمالي أكبر من 1000 → خصم 25%. وإذا كان بين 500 و1000 → خصم 15%. وإذا كان أقل من 500 → لا يوجد خصم. السعر النهائي = السعر الإجمالي − الخصم.
🧪 حل ورقة العمل 11
جرّب 1200 ثم 800 ثم 300 (النواتج: 900.0 و680.0 و300.0).
اضغط «شغّل» لترى الناتج هنا.
ورقة العمل 12: برنامج تصميم آلة حاسبة
المشكلة
استخدام المعاملات الحسابية ( + ، - ، * ، / ) في تنفيذ العمليات الحسابية (الجمع، الطرح، الضرب، القسمة).
الخوارزمية
استقبال العدد الأول ثم الثاني ثم المعامل الحسابي. إذا كان + يجمع، وإذا كان - يطرح، وإذا كان * يضرب، وإذا كان / يقسم الأول على الثاني (مع التأكد أن الثاني لا يساوي صفرًا وطباعة الرسالة It cannot be divided by zero).
🧪 حل ورقة العمل 12
جرّب: 9 و3 و*، ثم 6 و0 و/، ثم 6 و3 و%.
اضغط «شغّل» لترى الناتج هنا.
أنهيت القراءة! حان وقت 🎮 اللعب