علوم الحاسوب
البرمجة والاستدلال
- 1.
تتلقى دالة عدداً صحيحاً x بالقيمة وتعين x=x+1 ولا تعيد شيئاً. كان متغير المستدعي n يساوي 5. حدّد n بعد الاستدعاء واشرح السبب.
[3 درجة] · بدون آلة حاسبةشرح الإجابة
الشروح الإرشادية مبنية على نقاط التصحيح وليست اشتقاقات متحققاً منها بصورة مستقلة.
- يغير الإسناد تخزين المعامل المحلي. دون إسناد قيمة معادة ودون مرجع مشترك إلى n لا يحدث التغير المحلي متغير العدد لدى المستدعي.
نقاط التصحيح
- تصبح x المحلية 6.
- تبقى n لدى المستدعي 5.
- ينسخ التمرير بالقيمة العدد بدلاً من ربط x بمتغير المستدعي.
ملاحظة الفاحص: يتجنب نموذج تمرير العدد بالقيمة المعطى غموض تعديل الكائنات.
- 2.
ميّز التحقق من صلاحية تاريخ ميلاد مُدخل عن التحقق من مطابقته للمصدر، مع مثال لكل منهما.
[3 درجة] · بدون آلة حاسبةشرح الإجابة
الشروح الإرشادية مبنية على نقاط التصحيح وليست اشتقاقات متحققاً منها بصورة مستقلة.
- ترفض فحوص القواعد القيم المستحيلة لا كل قيمة كاذبة. تعالج المقارنة بمصدر موثوق دقة النسخ التي لا يثبتها فحص المجال التقويمي وحده.
نقاط التصحيح
- يفحص التحقق من الصلاحية قواعد مثل تاريخ تقويمي حقيقي ومجال مسموح.
- يفحص التحقق من المطابقة موافقة الإدخال لمصدره مثل وثيقة أصلية.
- قد يكون التاريخ صالحاً لكنه لشخص آخر أو منسوخاً خطأ.
ملاحظة الفاحص: اجتياز التحقق من الصلاحية لا يثبت الصحة الواقعية.
- 3.
تتبّع: total=0؛ FOR i=1 TO 4 شامل: IF i mod 2=0 THEN total=total+i ELSE total=total-1. أعطِ total بعد كل دورة.
[3 درجة] · بدون آلة حاسبةشرح الإجابة
الشروح الإرشادية مبنية على نقاط التصحيح وليست اشتقاقات متحققاً منها بصورة مستقلة.
- تطرح الدورات الفردية واحداً وتضيف الزوجية الفهرس الحالي. انقل total المحدث للدورة التالية بدلاً من إعادة الحساب من الصفر الأصلي.
نقاط التصحيح
- بعد i=1 وi=2: -1 و1.
- بعد i=3: 0.
- بعد i=4: 4.
ملاحظة الفاحص: طبق ELSE في الدورات الفردية فقط لا بعد كل إضافة.
- 4.
تعيد دالة عودية (تستدعي نفسها) F(n) العدد 1 إن كان n=0 وإلا n*F(n-1) لعدد صحيح n>=0. تتبّع F(4) واشرح دور الحالة الأساسية.
[3 درجة] · بدون آلة حاسبةشرح الإجابة
الشروح الإرشادية مبنية على نقاط التصحيح وليست اشتقاقات متحققاً منها بصورة مستقلة.
- ينتظر كل استدعاء معلق نتيجة وسيط أصغر. يسمح F(0)=1 ببناء 1 و2 و6 و24 عند العودة؛ ودون حالة توقف قابلة للوصول يستمر النزول.
نقاط التصحيح
- تبلغ الاستدعاءات F(4) وF(3) وF(2) وF(1) وF(0).
- يعطي فك الاستدعاءات F(4)=24.
- تنهي الحالة الأساسية الاستدعاء وتوفر العنصر المحايد للضرب.
ملاحظة الفاحص: يعتمد الإنهاء على شرط العدد الصحيح غير السالب وتناقص n.
- 5.
تقبل دالة أعماراً صحيحة من 16 إلى 120 شاملين. صمّم مجموعة اختبارات حدودية دنيا تفحص حدّي القبول والرفض المجاور وحالة خطأ نوع مميزة؛ وحدّد النتائج المتوقعة.
[4 درجة] · بدون آلة حاسبةشرح الإجابة
الشروح الإرشادية مبنية على نقاط التصحيح وليست اشتقاقات متحققاً منها بصورة مستقلة.
- اختبر عند كل طرف مسموح وخارجه مباشرة. تختبر حالة نص التحليل أو النوع الذي لا تغطيه الحدود العددية؛ وتجعل النتائج المتوقعة الاختبارات قابلة للفحص.
نقاط التصحيح
- يُرفض 15 ويُقبل 16.
- يُقبل 120 ويُرفض 121.
- يُرفض نص غير عددي مثل 'sixteen' دون انهيار.
- تستهدف هذه خطأ الحد بفارق واحد ومعالجة النوع منفصلين؛ ويمكن إضافة اختبارات قيم عادية.
ملاحظة الفاحص: لا تسرد أعماراً عادية فقط وتسمي المجموعة اختبار حدود.
- 6.
تنفذ مهمتان قراءة counter ثم إضافة 1 محلياً ثم كتابته. بدءاً من صفر اعرض تداخلاً ينتهي بـ1 لا 2 واقترح علاج مزامنة مع تحديد نطاقه.
[4 درجة] · بدون آلة حاسبةشرح الإجابة
الشروح الإرشادية مبنية على نقاط التصحيح وليست اشتقاقات متحققاً منها بصورة مستقلة.
- تخفي بساطة العملية الظاهرة ثلاث خطوات. يجب أن تجعل المزامنة الصحيحة تحول الحالة كله غير قابل للتجزئة للمنافسين كي ترى الزيادة الثانية نتيجة الأولى.
نقاط التصحيح
- قد تقرأ المهمتان صفراً قبل أن تكتب أي منهما.
- تحسبان واحداً وتكتبانه فتُفقد زيادة.
- احمِ تسلسل القراءة والتعديل والكتابة كله بقفل مشترك أو استخدم زيادة ذرية.
- لا يمنع قفل الكتابة الأخيرة فقط استخدام المهمتين القراءة القديمة نفسها.
ملاحظة الفاحص: لا يوفر قفل منفصل لكل مهمة استبعاداً متبادلاً للحالة المشتركة.
نقاط التصحيح استرشادية وليست سلم تصحيح رسمي. تُقبل الطرق الصحيحة المكافئة والتفسيرات المدعومة التي تجيب عن المطلوب؛ امنح كل درجة مرة واحدة دون اشتراط مطابقة كلمات الإجابة النموذجية.