الثانوية العامة 2026الاستعلام عن النتيجةاعرف الكليات المناسبة لمجموعكتنسيق 2026

الحاسب الآلي · الصف الثالث الإعدادي

أسئلة: معالجة أخطاء المدخلات للمستخدم في لغة Python

15 سؤال اختيار من متعدد و4 سؤال مقالي بنموذج إجابة، لمراجعة درس «معالجة أخطاء المدخلات للمستخدم في لغة Python» من الحاسب الآلي (الصف الثالث الإعدادي). راجع الأسئلة أدناه، أو اختبر نفسك فورًا.

اختبار سريع من 10 أسئلة عشوائية من بنك الأسئلة أعلاه — تُخلط الأسئلة والاختيارات في كل مرة، فلن يتكرر الاختبار بنفس الترتيب.

اختيار من متعدد

  1. الخطأ الذي يظهر قبل تشغيل البرنامج لمخالفة قواعد اللغة يُسمى:

    • خطأ التشغيل
    • خطأ الصياغة
    • الخطأ المنطقي
    • الاستثناء
    عرض الإجابة والتعليل

    الإجابة الصحيحة: خطأ الصياغة

    خطأ الصياغة (Syntax Error) مثل نسيان النقطتين بعد if\texttt{if}.

  2. البرنامج الذي يعمل دون توقف لكنه يعطي نتيجة خاطئة فيه:

    • خطأ صياغة
    • خطأ منطقي
    • خطأ تشغيل
    • استثناء ValueError\texttt{ValueError}
    عرض الإجابة والتعليل

    الإجابة الصحيحة: خطأ منطقي

    الخطأ المنطقي لا يوقف البرنامج، مثل كتابة +\texttt{+} بدل *\texttt{*}.

  3. يوضع الكود الذي قد يسبب خطأً أثناء التشغيل داخل كتلة:

    • except\texttt{except}
    • else\texttt{else}
    • try\texttt{try}
    • def\texttt{def}
    عرض الإجابة والتعليل

    الإجابة الصحيحة: try\texttt{try}

    نضع الكود المحتمل الخطأ داخل try\texttt{try}، ونعالج الخطأ في except\texttt{except}.

  4. أخطاء التشغيل الناتجة غالبًا عن مدخلات المستخدم تُسمى:

    • أخطاء الصياغة
    • الاستثناءات
    • الأخطاء المنطقية
    • المعاملات
    عرض الإجابة والتعليل

    الإجابة الصحيحة: الاستثناءات

    أخطاء التشغيل (Runtime Errors) تسمى الاستثناءات.

  5. جملة try\texttt{try} تكتشف الأخطاء المنطقية في البرنامج.

    • صواب
    • خطأ
    عرض الإجابة والتعليل

    الإجابة الصحيحة: خطأ

    try\texttt{try} تلتقط أخطاء التشغيل فقط، أما الأخطاء المنطقية فتحتاج إلى اختبار البرنامج بقيم معروفة النتائج.

  6. ما الخطأ الذي يظهر عند تنفيذ int("abc")\texttt{int("abc")}؟

    • ZeroDivisionError\texttt{ZeroDivisionError}
    • IndexError\texttt{IndexError}
    • NameError\texttt{NameError}
    • ValueError\texttt{ValueError}
    عرض الإجابة والتعليل

    الإجابة الصحيحة: ValueError\texttt{ValueError}

    int()\texttt{int()} لا تستطيع تحويل النص "abc"\texttt{"abc"} إلى عدد صحيح.

  7. ما الخطأ الذي يظهر عند تنفيذ 10 / 0\texttt{10 / 0}؟

    • ValueError\texttt{ValueError}
    • ZeroDivisionError\texttt{ZeroDivisionError}
    • SyntaxError\texttt{SyntaxError}
    • لا يظهر خطأ
    عرض الإجابة والتعليل

    الإجابة الصحيحة: ZeroDivisionError\texttt{ZeroDivisionError}

    القسمة على صفر غير ممكنة وتسبب ZeroDivisionError\texttt{ZeroDivisionError}.

  8. نسي مبرمج كتابة النقطتين بعد if x > 5\texttt{if x > 5}. ما نوع الخطأ؟

    • خطأ صياغة
    • خطأ منطقي
    • ValueError\texttt{ValueError}
    • ZeroDivisionError\texttt{ZeroDivisionError}
    عرض الإجابة والتعليل

    الإجابة الصحيحة: خطأ صياغة

    مخالفة قواعد كتابة اللغة خطأ صياغة يظهر قبل التشغيل.

  9. برنامج لحساب مساحة المستطيل كتب فيه المبرمج length + width\texttt{length + width} بدل length * width\texttt{length * width}. ما نوع الخطأ؟

    • خطأ صياغة
    • استثناء TypeError\texttt{TypeError}
    • خطأ منطقي
    • لا يوجد خطأ
    عرض الإجابة والتعليل

    الإجابة الصحيحة: خطأ منطقي

    البرنامج يعمل لكن النتيجة خاطئة، وهذا خطأ منطقي.

  10. متى تُنفذ كتلة except ValueError:\texttt{except ValueError:}؟

    • عند حدوث الخطأ ValueError\texttt{ValueError} داخل كتلة try\texttt{try}
    • دائمًا بعد try\texttt{try}
    • قبل try\texttt{try}
    • عند عدم حدوث أي خطأ
    عرض الإجابة والتعليل

    الإجابة الصحيحة: عند حدوث الخطأ ValueError\texttt{ValueError} داخل كتلة try\texttt{try}

    إذا لم يحدث خطأ تُتجاهل كتلة except\texttt{except}، وإذا حدث الخطأ المحدد ينتقل التنفيذ إليها فورًا.

  11. الكتلة التي تُنفذ في كل الأحوال سواء حدث خطأ أم لا هي:

    • finally\texttt{finally}
    • else\texttt{else}
    • except\texttt{except}
    • try\texttt{try}
    عرض الإجابة والتعليل

    الإجابة الصحيحة: finally\texttt{finally}

    else\texttt{else} تُنفذ عند عدم حدوث خطأ، وfinally\texttt{finally} تُنفذ دائمًا.

  12. لتكرار طلب الإدخال حتى يُدخل المستخدم قيمة صحيحة نجمع try\texttt{try} مع:

    • الدالة len()\texttt{len()}
    • القائمة
    • حلقة while\texttt{while}
    • جملة def\texttt{def} وحدها
    عرض الإجابة والتعليل

    الإجابة الصحيحة: حلقة while\texttt{while}

    نستخدم while True\texttt{while True} مع break\texttt{break} عند صحة الإدخال.

  13. في برنامج يطلب درجة بين 00 و100100، أدخل المستخدم 150150. أيّ نوع من التحقق يكتشف ذلك؟

    • تحقق المدى باستخدام if\texttt{if}
    • تحقق النوع باستخدام try\texttt{try}
    • لا يمكن اكتشافه
    • الخطأ ValueError\texttt{ValueError}
    عرض الإجابة والتعليل

    الإجابة الصحيحة: تحقق المدى باستخدام if\texttt{if}

    150150 عدد صحيح فلا يسبب ValueError\texttt{ValueError}، لكن الشرط 0 <= grade <= 100\texttt{0 <= grade <= 100} يكتشف أنه خارج المدى.

  14. لماذا يُفضل كتابة except ValueError:\texttt{except ValueError:} بدل except:\texttt{except:} وحدها؟

    • لأن except:\texttt{except:} لا تعمل في Python
    • لأن ValueError\texttt{ValueError} أسرع في التنفيذ
    • لأن except:\texttt{except:} وحدها تخفي أخطاء لا نتوقعها
    • لأن except:\texttt{except:} توقف البرنامج دائمًا
    عرض الإجابة والتعليل

    الإجابة الصحيحة: لأن except:\texttt{except:} وحدها تخفي أخطاء لا نتوقعها

    تحديد نوع الخطأ يجعل المعالجة مقصودة ولا يخفي أخطاء أخرى تحتاج إلى إصلاح.

  15. في برنامج يقسم a / b\texttt{a / b} مع كتلتي except ValueError\texttt{except ValueError} وexcept ZeroDivisionError\texttt{except ZeroDivisionError}، أدخل المستخدم 8\texttt{8} ثم 0\texttt{0}. ماذا يحدث؟

    • تُنفذ كتلة except ValueError\texttt{except ValueError}
    • يطبع البرنامج الناتج 0\texttt{0}
    • يتوقف البرنامج برسالة خطأ حمراء
    • تُنفذ كتلة except ZeroDivisionError\texttt{except ZeroDivisionError} وتظهر رسالة منع القسمة على صفر
    عرض الإجابة والتعليل

    الإجابة الصحيحة: تُنفذ كتلة except ZeroDivisionError\texttt{except ZeroDivisionError} وتظهر رسالة منع القسمة على صفر

    الإدخالان عددان صحيحان، لكن القسمة على صفر تسبب ZeroDivisionError\texttt{ZeroDivisionError} فتلتقطها الكتلة المناسبة.

أسئلة مقالية

  1. اذكر أنواع الأخطاء البرمجية الثلاثة مع مثال لكل منها.

    عرض نموذج الإجابة

    خطأ الصياغة: يظهر قبل التشغيل لمخالفة قواعد اللغة، مثل نسيان النقطتين بعد if\texttt{if}. خطأ التشغيل (الاستثناء): يظهر أثناء التشغيل، مثل تحويل النص "abc"\texttt{"abc"} إلى عدد. الخطأ المنطقي: يعمل البرنامج لكن النتيجة خاطئة، مثل كتابة +\texttt{+} بدل *\texttt{*}.

  2. اشرح طريقة عمل جملة try\texttt{try} وexcept\texttt{except}.

    عرض نموذج الإجابة

    يوضع الكود الذي قد يسبب خطأً داخل try\texttt{try}. إذا حدث خطأ أثناء تنفيذه ينتقل التنفيذ فورًا إلى كتلة except\texttt{except} المناسبة لنوع الخطأ بدل توقف البرنامج، فتعرض رسالة واضحة للمستخدم. وإذا لم يحدث خطأ تُتجاهل كتلة except\texttt{except}. ويمكن إضافة else\texttt{else} التي تُنفذ عند عدم حدوث خطأ، وfinally\texttt{finally} التي تُنفذ في كل الأحوال.

  3. فرّق بين تحقق النوع وتحقق المدى في برنامج يطلب درجة من 00 إلى 100100.

    عرض نموذج الإجابة

    تحقق النوع: التأكد من أن المُدخل عدد صحيح، ويتم بـ try\texttt{try} وexcept ValueError\texttt{except ValueError}، فإذا أدخل المستخدم نصًا مثل abc\texttt{abc} تظهر رسالة خطأ. تحقق المدى: التأكد من أن العدد بين 00 و100100، ويتم بجملة if\texttt{if}، فإذا أدخل 150150 يُطلب منه إدخال قيمة ضمن المدى.

  4. صف خطوات برنامج بلغة Python يطلب من المستخدم عمره ويكرر الطلب حتى يُدخل عددًا صحيحًا بين 55 و2020، ثم يطبع العمر المقبول.

    عرض نموذج الإجابة

    1) حلقة while True:\texttt{while True:}. 2) داخلها كتلة try:\texttt{try:} تقرأ العمر بـ age = int(input("Age: "))\texttt{age = int(input("Age: "))}. 3) إذا تحقق الشرط 5 <= age <= 20\texttt{5 <= age <= 20} نخرج من الحلقة بـ break\texttt{break}، وإلا نطبع رسالة أن العمر خارج المدى. 4) كتلة except ValueError:\texttt{except ValueError:} تطبع رسالة أن المدخل ليس عددًا صحيحًا. 5) بعد الحلقة نطبع العمر المقبول. وهكذا يجمع البرنامج بين تحقق النوع بـ try\texttt{try} وتحقق المدى بـ if\texttt{if}، ولا يتوقف البرنامج مهما أدخل المستخدم.

الرجوع إلى الدرس

السؤال 1 من 10