23-NSIJ2G11 : Corrigé⚓︎
Année : 2023
Centre : Centres-Etrangers
Jour : J2
Enoncé :
Exercice 1 (4 points)⚓︎
Adressage IP et routages
Partie A
-
a. IP routeur 192.168.5.1 b. On pourra connecter maximum \(256 - 2 - 1 = 253\) machines
-
a. Masque de sous-réseaux : 255.255.240.0 b. On effectue le ET logique entre l'adresse d'une machine et le masque de sous-réseau :
- 2 -> 00000010
- 240 -> 11110000
11110000 ET 00000010
00000000
Donc le réseau a pour adresse 192.168.0.0
c. L'intérêt d'avoir une telle interconnexion entre les 4 routeurs A, B, E et F est en cas de panne d'un routeur, les données peuvent continuer à circuler.
Partie B
-
a. Chemin possible entre routeur A et routeur E : A - B - E Chemin possible entre F et B :
- F - H - G - B
- F - D - A - B
- F - H - E - B
b. Table de routage du routeur E
Destination Routeur suivant Distance A B 2 B B 1 C H 2 D G 2 F H 2 G G 1 H H 1 Table de routage du routeur G
Destination Routeur suivant Distance A D 2 B B 1 C H 2 D D 1 E E 1 F D 2 H H 1 -
a.
Table de routage du routeur FDestination Routeur suivant Coût total A D 1.1 B B 10.11 C D 1.1 D D 0.1 E H 10.1 G D 1 H H 0.1 b. E - H - F - D soit un coût de 10,2.
Exercice 2 (4 points)⚓︎
SQL
-
a. La requête va renvoyer : | age | taille | poids | |:---:|:---:|:---:| |6|1.70|100|
b.
🗂️ Requête SQLSELECT nom,age FROM animal WHERE nom_espece='bonodo'
-
a. La clé primaire est nom_espece car elle est unique.
num_enclos est une clé étrangère pour faire le lien avec la table enclos.b.
-
a.
🗂️ Requête SQLUPDATE espece SET classe'mammifère' WHERE nom_espece='ornithorynque'
b.
🗂️ Requête SQLINSERT INTO animal VALUES (179,'Serge',1,0.80,30,'lama')
-
a.
🗂️ Requête SQLSELECT animal.nom,animal.nom_espece FROM animal JOIN espece ON espece.nom_espece = animal.nom_espece JOIN enclos ON enclos.num_enclos = espece.num_enclos WHERE enclos.struct = 'vivarium' and espece.alimentation='carnivore'
b.
🗂️ Requête SQLSELECT COUNT(*) FROM animal JOIN espece ON espece.nom_espece = animal.nom_espece WHERE espece.classe='oiseaux'
Exercice 3 (4 points)⚓︎
Architecture matérille - Gestion processus et programmation
-
a.
🐍 Script PythonBonjour Alan !
b.
x
ety
sont des booléens etx
vautFalse
ety
vautTrue
c.
🐍 Script Pythondef occurrences_lettre(une_chaine,une_lettre): compt=0 for lettre in une_chaine: if lettre == une_lettre: compt += 1 return compt
-
a.
b.
-
a. La fonction
mystère
compte le nombre de noeud dans l'arbre ce qui correspond à la taille de l'arbre. doncmystere(abr_mots_francais)
renvoie 336531.
b.🐍 Script Pythondef hauteur(un_abr): if un_arb.est_vide(): return 0 else: 1+max(hauteur(un_abr.sous_arbre_gauche),hauteur(un_abr.sous_arbre_droit))
-
a.
🐍 Script Pythondef chercher_mots(liste_mots,longueur,lettre,position): res=[] for i in range(len(liste_mots)): if liste_mots[i][position]==lettre and len(liste_mots[i])==longueur: res.append(liste_mots[i]) return res
b. Cette instruction permet de cherche les mots de longueur 3 ayant x en position 2 et a en position 1 c'est-à-dire les mots de la forme
_ax
c.
chercher_mots(chercher_mots(chercher_mots(liste_mots_francais,5,'r',4),4,'e',3),5,'t',2)