نموذج مباراة توظيف تقني من الدرجة الثالثة - وزارة التجهيز - تخصص المعلوميات
📝 نص أسئلة النموذج (مستخرج آلياً من الصفحات الممسوحة)
استُخرج هذا النص آلياً من صور الامتحان وقد يحتوي على أخطاء في القراءة — الصور أعلاه هي المرجع.
— صفحة 1 —
69. Quel est le résultat de fun(1) où la fonction fun est définie comme suit:
int fun(int n) {
}
if (n = 4)
else
return n;
return 2 fun(n+1);
fun(1)=39
70. Qu'est-ce qui s'affiche à l'écran quand on appelle la fonction crazy(3,4,5) ?
void crazy(int n, int a, int b) {
}
if (n < 0) return;
crazy(n-1, a, b+n);
printf("%d", n-a+b);
crazy(n-1, b, a+n);
71. Que contient le tableau t1 à la fin de ce programme:
#include <stdio.h>
int main() {
}
int ti[10];
int 12[] (-4, 6, -2, -1, 10, 5, -3, 8, 7, 9};
int i,j = 0;
for(i=0; i<10; i++)if(t2[i] > 0) ti[j++]
while(j<10) (t1[j++] = 0; }
e.com
for(i=0; i<10; i++) { printf("%d
72. Quels résultats fournira ce program
#include <stdio.h>
main() {
int t[3];
int i, j;
int adt;
[i]); }
for (i 0,5 0; i < 3; i++) t[i]++; /* 1 */
for (i 0; i < 3; i++) printf("%d", t[i]);
=
printf("/");
/* 2 */
for (i=0; i < 3; i++) printf("%d ", *(t + 1)); //* 3 */
printf("/");
for (adt t; adt <t+3; adt++) printf("%d ", adt); /* 4 */
printf("/");
5
for (adt t2; adt >t; adt--) printf("%d ", adt); /* 5 */
wadifa-info.com
Bon Courage I
8/8
نماذج المباريات من موقع وظيفة إنفو
✅ التصحيح المقترح
هذا تصحيح مقترح من إعداد فريق wadifa-info لمساعدتك على فهم منهجية الإجابة — وليس تصحيحاً رسمياً صادراً عن الإدارة المنظِّمة.
هذا نموذج اختبار في لغة C (تقني من الدرجة الثالثة — تخصص المعلوميات). الأسئلة أدناه من الصفحة الأخيرة (8/8). الأجوبة هنا مؤكدة لأنها ناتجة عن تتبع تنفيذ البرنامج خطوة بخطوة، لا عن تقدير.
السؤال 69 — ما نتيجة fun(1)؟
الجواب: 32
الدالة: إذا كان n == 4 تُرجع n، وإلا تُرجع 2 * fun(n+1). نتتبع:
- fun(4) = 4
- fun(3) = 2 × fun(4) = 2 × 4 = 8
- fun(2) = 2 × fun(3) = 2 × 8 = 16
- fun(1) = 2 × fun(2) = 2 × 16 = 32
⚠️ يوجد على بعض النسخ المتداولة من هذا النموذج جواب مكتوب بخط اليد "39" — وهو خطأ. الجواب الصحيح هو 32، ويمكنك التحقق منه بتتبع الاستدعاءات كما أعلاه.
السؤال 70 — ماذا يُطبع عند استدعاء crazy(3,4,5)؟
الجواب: 7 6 -1 4 5 4 1
الدالة تنفّذ ثلاث خطوات بالترتيب: استدعاء يساري، ثم طباعة n-a+b، ثم استدعاء يميني
(أي تصفّح من نوع in-order). التتبع:
- crazy(3,4,5) → يستدعي crazy(2,4,8)
- crazy(2,4,8) → crazy(1,4,10) تطبع 1-4+10 = 7
- ثم تطبع 2-4+8 = 6
- ثم crazy(1,8,6) تطبع 1-8+6 = -1
- ثم تطبع 3-4+5 = 4
- ثم crazy(2,5,7)
- crazy(1,5,9) تطبع 1-5+9 = 5
- ثم تطبع 2-5+7 = 4
- ثم crazy(1,7,7) تطبع 1-7+7 = 1
السؤال 71 — ما محتوى الجدول t1 في نهاية البرنامج؟
الجواب: 6 10 5 8 7 9 0 0 0 0
الحلقة الأولى تنسخ إلى t1 القيم الموجبة أو المنعدمة فقط من t2 مع الحفاظ على ترتيبها:
- t2 = {-4, 6, -2, -1, 10, 5, -3, 8, 7, 9} → المحتفظ به: 6، 10، 5، 8، 7، 9 (ست قيم، إذن j = 6)
- ثم
while(j<10)تملأ الخانات المتبقية بالصفر: أربعة أصفار.
السؤال 72 — ما النتائج التي يعطيها هذا البرنامج؟
الجواب: 0 2 4 / 0 2 4 / 0 2 4 / 4 2 0
أولاً نحسب محتوى الجدول في الحلقة (1) حيث t[i] = j++ + i مع j تبدأ من 0:
- i=0 : t[0] = 0 + 0 = 0 (ثم j = 1)
- i=1 : t[1] = 1 + 1 = 2 (ثم j = 2)
- i=2 : t[2] = 2 + 2 = 4 (ثم j = 3)
إذن t = {0, 2, 4}. أما الحلقات الأربع الباقية فكلها تقرأ نفس الجدول بطرق مختلفة:
| الحلقة | الطريقة | النتيجة |
|---|---|---|
| (2) | t[i] — بالفهرسة | 0 2 4 |
| (3) | *(t+i) — نفس الشيء بحساب المؤشرات | 0 2 4 |
| (4) | مؤشر يتقدم من t إلى t+3 | 0 2 4 |
| (5) | مؤشر يتراجع من t+2 إلى t | 4 2 0 |
💡 الفكرة المُختبَرة: أن t[i] و*(t+i) متكافئتان تماماً في لغة C —
والحلقة الأخيرة فقط هي التي تعكس الترتيب لأنها تتصفّح الجدول من النهاية إلى البداية.
💬 ناقش هذا النموذج (0)
شارك إجاباتك أو صحّح التصحيح — إذا كان لديك رأي مختلف حول أي نقطة، اكتبه هنا ليستفيد باقي المترشحين.
لا يوجد نقاش بعد — شارك إجابتك أو سؤالك حول هذا النموذج.
⚠️ ممنوع نشر أرقام الهاتف أو الروابط أو أي عرض مقابل مال — تُحذف هذه المشاركات تلقائياً.
هل تحضّر لهذه المباراة؟
نماذج مشابهة قد تهمّك
المصدر: منشورات المترشحين في المنتديات