الرئيسية › الامتحانات › باكالوريا علوم الإعلامية
Devoir pratique STI n°5 : l'agence de voyages, la page des prix triés en JavaScript et les réservations en SQL
اكتب البرامج متاعك بـ Python ولا بالـ algorithme وثبّت فيهم في بلاصتهم، وبعد حلّ الإصلاح تمرين بتمرين.
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 prix.js de sa page des prix, l'exercice 2 les requêtes sur la base des mêmes hôtels et de leurs réservations. Les fonctions JavaScript se testent dans la console du navigateur et dans la page, les requêtes SQL dans MySQL (phpMyAdmin). Barème sur 20 points.
الموضوع مكتوب بالفرنسي، كيما في القسم.
Exercice 1 : trier et trouver la médiane (8 pts)
La page prix.html suivante, reliée au fichier prix.js, affiche les prix d'une nuit dans les hôtels de l'agence, du moins cher au plus cher, et leur prix médian, avec la fonction montrer() donnée dans la page. Les deux fonctions qu'elle utilise sont écrites dans prix.js, en JavaScript sans utiliser la méthode sort.
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>Nos prix</title>
</head>
<body>
<h1>Agence Voyages du Sud : nos prix</h1>
<input type="button" id="trier" onclick="montrer()" value="Du moins cher au plus cher">
<p id="liste"></p>
<p id="milieu"></p>
<script>
var prix = [180, 95, 150, 140, 80, 120];
function montrer() {
var t = classer(prix);
var texte = t[0] + " DT";
for (var i = 1; i < t.length; i++) {
texte = texte + ", " + t[i] + " DT";
}
document.getElementById("liste").innerHTML = texte;
document.getElementById("milieu").innerHTML = "Prix médian : " + mediane(prix) + " DT";
}
</script>
<script src="prix.js"></script>
</body>
</html>
- 1) Écrire la fonction classer(t) qui renvoie une copie du tableau de nombres t triée dans l'ordre croissant, sans modifier t (tri par sélection ou tri à bulles, écrit à la main) (5 pts).
- 2) Écrire la fonction mediane(t) qui renvoie la médiane du tableau t non vide : après le tri, l'élément du milieu si la longueur est impaire, la moyenne des deux éléments du milieu sinon (3 pts).
Exemples : classer([150, 95, 180]) donne [95, 150, 180] ; mediane([150, 95, 180]) donne 150 et mediane([80, 120, 150, 95]) donne 107.5.
Exercice 2 : les réservations d'hôtels (12 pts)
L'agence de l'exercice 1 garde ses hôtels (ceux de la page prix.html), ses clients et leurs réservations dans trois tables : hotel (id, nom, ville, prix_nuit), client (id, nom) et reservation (id, #id_hotel, #id_client, nuits). Le prix d'une nuit est en dinars. La base est créée par ce script :
CREATE TABLE hotel (
id INT PRIMARY KEY,
nom VARCHAR(40) NOT NULL,
ville VARCHAR(20) NOT NULL,
prix_nuit INT NOT NULL
);
CREATE TABLE client (
id INT PRIMARY KEY,
nom VARCHAR(30) NOT NULL
);
CREATE TABLE reservation (
id INT PRIMARY KEY,
id_hotel INT NOT NULL,
id_client INT NOT NULL,
nuits INT NOT NULL,
FOREIGN KEY (id_hotel) REFERENCES hotel(id),
FOREIGN KEY (id_client) REFERENCES client(id)
);
INSERT INTO hotel VALUES
(1, 'Dar El Medina', 'Tunis', 180),
(2, 'Les Palmiers', 'Sousse', 95),
(3, 'Yasmine Plage', 'Hammamet', 150),
(4, 'Oasis Bleue', 'Djerba', 140),
(5, 'Le Caravansérail', 'Tozeur', 80),
(6, 'Dar Hammamet', 'Hammamet', 120);
INSERT INTO client VALUES (1, 'Amri'), (2, 'Ben Ali'), (3, 'Gharbi'), (4, 'Jaziri'), (5, 'Mansour');
INSERT INTO reservation VALUES (1, 3, 1, 4), (2, 1, 2, 2), (3, 4, 1, 3), (4, 6, 3, 5), (5, 3, 4, 2), (6, 2, 2, 6), (7, 1, 3, 1);
- 1) Écrire la requête qui affiche le nom du client, le nom de l'hôtel et le nombre de nuits des réservations dans les hôtels de Hammamet, par ordre alphabétique du client (3 pts).
- 2) Écrire la requête qui affiche, pour chaque hôtel réservé, son nom et le nombre total de nuits réservées, du plus grand total au plus petit (à égalité, par ordre alphabétique du nom) (3 pts).
- 3) Écrire la requête qui affiche, pour chaque client qui a réservé, son nom et le montant total de ses réservations (nuits × prix d'une nuit), par ordre alphabétique du nom (2 pts).
- 4) Écrire la requête qui affiche le nom et le prix d'une nuit des hôtels plus chers que la moyenne des prix d'une nuit, du plus cher au moins cher (2 pts).
- 5) Écrire la requête qui affiche le nom des hôtels qui n'ont aucune réservation (2 pts).
الإصلاح المفصّل
الإصلاح متاع الامتحان هذا للمشتركين. فيه التحليل، والـ algorithme بالنوطاسيون التونسية، والبرنامج Python المجرّب، والغلطات اللي ترجع برشا في كل تمرين. بحساب بلاش، تنجم تحلّ 3 إصلاحات تختارهم إنت.
ادخل لحسابك قبل: اعمل حساب ولا ادخل.
مازال عندك 0 إصلاح بلاش.
باش تحلّ الإصلاحات الأخرين لازمك اشتراك. شوف الأسعار ولا اطلب code على WhatsApp ولا Instagram ولا Facebook.
الإصلاحات اللي بلاش متاع الجهاز هذا تستعملو، بالحساب هذا ولا بحساب آخر: كل جهاز عندو 3 إصلاحات بلاش، مهما كان عدد الحسابات. للإصلاحات الأخرين لازمك اشتراك. شوف الأسعار ولا ابعثلنا على WhatsApp.
الموقع توّا في فترة test: يتحلّ بـ code. اطلب الـ code متاعك على WhatsApp ولا Instagram ولا TikTok، وبعد اكتبو في missioncarthage.tn.
الإصلاح هذا مازال ما تنشرش. ارجع قريب.
ما نجمناش نحمّلو الإصلاح. ثبّت في الكونكسيون وعاود جرّب.
كل الإصلاحات حتى الفرض التأليفي3 أشهر بـ 20 د، العرض حتى 30 نوفمبر 2026 ابعثها لبابا ولّا ماما يخلّصوموضوع أصلي كتبناه لـ Mission Carthage، على نفس الشكل متاع امتحانات القسم. الأستاذ متاعك يبقى هو المرجع.
البرنامج الكل: باكالوريا علوم الإعلامية · عاود اقرا الكور · الامتحانات الكل