☰ خطة العام · تكنولوجيا المعلومات والاتصالات (بالعربية)

الباقي والقرار والمتوسط

الأسبوع 2 · الدرس ١ «التفكير الحاسوبي وحل المشكلات» (٢): الزوجي والفردي والمتوسط · 3 دروس
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⁩.

Startread numnum % 2 == 0yesnoEven numberOdd numberEnd
أمثلة محلولة
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
يكتب المستخدم ⁦12⁩ في البرنامج. الباقي ⁦0⁩ فيتحقق الشرط وتعرض الشاشة ⁦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
السطر الأخير غير المزاح يعمل دائمًا. هنا يكتب المستخدم ⁦7⁩: يعرض فرع ⁦else⁩ الرسالة ⁦Odd⁩ ⁦number⁩ ثم تظهر ⁦Done⁩ مع أي مدخل لأن ⁦print("Done")⁩ لا يتبع أي فرع.
نشاط الفصل

على الورق غيّر البرنامج ليقول ⁦Positive⁩ حين يكون ⁦num > 0⁩ و⁦Not⁩ ⁦positive⁩ فيما عدا ذلك. ارسم خريطة التدفق بالمعين، وقل ما تعرضه الشاشة مع ⁦-3⁩ و⁦0⁩ و⁦8⁩.

تدرّب
1
يكتب المستخدم ⁦10⁩. ماذا يعرض برنامج هذا الدرس؟
2
ما الفرق بين ⁦=⁩ و⁦==⁩؟
3
بماذا يجب أن ينتهي السطران ⁦if num % 2 == 0⁩ و⁦else⁩؟
4
لماذا يظهر السطر ⁦print("Done")⁩ مع أي مدخل؟