Sujet 10
Sujet 10
Sujet 10
SESSION 2023
JOUR 2
Dès que ce sujet vous est remis, assurez-vous qu’il est complet.
Ce sujet comporte 10 pages numérotées de 1/10 à 10/10.
Le code Morse doit son nom à Samuel Morse, l'un des inventeurs du télégraphe.
Il a été conçu pour transférer rapidement des messages en utilisant une série de points
et de tirets.
Pour cet exercice, les points seront représentés par le caractère "o" et les tirets par le
caractère "-".
Chaque caractère du message que l'on veut transmettre est constitué d'une série de
1 à 5 points ou tirets. Le code a été conçu en tenant compte de la fréquence de chaque
caractère dans la langue anglaise, de sorte que les caractères les plus fréquents, tels
que E et T, ne comportent qu'un seul point ou tiret (E = "o", T = "-"), tandis que les
caractères moins fréquents peuvent comporter 4 à 5 points ou tirets (par exemple, Q
= "- - o -" et J = "o - - -").
Pour connaître le code morse de chaque caractère, on peut utiliser l'arbre binaire ci-
dessous. En partant de la racine de l'arbre, la succession des branches reliant le nœud
racine au caractère recherché nous donne le code morse de ce caractère en
considérant que :
une branche gauche correspond à un point ("o") ;
une branche droite correspond à un tiret ("-").
Par exemple, le code morse de la lettre P est "o - - o" comme expliqué sur ce schéma :
1. class Noeud:
2. def __init__(self, valeur, gauche=None, droite=None):
3. self.valeur = valeur
4. self.gauche = gauche
5. self.droite = droite
6.
7. arbre = Noeud("Racine")
8. arbre.gauche = Noeud("E")
9. arbre.droite = Noeud("T")
10. arbre.gauche.gauche = Noeud("I")
11. arbre.gauche.droite = Noeud("A")
12. arbre.droite.gauche = Noeud("N")
13. arbre.droite.droite = Noeud("M")
EXERCICE 2 (4 points)
Rappels :
Une adresse IPv4 est composée de 4 octets, soit 32 bits. Elle est notée A.B.C.D où A,
B, C et D représentent les 4 octets de l’adresse.
La notation A.B.C.D/n signifie que les n premiers bits de l’adresse IP représentent la
partie "réseau", les bits qui suivent représentent la partie "hôte". Les n premiers bits
du masque sont donc égaux à 1 et les autres à 0.
Cet exercice porte sur les bases de données relationnelles et le langage SQL.
Dans cet exercice, on pourra utiliser les mots clés suivants du langage SQL : SELECT,
FROM, WHERE, JOIN…ON, INSERT INTO…VALUES, UPDATE…SET, COUNT, ORDER BY.
On pourra également utiliser la requête SELECT COUNT(*) FROM table qui renvoie
le nombre d'enregistrements de la relation table.
Relation vehicule :
id_vehicule immatriculation marque modele type carburant
1 AB – 135 – YZ Peugeot 208 citadine diesel
2 EC – 246 – TP Renault Zoe citadine electrique
3 LC – 231 – MG Tesla Model X SUV electrique
4 ML – 128 – VM Citroën C3 citadine essence
5 CL – 142 – CE Citroën C5 berline diesel
6 JL – 526 – LM Peugeot 508 berline diesel
... ... ... ... ... ...
Relation utilisateur :
id_utilisateur nom prenom permis adresse ville
131 MARTIN Jeanne 106566874 2 place de l'Etoile Paris
132 PETIT Pierre 75625569 6 rue d'Alsace Lille
133 DUBOIS Louise 1448526 52 rue de la Liberté Rennes
134 DUPONT Paul 1288638 4 boulevard Jaurès Paris
135 MOREAU Violette 14081221926 14 rue du 8 mai Rouen
136 DURAND Kevin 19262316811 20 avenue Curie Caen
... ... ... ... ... ...
Relation location :
id_location id_utilisateur id_vehicule date_debut date_fin
1 135 4 2022-04-14 2022-05-14
2 131 2 2022-06-21 2022-06-28
3 136 5 2022-06-21 2022-06-22
... ... ... ... ...
L'attribut id_vehicule de la relation vehicule, l'attribut id_utilisateur de la
relation utilisateur et l'attribut id_location de la relation location sont des
clés primaires.
1.
a. Écrire le résultat de la requête suivante :
SELECT id_vehicule
FROM vehicule WHERE type = 'citadine';
e. Écrire une requête permettant d’afficher les noms et prénoms des utilisa-
teurs par ordre alphabétique du nom.
2.
a. Citer, en justifiant, les clés étrangères de la table location.
3.
Une erreur s'est glissée dans la relation utilisateur :
Louise DUBOIS habite au numéro 50 de la rue de la Liberté, et non pas au 52.
a. Écrire une requête permettant de modifier cette information.
Un nouveau client souhaite louer une voiture. Ses informations sont les sui-
vantes :
NOM Prénom n° de permis adresse ville
LEFEBVRE Gabriel 124689 30 ruelle des champs Amiens
4. Écrire une requête permettant de lister les modèles et les immatriculations des
véhicules dont les locations ont débuté le 21 juin 2022 ainsi que les noms et
prénoms des utilisateurs correspondants.