☰ Year plan · Communication Technology (Arabic)

الخوارزميات وبايثون (١)

Week 11 · Chapter 12 Programming (1): algorithms and flowcharts, Python basics: variables, arithmetic, input, loops and branching · 3 lessons
2

بايثون: المتغيرات والأعداد والنصوص

ICT Secondary 1 Term 1, Chapter 12, Lessons 12-1 to 12-3: pp. 167–181
الهدفأخزّن القيم في متغيرات، وأجري الحساب في بايثون، وأتنبأ بالمخرجات الدقيقة لبرامج قصيرة.
كلمات جديدة
المتغير (⁦variable⁩) · صندوق له اسم يخزن قيمةالإسناد (⁦assignment⁩) · العلامة ⁦=⁩ التي تخزن القيمة التي على اليمين في الاسم الذي على اليسارالعامل الحسابي (⁦operator⁩) · علامة مثل ⁦+ - * / // % **⁩ تجري عملية حسابيةالدالة ⁦input()⁩ · تطلب من المستخدم أن يكتب شيئًا وتعيده نصًا
الشرح

بايثون لغة برمجة تقرأ أسطرك وتنفذها سطرًا بعد سطر. تعرض ⁦print⁩ شيئًا على الشاشة. والمتغير صندوق له اسم: في ⁦age = 15⁩ العلامة ⁦=⁩ إسناد، وليست «يساوي» الرياضيات: هي تخزّن ١٥ في الصندوق المسمى ⁦age⁩. ويوضع النص بين علامتي تنصيص مستقيمتين. وفي بايثون عوامل حسابية: ⁦+ - *⁩ للجمع والطرح والضرب؛ و⁦/⁩ للقسمة العادية وتعطي دائمًا عددًا فيه جزء عشري (⁦6 / 2⁩ تعطي ⁦3.0⁩ لا ⁦3⁩)؛ و⁦//⁩ لقسمة الأعداد الصحيحة (⁦7 // 2⁩ تساوي ٣)؛ و⁦%⁩ للباقي (⁦7 % 2⁩ تساوي ١)؛ و⁦**⁩ للقوى (⁦7 ** 2⁩ تساوي ٤٩). والدالة ⁦input⁩ تعيد نصًا دائمًا، حتى لو كتب المستخدم أرقامًا، فنحوله إلى عدد بالدالة ⁦int()⁩ (عدد صحيح) أو ⁦float()⁩ (عدد فيه جزء عشري)، وتحوّل ⁦str()⁩ العدد إلى نص. واختر أسماء لا تخفي الأدوات الجاهزة: استخدم ⁦total⁩ لا ⁦sum⁩. وتذكر ما قلناه في الأسبوع الرابع عن الفرق بين الحرف والعدد: إذا كتب المستخدم ⁦5⁩ ونفّذ البرنامج ⁦x + "1"⁩ على النص ⁦"5"⁩ فإن علامة الجمع تلصق نصين وتعطي ⁦51⁩.

Python
1a = 7
2b = 2
3print(a + b)
4print(a - b)
5print(a * b)
6print(a / b)
7print(a // b)
8print(a % b)
9print(a ** b)
Output
9
5
14
3.5
3
1
49
أمثلة محلولة
Python
1name = "Salma"
2age = 15
3print("Hello", name)
4print(age + 1)
Output
Hello Salma
16
برنامج أول. الفاصلة في ⁦print⁩ تضع مسافة بين العناصر. و⁦age + 1⁩ عملية حسابية، فيعرض السطر الثاني ١٦.
Python
1a = 6
2print(a / 2)
3print(5 / 3)
Output
3.0
1.6666666666666667
القسمة تعطي عددًا عشريًا. ⁦a / 2⁩ مع ⁦a = 6⁩ تعطي ⁦3.0⁩، و⁦5 / 3⁩ تعطي عددًا عشريًا طويلًا يقطعه الحاسوب عند نحو ١٦ رقمًا.
Python
1x = input("Number: ")
2y = int(x) + 1
3print(y)
Output
Number: 4
5
الدالة ⁦input⁩ تعطي نصًا، فنحتاج إلى ⁦int()⁩ قبل الجمع. كتب المستخدم ٤ (تظهر بعد الرسالة).
نشاط الفصل

على الورق تنبأ بما تعرضه الشاشة في: ⁦a = 9, b = 4⁩ ثم ⁦print(a // b)⁩ و⁦print(a % b)⁩ و⁦print(a / b)⁩ و⁦print(a ** 2)⁩. اكتب الأسطر الأربعة وقل أيها يعرض فاصلة عشرية. ثم تحقق من كل سطر بحسابه مرة أخرى.

تدرّب
1
ماذا تعرض ⁦print(9 // 2)⁩؟
2
ماذا تعرض ⁦print(10 % 4)⁩؟
3
إذا كان ⁦a = 6⁩، ماذا تعرض ⁦print(a / 2)⁩؟
4
لماذا يجب أن نكتب ⁦int(input(...))⁩ قبل الجمع على ما كتبه المستخدم؟