Devoir pratique STI n°11 : le site d'une agence de voyages, la recherche par budget en JavaScript et les hôtels en SQL
É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 portent sur le site de l'agence Voyages du Sud : l'exercice 1 écrit le fichier hotels.js de sa page de recherche, l'exercice 2 les requêtes sur la table hotel, qui contient les mêmes hôtels. Les fonctions JavaScript se testent dans la console du navigateur et dans la page, les requêtes SQL dans MySQL. Barème sur 20 points.
Exercice 1 : la recherche par budget (8 pts)
Le site de l'agence de voyages a la page hotels.html suivante, reliée au fichier hotels.js. Les prix d'une nuit, en dinars, y sont rangés dans le tableau prix, dans l'ordre des hôtels du tableau noms :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>Nos hôtels</title>
</head>
<body>
<h1>Agence Voyages du Sud</h1>
<label for="budget">Ton budget pour une nuit (DT)</label>
<input type="number" id="budget">
<input type="button" id="chercher" onclick="chercher()" value="Chercher">
<p id="reponse"></p>
<script>
var noms = ["Dar El Medina", "Les Palmiers", "Dar Sidi Bou", "Oasis Bleue", "Yasmine Plage", "Le Caravansérail", "Dar Djerba"];
var prix = [180, 95, 260, 140, 150, 80, 60];
function chercher() {
var b = Number(document.getElementById("budget").value);
document.getElementById("reponse").innerHTML = nbDansBudget(prix, b) + " hôtel(s) dans ton budget ; le moins cher coûte " + moinsCher(prix) + " DT.";
}
</script>
<script src="hotels.js"></script>
</body>
</html>
La fonction chercher() du bouton « Chercher » est donnée dans la page ; elle utilise les deux fonctions à écrire dans hotels.js :
- 1) Écrire la fonction moinsCher(t) qui renvoie le plus petit élément du tableau t (non vide), sans utiliser Math.min (4 pts).
- 2) Écrire la fonction nbDansBudget(t, budget) qui renvoie le nombre d'éléments du tableau t inférieurs ou égaux à budget (4 pts).
Exemples : moinsCher([180, 95, 260]) donne 95 et nbDansBudget([180, 95, 260, 140], 150) donne 2.
Exercice 2 : les hôtels (12 pts)
Les hôtels de la page de l'exercice 1 sont rangés dans la table hotel (id, nom, ville, etoiles, prix) de la base de l'agence ; prix est le prix d'une nuit en dinars. Elle contient :
- (1, Dar El Medina, Tunis, 4, 180), (2, Les Palmiers, Sousse, 3, 95), (3, Dar Sidi Bou, Tunis, 5, 260), (4, Oasis Bleue, Djerba, 4, 140),
- (5, Yasmine Plage, Hammamet, 4, 150), (6, Le Caravansérail, Tozeur, 3, 80), (7, Dar Djerba, Djerba, 2, 60).
- 1) Écrire la requête qui affiche le nom des hôtels dont le nom commence par « Dar », par ordre alphabétique (3 pts).
- 2) Écrire la requête qui affiche le nom et le prix des hôtels dont le prix est compris entre 80 et 150 dinars, du moins cher au plus cher (3 pts).
- 3) Écrire la requête qui affiche le nom et la ville des hôtels de Sousse, Hammamet ou Djerba, triés par ville puis par nom, en utilisant IN (3 pts).
- 4) Écrire la requête qui affiche le nom et le nombre d'étoiles des hôtels d'au moins 4 étoiles situés hors de Tunis, du plus étoilé au moins étoilé puis par nom (3 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