العمليات المنطقية

4.3 العمليات المنطقية

أهداف التعلم

في نهاية هذا القسم، ينبغي أن تكون قادرًا على:

  • شرح الغرض من العوامل المنطقية.
  • وصف جداول الحقيقة لـ and و or و not.
  • إنشاء تعبيرات باستخدام العوامل المنطقية.
  • تفسير تعليمات if-else مع شروط تستخدم العوامل المنطقية.

العامل المنطقي: and

غالبًا ما تستند القرارات إلى شروط متعددة. مثال: قد يتحقق برنامج يطبع ما إذا كان العمل مفتوحًا من أن hour >= 9 و hour < 17. يأخذ العامل المنطقي مُعامِلات شرطية وينتج True أو False.

تحتوي Python على ثلاثة عوامل منطقية: and، or، و not. يأخذ العامل and مُعامِلين شرطيين ويُرجع True إذا كان كلا الشرطين صحيحين.

p q p and q
True
True
True
True
False
False
False
True
False
False
False
False
Table 4.1 جدول الحقيقة: p و q.

نقطة تحقق

مثال: دخول المتحف

مفاهيم تطبيقية

استخدام العامل and

1.
بالنظر إلى المثال أعلاه. يحاول جايدن الدخول عندما تكون السعة 2500 وهناك ساعتان قبل الإغلاق. هل يمكن لجايدن الدخول؟
  1. نعم
  2. لا
2.
بالنظر إلى المثال أعلاه. تحاول دارسي الدخول عندما تكون السعة 3000. ما قيم hrs_to_close التي ستمكن دارسي من الدخول؟
  1. hrs_to close > 1.0
  2. لا توجد قيمة كهذه
3.
بافتراض أن is_admin = False و is_online = True، فما قيمة is_admin و is_online؟
  1. True
  2. False
4.
بافتراض أن x = 8 و y = 21، فما القيمة النهائية لـ z؟
if (x < 10) and (y > 20):
  z = 5
else:
  z = 0
  1. 0
  2. 5

العامل المنطقي: or

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

p q p or q
True
True
True
True
False
True
False
True
True
False
False
False
Table 4.2 جدول الحقيقة: p أو q.

نقطة تحقق

مثال: مِحَث البث

مفاهيم تطبيقية

استخدام العامل or

5.
بافتراض أن days = 21 و is_damaged هي False، هل تتم معالجة الاسترداد؟
if (days < 30) or is_damaged:
  # معالجة استرداد المبلغ
  1. نعم
  2. لا
6.
ما قيم age التي لا يوجد فيها خصم؟
if (age < 12) or (age > 65):
  # تطبيق خصم الطالب/كبار السن
  1. age >= 12
  2. age <= 65
  3. (age >= 12) and (age <= 65)
7.
بافتراض أن a = 9 و b = 10، هل ينجح الاختبار؟
if (a%2 == 0 and b%2 == 1) or (a%2 == 1 and b%2 == 0):
  # نجح الاختبار
else:
  # فشل الاختبار
  1. نعم
  2. لا

العامل المنطقي: not

إذا لم يكن الحاسوب قيد التشغيل، فاضغط على زر الطاقة. يأخذ العامل not مُعامِلًا شرطيًا واحدًا ويُرجع True عندما يكون المُعامِل خاطئًا ويُرجع False عندما يكون المُعامِل صحيحًا.

not هو عامل مفيد يمكن أن يجعل الشرط أوضح ويمكن استخدامه لتبديل قيمة منطقية. مثال: is_on = not is_on.

p not p
True
False
False
True
Table 4.3 جدول الحقيقة: not p.

نقطة تحقق

مثال: تحذير الغوص

مفاهيم تطبيقية

استخدام العامل not

8.
بافتراض أن x = 13، فما قيمة not(x < 10)؟
  1. True
  2. False
9.
بافتراض أن x = 18، هل x ضمن النطاق الصحيح؟
if not(x > 15 and x < 20):
  # x ضمن النطاق الصحيح
  1. نعم
  2. لا
10.
بافتراض أن is_turn = False و timer = 65، فما القيمة النهائية لـ is_turn؟
if timer > 60:
  is_turn = not is_turn
  1. True
  2. False

جرّب بنفسك

حدود السرعة

اكتب برنامجًا يقرأ سرعة السيارة كعدد صحيح ويتحقق مما إذا كانت سرعة السيارة ضمن حدود الطريق السريع. يجب أن تكون سرعة السيارة 45 ميلاً في الساعة على الأقل ولكن لا تزيد عن 70 ميلاً في الساعة على الطريق السريع.

إذا كانت السرعة ضمن الحدود، اطبع "قيادة جيدة". وإلا، اطبع "اتبع حدود السرعة".