Mission Carthage العربية
اقرا الصفحة هذي بالتونسي

Accueil › Devoirs › 3ème SI

Devoir pratique STI n°8 : la page de la cantine, la date des commandes avec l'objet Date et le panier

3ème année Sciences de l'informatique, 2ème trimestre. Durée : 1 heure. Sur 20 points.

É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).

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.

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.

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 paie

Sujet 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