احصل على مطابقة
AS & A Level · AS/A Level

علوم الحاسوب

البرمجة وأنظمة الحاسوب

الاسم: ____________________التاريخ: 10 أكتوبر 2026
  1. 1.

    تتبع الشيفرة: total <- 0؛ FOR i <- 1 TO 4 شاملاً: total <- total + i*i؛ OUTPUT total. حدد الناتج والتعقيد الزمني إذا كان الحد الأعلى n.

    [3 درجة] · بدون آلة حاسبة

    شرح الإجابة

    الشروح الإرشادية مبنية على نقاط التصحيح وليست اشتقاقات متحققاً منها بصورة مستقلة.

    1. يستبدل الإسناد total بقيمته السابقة مضافاً إليها مربع العدد الحالي.
    2. أدرج i = 4: ‏1^2 + 2^2 + 3^2 + 4^2 = 30.
    3. ينمو عدد التكرارات خطياً مع n رغم نمو القيمة العددية للمجموع أسرع؛ حجم الناتج ليس عدد التكرارات.

    نقاط التصحيح

    • المجاميع المتتالية 1 و5 و14 و30.
    • الناتج 30.
    • توجد n تكرارات ثابتة الزمن، لذا التعقيد O(n).

    ملاحظة الفاحص: لا تخلط بين التربيع في الحساب والتعقيد التربيعي للخوارزمية.

  2. 2.

    عرّف f(n): إذا n = 0 أعد 1؛ وإلا أعد n*f(n - 1). للعدد الصحيح n >= 0 أوجد f(4) واشرح الحالة الأساسية وحدد تعقيد مساحة المكدس الإضافية.

    [4 درجة] · بدون آلة حاسبة

    شرح الإجابة

    الشروح الإرشادية مبنية على نقاط التصحيح وليست اشتقاقات متحققاً منها بصورة مستقلة.

    1. وسّع الاستدعاءات حتى f(0)، ثم عد صعوداً عبر عمليات الضرب المعلقة.
    2. إعادة 0 في الحالة الأساسية تصفر الناتج كله؛ 1 هو العنصر المحايد للضرب.
    3. تُبقي كل عملية ضرب معلقة إطار مكدس نشطاً. ليس ذلك استدعاءً طرفياً لأن عملاً يبقى بعد الاستدعاء.

    نقاط التصحيح

    • f(4) = 4 x 3 x 2 x 1 x 1 = 24.
    • توقف الحالة الأساسية f(0) = 1 الاستدعاء المتكرر.
    • يقلل كل استدعاء n نحو الصفر، فتتوقف المدخلات الصحيحة.
    • توجد O(n) إطارات مكدس متزامنة دون تحسين الاستدعاء الطرفي.

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

  3. 3.

    في تطبيق تدريس مقعد واحد متبقٍ. يقرأ مستخدمان seats = 1 ثم يؤكد كل منهما حجزاً ويكتب seats = 0. اشرح الخلل واقترح حلاً في قاعدة البيانات يمنع الحجز الزائد.

    [4 درجة] · بدون آلة حاسبة

    شرح الإجابة

    الشروح الإرشادية مبنية على نقاط التصحيح وليست اشتقاقات متحققاً منها بصورة مستقلة.

    1. تحدث القراءتان قبل أي كتابة، فيعتقد المستخدمان أن المقعد متاح. تحديث الواجهة وحده لا يضمن الصحة.
    2. تجعل العملية الذرية فحص التوفر وتغييره غير قابلين للتجزئة. يستطيع تحديث واحد فقط تغيير 1 إلى 0.
    3. أبقِ الإنقاص الناجح وإدخال الحجز في معاملة واحدة كي لا يستهلك فشل الإدخال المقعد دون حجز.

    نقاط التصحيح

    • تسمح حالة تسابق باستخدام التوفر القديم نفسه في القرارين.
    • يخفي العدد النهائي صفر حقيقة إنشاء حجزين.
    • استخدم معاملة بقفل الصف أو إنقاصاً ذرياً مشروطاً بأن seats > 0.
    • أنشئ أو أكد الحجز فقط إذا نجح التحديث المحمي، وثبّت التغييرين معاً؛ وإلا ارفض أو أعد المحاولة بأمان.

    ملاحظة الفاحص: المعاملة وحدها لا تكفي ما لم يمنع القفل أو العزل أو التحديث المشروط حالة التسابق فعلاً.