23-NSIJ1LR1 : Corrigé
Année : 2023
Centre : Réunion
Jour : 1
Enoncé :
Exercice 1 (4 points)
Réseaux et protocoles de routage
-
a. Un octet est composé de 8 bits.
b. On convertit chaque octet en décimal :
- \(\overset{\displaystyle{_{2^7}}}{\boxed{\strut1}}\overset{\displaystyle{_{2^6}}}{\boxed{\strut1}}\overset{\displaystyle{_{2^5}}}{\boxed{\strut0}}\overset{\displaystyle{_{2^4}}}{\boxed{\strut0}}\overset{\displaystyle{_{2^3}}}{\boxed{\strut0}}\overset{\displaystyle{_{2^2}}}{\boxed{\strut0}}\overset{\displaystyle{_{2^1}}}{\boxed{\strut0}}\overset{\displaystyle{_{2^0}}}{\boxed{\strut0}}\) = \(192\)
- \(\overset{\displaystyle{_{2^7}}}{\boxed{\strut1}}\overset{\displaystyle{_{2^6}}}{\boxed{\strut0}}\overset{\displaystyle{_{2^5}}}{\boxed{\strut1}}\overset{\displaystyle{_{2^4}}}{\boxed{\strut0}}\overset{\displaystyle{_{2^3}}}{\boxed{\strut1}}\overset{\displaystyle{_{2^2}}}{\boxed{\strut0}}\overset{\displaystyle{_{2^1}}}{\boxed{\strut0}}\overset{\displaystyle{_{2^0}}}{\boxed{\strut0}}\) = \(168\)
- \(\overset{\displaystyle{_{2^7}}}{\boxed{\strut0}}\overset{\displaystyle{_{2^6}}}{\boxed{\strut0}}\overset{\displaystyle{_{2^5}}}{\boxed{\strut0}}\overset{\displaystyle{_{2^4}}}{\boxed{\strut0}}\overset{\displaystyle{_{2^3}}}{\boxed{\strut0}}\overset{\displaystyle{_{2^2}}}{\boxed{\strut1}}\overset{\displaystyle{_{2^1}}}{\boxed{\strut0}}\overset{\displaystyle{_{2^0}}}{\boxed{\strut0}}\) = \(4\)
- \(\overset{\displaystyle{_{2^7}}}{\boxed{\strut1}}\overset{\displaystyle{_{2^6}}}{\boxed{\strut1}}\overset{\displaystyle{_{2^5}}}{\boxed{\strut1}}\overset{\displaystyle{_{2^4}}}{\boxed{\strut1}}\overset{\displaystyle{_{2^3}}}{\boxed{\strut0}}\overset{\displaystyle{_{2^2}}}{\boxed{\strut0}}\overset{\displaystyle{_{2^1}}}{\boxed{\strut0}}\overset{\displaystyle{_{2^0}}}{\boxed{\strut1}}\) = \(241\)
L'écriture décimal de cette adresse IP est donc
192.168.4.241. -
a. La notation décimale du masque de sous réseau de cette machine est
255.255.255.0(les 24 premiers octets sont à 1).b. L'adresse décimale de ce réseau est
172.20.1.0(les 8 derniers octets sont à 0).c. Sur ce réseau, on peut connecter 254 machines (parmi les 256 adresses possibles, deux sont réservées, l'adresse du réseau et l'adresse de diffusion)
-
a. Le parcours pouvant être emprunté est
R1R6R5b. Nouvelle table de routage possible pour
R1:Destination passe par R3R2R2R2R4R2R5R7R6R7R7R7Note
Une autre table de routage possible est :
Destination passe par R3R2R2R2R4R2R5R2R6R7R7R7c. La nouvelle route sera
R1R7R6R5Note
Avec l'autre table possible donnée en note ci-dessous, la nouvelle route sera :
R1R2R4R5 -
a. Tableau complété :
Liaison Débit Coût Ethernet \(\textcolor{green}{10^7}\) 10 Fast_Ethernet \(10^8\) \(\textcolor{green}{1}\) Fibre \(10^9\) \(0,1\) b. Représentation du réseau :

c. Envoi de
R1versR5Chemin possible Coût R1R2R4R5\(1,2\) R1R2R3R6R5\(11,2\) R1R6R5\(20\) R1R7R6R5\(11,1\) R1R6R3R2R4R5\(12,2\) R1R7R6R3R2R4R5\(3,3\) d. Le chemin le moins coûteux sera donc
R1R2R4R5pour un coût total de \(1,2\).
Exercice 2 (4 points)
Programmation orientée objet et dictionnaires
-
a.
lait = Aliment(65.1, 3.32, 4.85, 3.63)b.
lait.energiec.
lait.proteines = 3.4 -
def energie_reelle(self,masse): return masse * self.energie / 100 -
a.
nutrition['lait'].energieb.
nutrition['lait'].energie_reelle(220)ou sans utiliser la fonctionenergie_reelle:nutrition['lait'].energie*220/100 -
energie_totale = 0 for ingredient in recette_gateau: energie_totale += nutrition[ingredient].energie_reelle(recette_gateau[ingredient])
Exercice 3 (4 points)
Bases de données relationnelles et langage SQL
-
a. La clé étrangère de la relation
musiciensestCode_instrumentscar c'est la clé primaire d'une autre relation.b. musiciens(id_mus : INT, Nom : TEXT, Prenom : TEXT, Mail : TEXT, Anciennete : INT, #Code_instrument : INT)
instruments(Code_instrument : INT, type_ins : TEXT) -
a. Le résultat de cette requête sera :
Nom Prenom Dupuis Alice Tourelle Philippe b. Requête permettant d'afficher les noms et prenoms de tous les musiciens membres depuis 5 ans ou plus :
SELECT Nom, Prenom FROM musiciens WHERE anciennete >= 5 ; -
a.
UPDATE musiciens SET Mail = "tour.char@mail.fr" WHERE id_mus = 5 ;b.
SELECT Nom, Prenom FROM musiciens JOIN instruments ON musiciens.Code_instrument = instruments.Code_instrument WHERE instruments.type_inst = "Violon" ;c.
INSERT INTO Admin VALUES ("Trésorier",2,1)Note
Le sujet indique que le poste de "
Trésorier" vient d'être créé, on a donc indiqué la valeur 1 pour le champAnciennete_posted.
SELECT type_ins FROM instruments JOIN musiciens ON musiciens.id_mus = instruments.id_mus JOIN Admin ON Admin.id_mus = musiciens.id_mus WHERE Poste = "Président" ;