ورقاتورقات تعليمية
تسجيل الدخولإنشاء حساب
درس

شرح درس إدخال البيانات اول متوسط الفصل الأول

تتيح الدالة ⁦input()⁩ للبرنامج أن يسأل المستخدم ويستقبل إجابته، وتكون الإجابة دائمًا نصًّا، فإن أردنا عملًا حسابيًا حوّلناها إلى عدد.

المرحلة
المتوسطة
المادة
المهارات الرقمية
وقت القراءة
15 دقائق
الاختبار
متاح

🎯أهداف الدرس

  • يستعمل الدالة ⁦input()⁩ لقراءة بيانات من المستخدم.
  • يعرف أن ⁦input()⁩ تعيد نصًّا دائمًا.
  • يحوّل النص إلى عدد بـ ⁦int()⁩ و ⁦float()⁩.
  • يكتب برنامجًا بسيطًا يحسب معدل درجتين.
  • يفسّر الخطأ ⁦ValueError⁩ ويتجنبه.

💡المفهوم الأساسي

تتيح الدالة ⁦input()⁩ للبرنامج أن يسأل المستخدم ويستقبل إجابته، وتكون الإجابة دائمًا نصًّا، فإن أردنا عملًا حسابيًا حوّلناها إلى عدد.

شرح الدرس

حين يسألك معلمك «ما اسمك؟» فتجيب، يحدث تفاعل بين شخصين. الدالة ⁦input()⁩ تجعل برنامجك يسأل ويستقبل الجواب كما يفعل المعلم.

قراءة نص من المستخدم

تعرض ⁦input()⁩ السؤال الذي بين القوسين وتنتظر أن يكتب المستخدم إجابته ويضغط ⁦Enter⁩، ثم نخزّن الإجابة في متغير.

name = input("ما اسمك؟ ")
print("مرحبا", name)

إذا كتب المستخدم ⁦سلمان⁩ فسيطبع البرنامج ⁦مرحبا سلمان⁩.

الإجابة دائمًا نص

حتى لو كتب المستخدم رقمًا فإن ⁦input()⁩ تعيده نصًّا من النوع ⁦str⁩. وهذا يسبب خطأً منطقيًا عند الجمع:

a = input("الرقم الأول: ")
b = input("الرقم الثاني: ")
print(a + b)

إذا أدخل المستخدم ⁦5⁩ ثم ⁦3⁩ فسيظهر ⁦53⁩ وليس ⁦8⁩ لأن جمع النصوص يلصق بعضها ببعض.

تحويل النص إلى عدد

  • ⁦int()⁩: تحوّل النص إلى عدد صحيح.
  • ⁦float()⁩: تحوّل النص إلى عدد عشري.
a = int(input("الرقم الأول: "))
b = int(input("الرقم الثاني: "))
print("المجموع:", a + b)

وإذا أدخل المستخدم ⁦5⁩ ثم ⁦3⁩ فسيظهر ⁦المجموع: 8⁩.

برنامج حساب المعدل

math = float(input("درجة الرياضيات: "))
science = float(input("درجة العلوم: "))
average = (math + science) / 2
print("المعدل:", average)

إذا أدخل المستخدم ⁦80⁩ ثم ⁦90⁩ فسيظهر ⁦المعدل: 85.0⁩.

الخطأ ValueError

إذا طلب البرنامج رقمًا بـ ⁦int()⁩ وكتب المستخدم كلمة مثل ⁦abc⁩ أو عددًا عشريًا مثل ⁦2.5⁩ في ⁦int()⁩ فسيتوقف البرنامج برسالة ⁦ValueError⁩ لأن النص لا يصلح للتحويل.

تذكّر

ضع ⁦int()⁩ أو ⁦float()⁩ حول ⁦input()⁩ كلما احتجت أن تُجري حسابًا على ما أدخله المستخدم.

نشاط تعليمي

التطبيق الأول

اكتب برنامجًا يسأل عن اسم الطالب وصفه ثم يطبع جملة ترحيب بهما.

الإجابة

أمرا ⁦input⁩ يخزنان القيمتين ثم أمر ⁦print⁩ يطبعهما.

الهدف

أن يستعمل الطالب ⁦input⁩ للنصوص.

الموقف الثاني

كتب طالب برنامجًا يجمع رقمين بـ ⁦input⁩ فظهر ⁦1020⁩ عند إدخال ⁦10⁩ و ⁦20⁩ فما السبب والحل؟

الإجابة

السبب أن ⁦input⁩ تعيد نصًّا، والحل تغليفها بـ ⁦int()⁩.

الهدف

أن يحوّل الطالب النص إلى عدد.

المسألة الثالثة

اكتب برنامجًا يقرأ طول مستطيل وعرضه ويطبع مساحته.

الإجابة

قراءة العددين بـ ⁦float(input())⁩ ثم حاصل ضربهما وطباعته.

الهدف

أن يطبّق الطالب القراءة والحساب.

ملاحظات مهمة

  1. 1⁦input()⁩ تعيد نصًّا دائمًا.
  2. 2لا يمكن إجراء العمليات الحسابية على النصوص كما على الأرقام.
  3. 3⁦int()⁩ للأعداد الصحيحة و ⁦float()⁩ للأعداد العشرية.
  4. 4كتابة غير رقمية داخل ⁦int()⁩ تسبب ⁦ValueError⁩.

أخطاء شائعة

  • ✗ خطأجمع قيمتين من ⁦input()⁩ دون تحويل.
    ✓ الصواب: نلفّهما بـ ⁦int()⁩ أو ⁦float()⁩.
  • ✗ خطأإدخال عدد عشري في برنامج يستعمل ⁦int()⁩.
    ✓ الصواب: نستعمل ⁦float()⁩ للأعداد العشرية.
+عرض جميع الأخطاء (3) ←إخفاء الأخطاء الإضافية
  • ✗ خطأنسيان وضع سؤال واضح داخل ⁦input()⁩.
    ✓ الصواب: نكتب رسالة تعرّف المستخدم بما يُطلب منه.

ملخص الدرس

  • ⁦input()⁩ تقرأ من المستخدم وتعيد نصًّا.
  • نحوّل النص إلى عدد بـ ⁦int()⁩ أو ⁦float()⁩.
  • جمع النصوص يلصقها، وجمع الأعداد يحسب مجموعها.
  • إدخال غير رقمي في التحويل يسبب ⁦ValueError⁩.

هل أتقنت الدرس؟اختبر نفسك من خلال اختبار قصير من عدة أسئلة.

حزمة الدرس