Devoir pratique STI n°8 : la page de la cantine, la date des commandes avec l'objet Date et le panier
É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 cantine.js de la page de commande de la cantine : l'exercice 1 écrit la date des commandes en haut de la page, l'exercice 2 fait marcher le panier. Les fonctions se testent dans la console du navigateur et dans la page. Barème sur 20 points.
Exercice 1 : la date des commandes (8 pts)
La page cantine.html, reliée au fichier cantine.js, est donnée. À son chargement, elle écrit dans le paragraphe jour « Commandes pour le 26 octobre 2026 » avec la fonction dateLongue, à écrire dans cantine.js :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>Cantine du lycée</title>
</head>
<body onload="afficherJour()">
<h1>Cantine du lycée</h1>
<p id="jour"></p>
<select id="plat">
<option value="4.500">Couscous</option>
<option value="3.200">Lablabi</option>
<option value="5.000">Kafteji</option>
</select>
<input type="number" id="qte" value="1">
<input type="button" value="Ajouter" onclick="ajouter()">
<input type="button" value="Vider" onclick="vider()">
<ul id="panier"></ul>
<p id="total">Total : 0.000 DT</p>
<script>
function afficherJour() {
document.getElementById("jour").innerHTML = "Commandes pour le " + dateLongue(2026, 10, 26);
}
</script>
<script src="cantine.js"></script>
</body>
</html>
Pour construire une date, on écrit new Date(annee, mois - 1, jour) : les mois de l'objet Date vont de 0 (janvier) à 11 (décembre).
- 1) Écrire la fonction nomMois(m) qui renvoie le nom du mois m, de 1 (janvier) à 12 (décembre) : nomMois(10) donne « octobre » (4 pts).
- 2) Écrire la fonction dateLongue(a, m, j) qui crée la date avec new Date et la renvoie écrite en toutes lettres à l'aide de getDate(), getMonth() et getFullYear() : dateLongue(2026, 10, 25) donne « 25 octobre 2026 », et dateLongue(2026, 2, 30) donne « 2 mars 2026 », car l'objet Date passe tout seul au mois suivant (4 pts).
Exercice 2 : le panier de la cantine (12 pts)
Dans la page cantine.html de l'exercice 1, la valeur (value) de chaque option est le prix du plat en dinars. Les fonctions suivantes s'ajoutent à cantine.js.
- 1) Écrire la fonction ecrire3(x) qui renvoie une chaîne : le nombre x (positif ou nul) écrit avec exactement trois chiffres après la virgule, sans utiliser la méthode toFixed (3 pts).
- 2) Écrire la fonction lireQuantite() qui renvoie la quantité saisie dans le champ qte si c'est un entier entre 1 et 10, et 0 sinon (3 pts).
- 3) Écrire la fonction ajouter(), appelée par le bouton « Ajouter » : si la quantité est valide, elle ajoute au panier un élément <li> de la forme « Couscous x 2 = 9.000 DT » et met à jour le paragraphe total, par exemple « Total : 9.000 DT » ; sinon elle ne change rien. Les prix s'écrivent avec ecrire3 (4 pts).
- 4) Écrire la fonction vider(), appelée par le bouton « Vider » : elle vide le panier et remet le total à « Total : 0.000 DT » (2 pts).
Indication : Math.round(x * 1000) donne le prix en millimes. Les dinars sont la partie entière de sa division par 1000, les millimes le reste de cette division, écrit sur trois chiffres. Par exemple, ecrire3(4.5) donne 4.500 et ecrire3(3.05) donne 3.050.
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