Mock exams
Examens blancs
اختبارات تجريبية

Straight-line foundations exam

Examen des bases linéaires

اختبار أساسيات المسائل الخطية

Three guided scenarios that mimic early quizzes: read the statement, map IPO, complete the flowchart, then build the matching C++ code.

Trois scénarios guidés qui imitent les premiers quiz : lire l'énoncé, construire la carte IPO, compléter l'organigramme, puis écrire le code C++ correspondant.

ثلاثة سيناريوهات موجهة تحاكي الاختبارات القصيرة الأولى: اقرأ نص المسألة، ابنِ خريطة IPO، أكمل المخطط الانسيابي، ثم اكتب كود C++ المطابق.

How this exam works

Comment fonctionne cet examen

كيف يعمل هذا الاختبار

  • Finish one scenario, then submit it to see the review and unlock the next tier.Terminez un scénario, puis soumettez-le pour voir le corrigé et débloquer le niveau suivant.أكمل سيناريو واحداً، ثم أرسله لرؤية المراجعة وفتح المستوى التالي.
  • Harmless spacing is ignored in structured fields, but exact-output prompts still require the exact visible output.Les espaces sans importance sont ignorés dans les champs structurés, mais les questions de sortie exacte demandent toujours la sortie visible exacte.يتم تجاهل المسافات غير المهمة في الحقول المنظمة، لكن أسئلة المخرجات الدقيقة ما زالت تتطلب المخرجات الظاهرة نفسها تماماً.
  • Your drafts and submitted scores are saved on this device.Vos brouillons et scores soumis sont enregistrés sur cet appareil.يتم حفظ مسوداتك ودرجاتك المرسلة على هذا الجهاز.
Scenario 1 / 3Scénario 1 / 3سيناريو ⁦1 / 3⁩ Tier 1Niveau 1المستوى ⁦1⁩

Tier 1: rectangle area

Niveau 1 : aire du rectangle

المستوى 1: مساحة المستطيل

Read the rectangle length and width, compute the area, then print the result.

This is the most guided scenario. Keep the plan strictly in the order Input → Process → Output.

Lisez la length et la width du rectangle, calculez l’aire, puis affichez le résultat.

C’est le scénario le plus guidé. Gardez le plan strictement dans l’ordre Entrée → Traitement → Sortie.

اقرأ length وwidth للمستطيل، ثم احسب المساحة، ثم اطبع النتيجة.

هذا هو السيناريو الأكثر توجيهاً. حافظ على الترتيب بدقة: إدخال → معالجة → إخراج (نفس فكرة IPO).

Map the statement to IPO

Transformez l'énoncé en IPO

حوّل نص المسألة إلى IPO

Type only the variable names or exact process formula requested in each box.
Tapez seulement les noms de variables ou la formule exacte demandée dans chaque case.
اكتب فقط أسماء المتغيرات أو صيغة المعالجة الدقيقة المطلوبة في كل خانة.

Complete the flowchart labels

Complétez les étiquettes de l'organigramme

أكمل تسميات المخطط الانسيابي

Each blank should match the missing box label exactly.
Chaque blanc doit correspondre exactement à l'étiquette manquante.
يجب أن يطابق كل فراغ تسمية الصندوق الناقصة تماماً.
StartInput: [A][B]Output: [C]End
DebutEntrée : [A][B]Sortie : [C]Fin
ابدأإدخال: [A][B]إخراج: [C]نهاية

Build the matching code

Construisez le code correspondant

ابنِ الكود المطابق

Fill each blank with the exact variable name or expression.
Remplissez chaque blanc avec le nom de variable ou l'expression exacte.
املأ كل فراغ باسم المتغير أو التعبير الدقيق.
1 double length, width;
2 double ;
3 cin >> >> ;
4 = ;
5 cout << ;
Scenario 2 / 3Scénario 2 / 3سيناريو ⁦2 / 3⁩ Tier 2Niveau 2المستوى ⁦2⁩

Tier 2: total seconds conversion

Niveau 2 : conversion d'un total de secondes

المستوى 2: تحويل عدد الثواني الكلي

Read one integer totalSeconds. Convert it into full minutes and leftover seconds, then print both values.

This scenario removes some scaffolding. Keep the two process steps in the correct order.

Lisez un entier totalSeconds. Transformez-le en minutes complètes et secondes restantes, puis affichez les deux valeurs.

Ce scénario retire une partie de l’échafaudage. Gardez les deux étapes de traitement dans le bon ordre.

اقرأ عدداً صحيحاً واحداً اسمه totalSeconds. حوّله إلى عدد الدقائق الكاملة والثواني المتبقية، ثم اطبع القيمتين.

في هذا السيناريو يقلّ الدعم قليلاً، لذلك حافظ على خطوتي المعالجة بالترتيب الصحيح.

Write the IPO pieces

Écrivez les éléments IPO

اكتب عناصر IPO

Use the exact variable names and assignments from the intended solution.
Utilisez les noms de variables et les affectations exacts de la solution attendue.
استخدم أسماء المتغيرات والتعيينات الدقيقة من الحل المقصود.

Complete the missing boxes

Complétez les boîtes manquantes

أكمل الصناديق الناقصة

Keep the exact box text. Do not add cin, cout, or semicolons.
Gardez le texte exact des boîtes. N'ajoutez ni cin, ni cout, ni point-virgule.
حافظ على نص الصندوق كما هو. لا تضف cin ولا cout ولا فاصلة منقوطة.
StartInput: totalSeconds[A][B]Output: minutesOutput: secondsEnd
DebutEntrée : totalSeconds[A][B]Sortie : minutesSortie : secondsFin
ابدأإدخال: totalSeconds[A][B]إخراج: minutesإخراج: secondsنهاية

Fill the exact code tokens

Complétez les jetons de code exacts

املأ عناصر الكود الدقيقة

Some names repeat. Reuse the same variable names instead of inventing new ones.
Certains noms se répètent. Réutilisez les mêmes noms de variables au lieu d'en inventer de nouveaux.
تتكرر بعض الأسماء. أعد استخدام أسماء المتغيرات نفسها بدلاً من اختراع أسماء جديدة.
1 int ;
2 int minutes;
3 int seconds;
4 cin >> ;
5 minutes = / 60;
6 seconds = % 60;
7 cout << minutes << " " << ;

Type the exact output

Tapez la sortie exacte

اكتب المخرجات الدقيقة

Write only what appears on the screen, with one literal space between the two numbers.
Écrivez seulement ce qui apparaît à l'écran, avec un seul espace littéral entre les deux nombres.
اكتب فقط ما يظهر على الشاشة، مع مسافة حرفية واحدة بين الرقمين.
1int totalSeconds = 125;
2int minutes = totalSeconds / 60;
3int seconds = totalSeconds % 60;
4cout << minutes << " " << seconds;
Scenario 3 / 3Scénario 3 / 3سيناريو ⁦3 / 3⁩ Tier 3Niveau 3المستوى ⁦3⁩

Tier 3: safe swap

Niveau 3 : échange sûr

المستوى 3: تبديل آمن

Read left and right, swap their values safely using a helper variable, then print the swapped values.

This is the least scaffolded scenario. Focus on order: save first, overwrite second, restore last.

Lisez left et right, échangez leurs valeurs en toute sécurité à l’aide d’une variable d’aide, puis affichez les valeurs échangées.

C’est le scénario le moins guidé. Concentrez-vous sur l’ordre : sauvegarder d’abord, écraser ensuite, restaurer en dernier.

اقرأ left وright، ثم بدّل القيمتين بأمان باستخدام متغير مساعد، ثم اطبع القيمتين بعد التبديل.

هذا هو السيناريو الأقل دعماً. ركّز على الترتيب: احفظ أولاً، ثم اكتب فوق القيمة، ثم استرجعها في النهاية.

Write the key plan pieces

Écrivez les éléments clés du plan

اكتب عناصر الخطة الأساسية

Use the exact helper name and assignment text expected by the plan.
Utilisez le nom exact de la variable d'aide et le texte d'affectation attendu par le plan.
استخدم اسم متغير المساعدة الدقيق ونص التعيين المتوقع في الخطة.

Complete the missing swap boxes

Complétez les boîtes manquantes de l'échange

أكمل صناديق التبديل الناقصة

Keep the labels concise: input names, then exact assignment text in order.
Gardez les étiquettes concises : noms d'entrée, puis texte exact des affectations dans l'ordre.
أبقِ التسميات مختصرة: أسماء الإدخال أولاً، ثم نصوص التعيين الدقيقة بالترتيب.
StartInput: [A][B][C][D]Output: left, rightEnd
DebutEntrée : [A][B][C][D]Sortie : left, rightFin
ابدأإدخال: [A][B][C][D]إخراج: left, rightنهاية

Finish the safe swap code

Terminez le code de l'échange sûr

أكمل كود التبديل الآمن

This stage has less scaffolding. Reuse the exact helper variable name everywhere it belongs.
Cette étape contient moins d'échafaudage. Réutilisez le nom exact de la variable d'aide partout où il convient.
هذه المرحلة تحتوي على دعم أقل. أعد استخدام اسم متغير المساعدة الدقيق في كل موضعه المناسب.
1 int left, right;
2 int ;
3 cin >> left >> right;
4 = left;
5 left = right;
6 right = ;
7 cout << left << " " << right;

Trace the hidden cells

Tracez les cellules cachées

تتبّع الخلايا المخفية

Each row shows the state after that code line. Fill only the hidden left and temp cells.
Chaque ligne montre l'état après cette ligne de code. Remplissez seulement les cellules cachées left et temp.
يمثل كل سطر الحالة بعد سطر الكود المقابل. املأ فقط خلايا left وtemp المخفية.
1int left = 3, right = 7;
2int temp = -1;
3temp = left;
4left = right;
5right = temp;
StepÉtapeالسطر leftleftleft rightrightright temptemptemp
2 7
3 7
4 7
5 3