Devoir pratique STI n°7 : la page du quiz du club, vérifier le code d'accès et corriger le quiz en JavaScript
Écris tes programmes en Python ou en algorithme et vérifie-les tout de suite, puis ouvre la correction exercice par exercice.
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"><ul></label>
<input type="radio" name="q1" value="b" id="q1b"><label for="q1b"><ol></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).
Correction détaillée
La correction de ce devoir est réservée aux abonnés. Elle donne l'analyse, l'algorithme en notation tunisienne, le programme Python vérifié et les erreurs fréquentes de chaque exercice. Avec un compte gratuit, tu peux ouvrir 3 corrections de ton choix.
Connecte-toi d'abord : créer un compte ou me connecter.
Tu as encore 0 correction(s) gratuite(s) à utiliser.
Il te faut un abonnement actif pour les autres corrections. Voir les tarifs ou demander un code sur WhatsApp, Instagram ou Facebook.
Les corrections gratuites de cet appareil ont déjà été utilisées, avec ce compte ou un autre : chaque appareil a droit à 3 corrections gratuites, quel que soit le nombre de comptes. Pour les autres corrections, il faut un abonnement. Voir les tarifs ou écrire sur WhatsApp.
Mission Carthage est en période de test : le site s'ouvre avec un code d'accès. Demande ton code sur WhatsApp, Instagram ou TikTok, puis tape-le sur missioncarthage.tn.
Cette correction n'est pas encore publiée. Reviens bientôt.
Impossible de charger la correction. Vérifie ta connexion et réessaie.
Toutes les corrections jusqu'au devoir de synthèse3 mois pour 20 TND, offre jusqu'au 30 novembre 2026 Envoyer à un parent pour qu'il paieSujet original écrit pour Mission Carthage, dans le format d'un devoir pratique d'informatique (3ème Sciences de l'informatique, technologies du web). Ce n'est pas un sujet officiel.
Tout le programme : 3ème année Sciences de l'informatique · Revoir le cours · Tous les devoirs