2
الشرط: if وelse
ICT Prep 3 Term 1, Unit 1, Lesson 1: pp. 8–9
الهدفأقرأ برنامج if وelse وأحدد الرسالة التي تعرضها الشاشة لمدخل معيّن.
كلمات جديدة
الشرط (condition) · اختبار نتيجته صحيحة أو خاطئةif وelse · نفّذ كتلة إذا تحقق الشرط، وإلا فنفّذ الكتلة الأخرىالعلامة == · تختبر هل القيمتان متساويتانالإزاحة (indentation) · المسافات في أول السطر التي تبين الكتلة التي ينتمي إليها
الشرح
والآن القرار. يقرأ البرنامج عددًا ويختبر الشرط num % 2 == 0 ثم يعرض رسالة إذا تحقق الشرط ورسالة أخرى إذا لم يتحقق. انتبه إلى التفاصيل. يستخدم الاختبار علامتي يساوي لأن علامة = الواحدة تخزّن قيمة في متغير، أما == فتسأل سؤالًا. والسطران if ...: وelse: ينتهي كل منهما بنقطتين رأسيتين. والأسطر تحتهما مزاحة أربع مسافات، وهذا يخبر بايثون أي الأسطر تتبع أي فرع. والسطر غير المزاح، مثل آخر سطر في المثال التالي، يعمل في كل الحالات. وفي خريطة التدفق يمثل المعين القرار وله سهم نعم وسهم لا. وحين يكتب المستخدم 7 يكون الباقي ١ ويكون الشرط خاطئًا، فتعرض الشاشة Odd number.
أمثلة محلولة
Python
1num = int(input("Enter a number: ")) 2if num % 2 == 0: 3 print("Even number") 4else: 5 print("Odd number")
Output
Enter a number: 12 Even number
Python
1num = int(input("Enter a number: ")) 2if num % 2 == 0: 3 print("Even number") 4else: 5 print("Odd number") 6print("Done")
Output
Enter a number: 7 Odd number Done
نشاط الفصل
على الورق غيّر البرنامج ليقول Positive حين يكون num > 0 وNot positive فيما عدا ذلك. ارسم خريطة التدفق بالمعين، وقل ما تعرضه الشاشة مع -3 و0 و8.
تدرّب
1
يكتب المستخدم 10. ماذا يعرض برنامج هذا الدرس؟
Even number لأن 10 % 2 يساوي 0.
2
ما الفرق بين = و==؟
= تخزّن قيمة في متغير، و== تختبر تساوي قيمتين.
3
بماذا يجب أن ينتهي السطران if num % 2 == 0 وelse؟
نقطتين رأسيتين (:).
4
لماذا يظهر السطر print("Done") مع أي مدخل؟
لأنه غير مزاح فلا يتبع أي فرع ويعمل دائمًا.