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

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

أسئلة: الدوال ذات المعاملات في لغة Python

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

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

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

  1. الكلمة المحجوزة المستخدمة لتعريف دالة في Python هي:

    • return\texttt{return}
    • print\texttt{print}
    • for\texttt{for}
    • def\texttt{def}
    عرض الإجابة والتعليل

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

    نكتب def\texttt{def} ثم اسم الدالة وقوسين ونقطتين.

  2. المتغير المكتوب في تعريف الدالة يُسمى:

    • الوسيط (Argument)
    • المتغير العام
    • القيمة المرجعة
    • المعامل (Parameter)
    عرض الإجابة والتعليل

    الإجابة الصحيحة: المعامل (Parameter)

    المعامل يُكتب في التعريف، والوسيط هو القيمة الفعلية التي نمررها عند الاستدعاء.

  3. الدالة في Python تُنفذ:

    • بمجرد تعريفها
    • مرة واحدة في بداية البرنامج دائمًا
    • عند استدعائها فقط
    • عند كتابة return\texttt{return} فقط
    عرض الإجابة والتعليل

    الإجابة الصحيحة: عند استدعائها فقط

    تعريف الدالة لا ينفذها، ولا يعمل جسمها إلا عند الاستدعاء.

  4. الدالة التي لا تحتوي على return\texttt{return} تعيد القيمة None\texttt{None}.

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

    الإجابة الصحيحة: صواب

    إذا انتهت الدالة دون return\texttt{return} فإنها تعيد None\texttt{None}.

  5. أيّ مما يلي من فوائد استخدام الدوال؟

    • زيادة عدد أسطر البرنامج
    • إعادة استخدام الكود دون تكراره
    • منع استخدام المتغيرات
    • إبطاء تنفيذ البرنامج
    عرض الإجابة والتعليل

    الإجابة الصحيحة: إعادة استخدام الكود دون تكراره

    الدوال تتيح إعادة الاستخدام والتنظيم وسهولة التعديل.

  6. ما الفرق بين print\texttt{print} وreturn\texttt{return} داخل الدالة؟

    • لا فرق بينهما
    • print\texttt{print} تعرض القيمة على الشاشة فقط، وreturn\texttt{return} تعيدها للبرنامج لاستخدامها
    • return\texttt{return} تعرض القيمة على الشاشة فقط
    • print\texttt{print} تنهي تنفيذ الدالة فورًا
    عرض الإجابة والتعليل

    الإجابة الصحيحة: print\texttt{print} تعرض القيمة على الشاشة فقط، وreturn\texttt{return} تعيدها للبرنامج لاستخدامها

    return\texttt{return} تعيد النتيجة إلى مكان الاستدعاء وتنهي الدالة، فيمكن تخزين القيمة أو استخدامها.

  7. في الاستدعاء greet("Omar")\texttt{greet("Omar")}، ماذا تمثل القيمة "Omar"\texttt{"Omar"}؟

    • وسيطًا (Argument)
    • معاملًا (Parameter)
    • اسم الدالة
    • متغيرًا عامًا
    عرض الإجابة والتعليل

    الإجابة الصحيحة: وسيطًا (Argument)

    القيمة الفعلية المُمررة عند الاستدعاء هي الوسيط.

  8. إذا عُرفت الدالة def\texttt{def} rectangle_area(length,\texttt{rectangle\_area(length,} width): return length\texttt{width): return length} * width\texttt{* width}، فما ناتج rectangle_area(4, 5)\texttt{rectangle\_area(4, 5)}؟

    • 9\texttt{9}
    • 20\texttt{20}
    • 45\texttt{45}
    • None\texttt{None}
    عرض الإجابة والتعليل

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

    الدالة تعيد حاصل ضرب الوسيطين: 4×5=204 \times 5 = 20.

  9. إذا عُرفت الدالة def power(base,\texttt{def power(base,} exponent=2): return\texttt{exponent=2): return} base ** exponent\texttt{base ** exponent}، فما ناتج power(3)\texttt{power(3)}؟

    • 6\texttt{6}
    • 27\texttt{27}
    • خطأ لنقص الوسائط
    • 9\texttt{9}
    عرض الإجابة والتعليل

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

    لم يُمرر الوسيط الثاني فاستُخدمت القيمة الافتراضية 22، و32=93^2 = 9.

  10. بالدالة نفسها power(base,\texttt{power(base,} exponent=2)\texttt{exponent=2)}، ما ناتج power(2, 4)\texttt{power(2, 4)}؟

    • 16\texttt{16}
    • 8\texttt{8}
    • 4\texttt{4}
    • 6\texttt{6}
    عرض الإجابة والتعليل

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

    مُرر الوسيط الثاني فحل محل القيمة الافتراضية: 24=162^4 = 16.

  11. ماذا يحدث عند استدعاء دالة بعدد وسائط أقل من عدد معاملاتها التي بلا قيم افتراضية؟

    • تعمل الدالة بقيم عشوائية
    • تُعاد القيمة 0\texttt{0}
    • يظهر الخطأ TypeError\texttt{TypeError}
    • يُتجاهل الاستدعاء
    عرض الإجابة والتعليل

    الإجابة الصحيحة: يظهر الخطأ TypeError\texttt{TypeError}

    يجب أن يطابق عدد الوسائط عدد المعاملات التي بلا قيم افتراضية، وإلا ظهر TypeError\texttt{TypeError}.

  12. المتغير الذي يُنشأ داخل الدالة يكون:

    • عامًا يُعرف في كل البرنامج
    • محليًا لا يُعرف خارجها
    • ثابتًا لا تتغير قيمته
    • غير مسموح به
    عرض الإجابة والتعليل

    الإجابة الصحيحة: محليًا لا يُعرف خارجها

    المتغير المنشأ داخل الدالة محلي، ومحاولة استخدامه خارجها تسبب NameError\texttt{NameError}.

  13. إذا عُرفت الدالة rectangle_area(length,\texttt{rectangle\_area(length,} width)\texttt{width)} التي تعيد length * width\texttt{length * width}، فما ناتج rectangle_area(2, 3)\texttt{rectangle\_area(2, 3)} + rectangle_area(1,\texttt{+ rectangle\_area(1,} 1)\texttt{1)}؟

    • 6\texttt{6}
    • 12\texttt{12}
    • 7\texttt{7}
    • خطأ في البرنامج
    عرض الإجابة والتعليل

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

    الاستدعاء الأول يعيد 66 والثاني يعيد 11، فالمجموع 77؛ وهذا ممكن لأن return\texttt{return} تعيد القيمة للبرنامج.

  14. في دالة التقدير التي تعيد "Excellent"\texttt{"Excellent"} للدرجة ≥85\geq 85 و"Good"\texttt{"Good"} للدرجة ≥65\geq 65 و"Pass"\texttt{"Pass"} للدرجة ≥50\geq 50 وإلا "Fail"\texttt{"Fail"}، ما ناتج استدعائها بالدرجة 6565؟

    • Good\texttt{Good}
    • Pass\texttt{Pass}
    • Excellent\texttt{Excellent}
    • Fail\texttt{Fail}
    عرض الإجابة والتعليل

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

    6565 لا تحقق الشرط الأول لكنها تحقق 65≥6565 \geq 65، فتعيد الدالة Good\texttt{Good} وتنتهي.

  15. أيّ التعريفات الآتية صحيح من حيث ترتيب المعاملات؟

    • def f(a, b=5):\texttt{def f(a, b=5):}
    • def f(a=5, b):\texttt{def f(a=5, b):}
    • def f(=5, b):\texttt{def f(=5, b):}
    • def f(a b):\texttt{def f(a b):}
    عرض الإجابة والتعليل

    الإجابة الصحيحة: def f(a, b=5):\texttt{def f(a, b=5):}

    المعاملات ذات القيم الافتراضية تُكتب بعد المعاملات التي بلا قيم افتراضية.

أسئلة مقالية

  1. اذكر ثلاث فوائد لاستخدام الدوال في البرمجة.

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

    إعادة الاستخدام: نكتب الكود مرة واحدة ونستدعيه مرات. التنظيم: نقسم البرنامج الكبير إلى أجزاء صغيرة مفهومة. سهولة التعديل: إصلاح الخطأ في مكان واحد يصلحه في كل الاستدعاءات.

  2. فرّق بين المعامل والوسيط، وبين المتغير المحلي والمتغير العام.

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

    المعامل: المتغير المكتوب في تعريف الدالة، مثل name\texttt{name} في def greet(name):\texttt{def greet(name):}. الوسيط: القيمة الفعلية المُمررة عند الاستدعاء، مثل "Omar"\texttt{"Omar"} في greet("Omar")\texttt{greet("Omar")}. المتغير المحلي: يُنشأ داخل الدالة ولا يُعرف خارجها. المتغير العام: يُعرّف خارج كل الدوال ويمكن قراءته داخلها.

  3. اكتب دالة بلغة Python اسمها average\texttt{average} تستقبل قائمة أعداد وتعيد متوسطها، ثم اكتب ناتج استدعائها بالقائمة [4, 8, 12]\texttt{[4, 8, 12]}.

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

    def average(numbers):\texttt{def average(numbers):} ويكتب في جسمها بإزاحة: return sum(numbers) /\texttt{return sum(numbers) /} len(numbers)\texttt{len(numbers)}. الاستدعاء print(average([4, 8,\texttt{print(average([4, 8,} 12]))\texttt{12]))} يطبع 8.0\texttt{8.0} لأن المجموع 2424 وعدد العناصر 33.

  4. اكتب دالة discount(price,\texttt{discount(price,} percent=10)\texttt{percent=10)} تعيد السعر بعد الخصم، ثم احسب ناتج discount(200)\texttt{discount(200)} وdiscount(200, 25)\texttt{discount(200, 25)}، ووضح دور القيمة الافتراضية.

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

    الدالة: def discount(price,\texttt{def discount(price,} percent=10):\texttt{percent=10):} وفي جسمها return price - price *\texttt{return price - price *} percent / 100\texttt{percent / 100}. discount(200)\texttt{discount(200)}: لم يُمرر الوسيط الثاني فتُستخدم القيمة الافتراضية 1010، فالناتج 200−20=180.0200 - 20 = 180.0. discount(200, 25)\texttt{discount(200, 25)}: الوسيط 2525 يحل محل القيمة الافتراضية، فالناتج 200−50=150.0200 - 50 = 150.0. القيمة الافتراضية تجعل المعامل اختياريًا، وتُكتب بعد المعاملات التي بلا قيم افتراضية.

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

السؤال 1 من 10