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
R1
R6
R5
b. Nouvelle table de routage possible pour
R1
:Destination passe par R3
R2
R2
R2
R4
R2
R5
R7
R6
R7
R7
R7
Note
Une autre table de routage possible est :
Destination passe par R3
R2
R2
R2
R4
R2
R5
R2
R6
R7
R7
R7
c. La nouvelle route sera
R1
R7
R6
R5
Note
Avec l'autre table possible donnée en note ci-dessous, la nouvelle route sera :
R1
R2
R4
R5
-
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
R1
versR5
Chemin possible Coût R1
R2
R4
R5
\(1,2\) R1
R2
R3
R6
R5
\(11,2\) R1
R6
R5
\(20\) R1
R7
R6
R5
\(11,1\) R1
R6
R3
R2
R4
R5
\(12,2\) R1
R7
R6
R3
R2
R4
R5
\(3,3\) d. Le chemin le moins coûteux sera donc
R1
R2
R4
R5
pour 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.energie
c.
lait.proteines = 3.4
-
def energie_reelle(self,masse): return masse * self.energie / 100
-
a.
nutrition['lait'].energie
b.
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
musiciens
estCode_instruments
car 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_poste
d.
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" ;