Mission Carthage Français

الرئيسية › الامتحانات › 3 علوم الإعلامية

Devoir pratique STI n°7 : la page du quiz du club, vérifier le code d'accès et corriger le quiz en JavaScript

السنة الثالثة ثانوي علوم الإعلامية، الثلاثي الثاني. المدّة: ساعة. على 20 نقطة.

اكتب البرامج متاعك بـ Python ولا بالـ algorithme وثبّت فيهم في بلاصتهم، وبعد حلّ الإصلاح تمرين بتمرين.

Le travail se fait sur ordinateur. Les deux exercices écrivent le fichier quiz.js de la page du quiz du club, donnée à l'exercice 1 : le code d'accès de l'exercice 1 est vérifié avant de corriger le quiz de l'exercice 2. Les fonctions se testent dans la console du navigateur et dans la page. Barème sur 20 points.

الموضوع مكتوب بالفرنسي، كيما في القسم.

Exercice 1 : le code d'accès (8 pts)

Le club informatique a la page de quiz quiz.html suivante, reliée au fichier quiz.js :

<!DOCTYPE html>
<html lang="fr">
<head>
  <meta charset="utf-8">
  <title>Quiz du club</title>
</head>
<body>
<h1>Quiz du club informatique</h1>
<form id="quiz">
  <label for="code">Code d'accès</label>
  <input type="text" id="code">
  <p>1) Quelle balise fait une liste numérotée ?</p>
  <input type="radio" name="q1" value="a" id="q1a"><label for="q1a">&lt;ul&gt;</label>
  <input type="radio" name="q1" value="b" id="q1b"><label for="q1b">&lt;ol&gt;</label>
  <p>2) Quelle propriété CSS change la couleur du texte ?</p>
  <input type="radio" name="q2" value="a" id="q2a"><label for="q2a">color</label>
  <input type="radio" name="q2" value="b" id="q2b"><label for="q2b">font-color</label>
  <p>3) Quelle méthode met un texte en majuscules ?</p>
  <input type="radio" name="q3" value="a" id="q3a"><label for="q3a">toUpper()</label>
  <input type="radio" name="q3" value="b" id="q3b"><label for="q3b">upper()</label>
  <input type="radio" name="q3" value="c" id="q3c"><label for="q3c">toUpperCase()</label>
  <input type="button" value="Corriger" onclick="corriger()">
</form>
<p id="score"></p>
<script src="quiz.js"></script>
</body>
</html>

Pour répondre au quiz, chaque membre du club tape son code d'accès de 6 caractères : deux lettres majuscules puis quatre chiffres, par exemple TN2026. Écrire dans quiz.js, en JavaScript, sans expression régulière :

  • 1) la fonction nbChiffres(ch) qui renvoie le nombre de chiffres (de 0 à 9) du texte ch (4 pts) ;
  • 2) la fonction codeValide(code) qui renvoie true si code a exactement 6 caractères, deux lettres majuscules (de A à Z) puis quatre chiffres ; sinon false (4 pts).

Exemples : nbChiffres("TN2026") donne 4, codeValide("TN2026") donne true, codeValide("tn2026") donne false.

Exercice 2 : le quiz du club (12 pts)

Dans la page quiz.html de l'exercice 1, les bonnes réponses sont b pour q1, a pour q2 et c pour q3. Les fonctions suivantes s'ajoutent à quiz.js.

  • 1) Écrire la fonction choix(nom) qui renvoie la valeur du bouton radio coché du groupe nom, ou "" si aucun n'est coché ; les boutons du groupe nom ont les id nom + "a", nom + "b" et, pour q3, nom + "c" (q1a, q1b pour q1) ; getElementById donne null pour un id qui n'existe pas (4 pts).
  • 2) Écrire la fonction score() qui renvoie le nombre de bonnes réponses du quiz (4 pts).
  • 3) Écrire la fonction corriger(), appelée par le bouton « Corriger » : si le code tapé dans le champ code n'est pas valide (codeValide de l'exercice 1), elle écrit « Code d'accès non valide » en rouge (red) dans le paragraphe score ; sinon elle y écrit « Score : 2/3 » (avec le score obtenu), en vert (green) si les trois réponses sont justes, en rouge (red) si le score est 0 ou 1, en orange sinon (4 pts).

الإصلاح المفصّل

الإصلاح متاع الامتحان هذا للمشتركين. فيه التحليل، والـ algorithme بالنوطاسيون التونسية، والبرنامج Python المجرّب، والغلطات اللي ترجع برشا في كل تمرين. بحساب بلاش، تنجم تحلّ 3 إصلاحات تختارهم إنت.

كل الإصلاحات حتى الفرض التأليفي3 أشهر بـ 20 د، العرض حتى 30 نوفمبر 2026 ابعثها لبابا ولّا ماما يخلّصو

موضوع أصلي كتبناه لـ Mission Carthage، على نفس الشكل متاع امتحانات القسم. الأستاذ متاعك يبقى هو المرجع.

البرنامج الكل: السنة الثالثة ثانوي علوم الإعلامية · عاود اقرا الكور · الامتحانات الكل