☰ Year plan · Communication Technology (Arabic)

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

Week 2 · Unit 1, Lesson 1 Computational Thinking and Problem Solving (2) · 3 lessons
3

متوسط ثلاثة أرقام

ICT Prep 3 Term 1, Unit 1, Lesson 1: pp. 8–9
الهدفأكتب متوسط ثلاثة أعداد في بايثون وأتجنب فخ الأقواس.
كلمات جديدة
المتوسط (⁦average⁩) · مجموع القيم مقسومًا على عددهاالأقواس · أقواس تجعل بايثون تحسب ما بداخلها أولًاالعلامة ⁦/⁩ · قسمة نتيجتها عدد عشري دائمًاالعلامة ⁦//⁩ · قسمة تحتفظ بالجزء الصحيح من الناتج فقط
الشرح

متوسط ثلاثة أعداد هو مجموعها مقسومًا على ٣. والنمط هو نفسه في أي متوسط: نجمع كل القيم ثم نقسم على عددها. وللأقواس أهمية كبيرة. تنفّذ بايثون القسمة قبل الجمع، فالتعبير ⁦a + b + c / 3⁩ يقسم ⁦c⁩ وحدها. ومع ⁦50⁩ و⁦60⁩ و⁦70⁩ يعطي السطر الصحيح ⁦60.0⁩ ويعطي السطر الخاطئ ⁦133.33333333333334⁩. ولاحظ أيضًا أن الإجابة ⁦60.0⁩ وليست ⁦60⁩: فالعلامة ⁦/⁩ تعطي دائمًا ناتجًا عشريًا حتى حين تنتهي القسمة تمامًا. أما ⁦//⁩ فتعطي الجزء الصحيح من الناتج: ⁦7 / 2⁩ يساوي ⁦3.5⁩ لكن ⁦7 // 2⁩ يساوي ⁦3⁩. وبعض الكتب تقول إنه يجب استخدام ⁦float⁩ للمتوسط، لكننا نقرأ الأعداد هنا بـ ⁦int⁩ والمتوسط صحيح، لأن ⁦/⁩ تؤدي المطلوب.

Python
1a = int(input("First mark: "))
2b = int(input("Second mark: "))
3c = int(input("Third mark: "))
4avg = (a + b + c) / 3
5print(avg)
Output
First mark: 50
Second mark: 60
Third mark: 70
60.0
أمثلة محلولة
Python
1a = 50
2b = 60
3c = 70
4print((a + b + c) / 3)
5print(a + b + c / 3)
Output
60.0
133.33333333333334
السطران التاليان يبدآن من الدرجات نفسها. في الأول أقواس، فيُقسم المجموع كله على ٣. وفي الثاني تُقسم ⁦c⁩ وحدها على ٣ ثم يُضاف الباقي. ضع المجموع دائمًا داخل أقواس.
Python
1print(7 / 2)
2print(7 // 2)
3print((50 + 60 + 70) // 3)
Output
3.5
3
60
تريد منى الجزء الصحيح فقط. السطر ⁦7 / 2⁩ يعطي ⁦3.5⁩ والسطر ⁦7 // 2⁩ يعطي ⁦3⁩، ومجموع ⁦180⁩ مقسومًا على ٣ بالعلامة ⁦//⁩ يعطي ⁦60⁩ من دون فاصلة عشرية.
Python
1a = int(input("First mark: "))
2b = int(input("Second mark: "))
3c = int(input("Third mark: "))
4avg = (a + b + c) / 3
5print(avg)
Output
First mark: 40
Second mark: 70
Third mark: 100
70.0
تحقق باليد: الدرجات ⁦40⁩ و⁦70⁩ و⁦100⁩ مجموعها ⁦210⁩، و⁦210⁩ مقسومة على ٣ تساوي ⁦70⁩. فيعرض البرنامج ⁦70.0⁩.
نشاط الفصل

خطط لبرنامج يوجد متوسط أربع درجات اختبارات قصيرة لتلميذ من خيالك. اكتب المهارات الأربع والقانون بالأقواس واختبره بالدرجات ⁦8⁩ و⁦6⁩ و⁦10⁩ و⁦8⁩. ثم احذف الأقواس وانظر باليد ما الخطأ.

تدرّب
1
لماذا لا يعطي ⁦a + b + c / 3⁩ المتوسط؟
2
ماذا يعرض ⁦(50 + 60 + 70) / 3⁩؟
3
كم يساوي ⁦9 // 2⁩ وكم يساوي ⁦9 / 2⁩؟
4
يقول صديق إن المتوسط يحتاج إلى ⁦float⁩ لا ⁦int⁩ حتى نقرأ الأعداد. هل هذا صحيح؟