SlideShare une entreprise Scribd logo
1  sur  8
Télécharger pour lire hors ligne
BAC GÉNÉRAL 2022
Épreuve de spécialité Numérique Sciences Informatiques (NSI)
Jeudi 12 mai 2022
Exercice 1
1. a. Taille de l’arbre : 8 nœuds
b. Hauteur de l’arbre : 4
c. Sous-arbre droit du nœud de valeur 15 :
d. L’arbre est un ABR car, pour chaque nœud de l’arbre, chaque nœud de son SAG a une clé
inférieure ou égale à la clé du nœud considéré, et chaque nœud de son SAD a une clé de
valeur supérieure ou égale. Ainsi, pour le nœud de clé 15, toutes les clés de son SAG sont de
valeur inférieure (11, 13, 14) et toutes les clés de son SAD sont de valeur supérieure (18, 20, 21,
27). Ce raisonnement peut être réitéré pour n’importe quel autre nœud.
e. Arbre de recherche binaire après inclusion de la clé 17 :
2. a. C’est la proposition C qui permet d’instancier l’ABR proposé.
b. Code de la ligne 7 :
return Noeud(ins(v, abr.gauche), abr.valeur, abr.droit)
3. a. Il y aura au total 17 appels à la fonction nb_sup, soit 2 x taille + 1 car il y a un appel initial
sur l’arbre et ensuite systématiquement 1 appel pour chacun des 2 sous-arbres (même
vides) de chacun des nœuds de l’arbre.
b. L’arbre étant un ABR, il n’est pas nécessaire d’appeler la fonction sur un sous-arbre
lorsque sa clé est inférieure car toutes les clés du sous-arbre seront nécessairement
inférieures également. On modifie donc uniquement la ligne 8 en remplaçant la valeur
retournée initialement dans le code par la valeur 0 (indentation inchangée) :
return 0
Exercice 2
1. Étapes de la réduction de la pile :
Premiers parcours de la pile :
4
9 4
8 8 4
7 7 8
4 4 4
2 2 2
Deuxième parcours de la pile :
4
8 4
4 4
2 2
Troisième et dernier parcours de la pile :
4
4 4
2 2
2. La pile B est gagnante, elle termine par l’empilement de 4 au-dessus de 0.
3. Code de la fonction reduire_triplet_au_sommet :
def reduire_triplet_au_sommet(p) :
a = depiler(p)
b = depiler(p)
c = sommet(p)
if a % 2 != b % 2:
empiler(p, b)
empiler(p, a)
3. a. La pile doit avoir une taille minimale de 3 éléments pour être réductible.
b. Code de la fonction parcourir_pile_en_reduisant :
def parcourir_pile_en_reduisant(p):
q = créer_pile_vide()
while taille(p) >= 3:
reduire_triplet_au_sommet(p)
e = depiler(p)
empiler(q, e)
while not est_vide(q):
e = depiler(q)
empiler(p, e)
return p
4. Code de la fonction jouer :
def jouer(p):
q = parcourir_pile_en_reduisant(p)
if taille(q) == taille(p):
return p
else:
return jouer(q)
Exercice 3
1. a. Adresse du réseau : 192.168.1.0 car le masque couvre les 24 bits de gauche (les 3 premiers
octets) et les 8 bits à droite (le dernier octet) sont mis à zéro.
b. L’adresse de diffusion (broadcast) est : 192.168.1.255.
c. Il y a au total 28
= 256 adresses possibles dans ce réseau. Lorsqu’on retire les deux
adresses décrites ci-dessus, il reste 256 – 2 = 254 machines adressables.
d. On peut ajouter une machine d’adresse 192.168.1.2 par exemple (le dernier octet prend
une valeur entre 0 et 255, sauf .0, .1, .3 et .255).
2. a. Les routes possibles sont :
• A – E – D
• A – E – C – F – D
• A – B – C – E – D
• A – B – C – F - D
b. Le fait d’avoir plusieurs routes possibles entre deux réseaux permet de maintenir
l’existence d’au moins une route dans le cas d’une panne d’un routeur ou d’une coupure
d’une liaison entre deux routeurs.
3. a. Table de routage du routeur A :
Routeur A
Destination passe par
B B
C C
D E
E E
F C
b. Route de B à D en utilisant les tables : B – C – E – D.
c. Nouvelles tables de routage pour A, B et C :
Routeur A Routeur B Routeur C
Destination passe par Destination passe par Destination passe par
B B A B A B
C C C A B A
D C D A D E
E C E A E E
F C F A F C
d. La nouvelle route sera : B – A – C – E – D.
4. a. Coût des liaisons :
Liaison Débit (bit/s) Coût
Ethernet 107
10
Fast-Ethernet 108
1
Fibre 109
0,1
b. Schéma :
c. Routes possibles et coût correspondant (le coût d’une route est la somme des coûts des
liaisons entre routeurs traversés) :
• B – C – A – E – D : 11,2
• B – C – E – D : 10,2
• B – C – F – D : 11,1
• B – A – C – E – D : 1,3
• B – A – C – F – D : 2,2
• B – A – E – C – F – D : 3,2
• B – A – E – D : 2,1
d. La route qui sera empruntée (entre les routeurs B et D) sera celle qui minimise le coût
estimé, soit le chemin le plus court B – A – C – E – D, de coût 1,3.
B
A
E
C
F
D
1
10
1
1
0,1
0,1
0,1
0,1
Exercice 4
1. a. Résultat :
Hey Jude
I Want To Hold Your Hand
b. Requête :
SELECT titre
FROM morceaux
ORDER BY titre;
c. Résultat :
I Want To Hold Your Hand 1963
Like a Rolling Stone 1965
Respect 1967
Hey Jude 1968
Imagine 1970
Smells Like Teen Spirit 1991
d. Requête :
SELECT COUNT(*)
FROM morceaux;
e. Requête :
SELECT titre
FROM morceaux
ORDER BY titre;
2. a. La clé étrangère de la table morceaux est id_interprete car elle fait référence à la clé
primaire d’une autre table (interpretes).
b. Schéma relationnel :
interpretes morceaux
id_interprete
nom
pays
id_morceau
titre
année
#id_interprete
c. La requête d’insertion produit une erreur car elle conduirait à créer un nouvel
enregistrement dont l’attribut id_interprete aurait la valeur 1, ce qui serait un doublon
(ce qui impossible car cet attribut est une clé primaire de la table et doit donc être unique).
3. a. Requête de mise à jour :
UPDATE morceaux
SET annee = 1971
WHERE id_morceau = 3;
b. Requête d’insertion :
INSERT INTO interpretes
VALUES (6, 'The Who', 'Angleterre');
c. Requête d’insertion :
INSERT INTO interpretes
VALUES (7, 'My Generation', 1965, 6);
4. Requête listant les interprètes venant des États-Unis :
SELECT titre
FROM morceaux
JOIN interpretes
ON morceaux.id_interprete = interpretes.id_interprete
WHERE interpretes.pays = 'Angleterre';
Exercice 5
1. Création d’une instance de cellule possédant tous ses murs sauf le mur Est :
cellule = Cellule(True, False, True, True)
2. Lignes 6 à 10 de la classe Labyrinthe :
for i in range(hauteur):
ligne = []
for j in range(longueur):
cellule = Cellule(True, True, True, True)
ligne.append(cellule)
3. Instruction à ajouter ligne 19 (même indentation que la ligne 18) :
cellule2.murs('S') = False
4. Lignes 21 à 23 :
elif c1_col – c2.col == 1 and c1_lig == c2_lig:
cellule1.murs('O') = False
cellule2.murs('E') = False
5. Lignes 25 à 30 de la méthode creer_labyrinthe :
if haut == 1 : # cas de base
for k in range(long):
self.creer_passage(ligne, k, ligne, k+1)
elif long == 1: # cas de base
for k in range(haut):
self.creer_passage(k, colonne, k+1, colonne)
6. Dessin du labyrinthe obtenu :

Contenu connexe

Tendances

algorithme chapitre 1 et 2 (1).pptx
algorithme chapitre 1 et 2 (1).pptxalgorithme chapitre 1 et 2 (1).pptx
algorithme chapitre 1 et 2 (1).pptx
Hathat10
 
Projet de programmation la conversion entre les bases
Projet de programmation   la conversion entre les bases Projet de programmation   la conversion entre les bases
Projet de programmation la conversion entre les bases
Tunisie collège
 
Devoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siDevoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 si
Narûtö Bàl'Sèm
 
exercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiqueexercices-corriges-dalgorithmique
exercices-corriges-dalgorithmique
fast xp
 

Tendances (20)

Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El Hassani
 
Travaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de donnéesTravaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de données
 
01 correction-td smia-s2-info2
01 correction-td smia-s2-info201 correction-td smia-s2-info2
01 correction-td smia-s2-info2
 
Central processing unit
Central processing unitCentral processing unit
Central processing unit
 
Correction
CorrectionCorrection
Correction
 
Recursiviteeeeeeeeee
RecursiviteeeeeeeeeeRecursiviteeeeeeeeee
Recursiviteeeeeeeeee
 
algorithme chapitre 1 et 2 (1).pptx
algorithme chapitre 1 et 2 (1).pptxalgorithme chapitre 1 et 2 (1).pptx
algorithme chapitre 1 et 2 (1).pptx
 
Serie
SerieSerie
Serie
 
Serie2
Serie2Serie2
Serie2
 
Corrigés exercices langage C
Corrigés exercices langage CCorrigés exercices langage C
Corrigés exercices langage C
 
Projet de programmation la conversion entre les bases
Projet de programmation   la conversion entre les bases Projet de programmation   la conversion entre les bases
Projet de programmation la conversion entre les bases
 
Examen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesExamen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de données
 
Cours php bac info
Cours php bac infoCours php bac info
Cours php bac info
 
bac info : série récursivité
bac info : série récursivitébac info : série récursivité
bac info : série récursivité
 
Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018
 
Bac info 2000-2015 (Tunisie)
Bac info 2000-2015 (Tunisie)Bac info 2000-2015 (Tunisie)
Bac info 2000-2015 (Tunisie)
 
Devoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siDevoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 si
 
exercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiqueexercices-corriges-dalgorithmique
exercices-corriges-dalgorithmique
 
Cours structures des données (langage c)
Cours structures des données (langage c)Cours structures des données (langage c)
Cours structures des données (langage c)
 
Mes devoirs 4 si
Mes devoirs 4 siMes devoirs 4 si
Mes devoirs 4 si
 

Similaire à Corrigé NSI- J2

103433 flexion hyperstatique
103433 flexion hyperstatique103433 flexion hyperstatique
103433 flexion hyperstatique
Aissa Ouai
 
E_memoire.pdf----------------------------
E_memoire.pdf----------------------------E_memoire.pdf----------------------------
E_memoire.pdf----------------------------
NasriMohsen2
 
4 t série5-1314-wa-alphamaths
4 t série5-1314-wa-alphamaths4 t série5-1314-wa-alphamaths
4 t série5-1314-wa-alphamaths
Smaali Mondher
 
Corrige tp2 reseaux
Corrige tp2 reseauxCorrige tp2 reseaux
Corrige tp2 reseaux
Youssef Rvd
 
Chapitre ii circuits combinatoires
Chapitre ii circuits combinatoiresChapitre ii circuits combinatoires
Chapitre ii circuits combinatoires
Sana Aroussi
 
Numeration et codage_de_linfo
Numeration et codage_de_linfoNumeration et codage_de_linfo
Numeration et codage_de_linfo
yarsenv47
 
Tp transcodage logique combinatoire
Tp transcodage logique combinatoireTp transcodage logique combinatoire
Tp transcodage logique combinatoire
bilal001
 

Similaire à Corrigé NSI- J2 (20)

Td logique
Td logiqueTd logique
Td logique
 
Assembleur
AssembleurAssembleur
Assembleur
 
TP2_correction.pdf
TP2_correction.pdfTP2_correction.pdf
TP2_correction.pdf
 
103433 flexion hyperstatique
103433 flexion hyperstatique103433 flexion hyperstatique
103433 flexion hyperstatique
 
Circuits logiques combinatoire
Circuits logiques combinatoireCircuits logiques combinatoire
Circuits logiques combinatoire
 
E_memoire.pdf----------------------------
E_memoire.pdf----------------------------E_memoire.pdf----------------------------
E_memoire.pdf----------------------------
 
4 t série5-1314-wa-alphamaths
4 t série5-1314-wa-alphamaths4 t série5-1314-wa-alphamaths
4 t série5-1314-wa-alphamaths
 
Corrige tp2 reseaux
Corrige tp2 reseauxCorrige tp2 reseaux
Corrige tp2 reseaux
 
Corrige tp2 reseaux
Corrige tp2 reseauxCorrige tp2 reseaux
Corrige tp2 reseaux
 
Ch1 circuits logiques_p1_combinatoire-v4
Ch1 circuits logiques_p1_combinatoire-v4Ch1 circuits logiques_p1_combinatoire-v4
Ch1 circuits logiques_p1_combinatoire-v4
 
Ch10
Ch10Ch10
Ch10
 
ch4_circuitscombinatoires.ppt
ch4_circuitscombinatoires.pptch4_circuitscombinatoires.ppt
ch4_circuitscombinatoires.ppt
 
Les vecteurs seconde2020.pptx
Les vecteurs seconde2020.pptxLes vecteurs seconde2020.pptx
Les vecteurs seconde2020.pptx
 
Exam 191207
Exam 191207Exam 191207
Exam 191207
 
ch7_les chaines de caractères.pdf
ch7_les chaines de caractères.pdfch7_les chaines de caractères.pdf
ch7_les chaines de caractères.pdf
 
Chapitre ii circuits combinatoires
Chapitre ii circuits combinatoiresChapitre ii circuits combinatoires
Chapitre ii circuits combinatoires
 
Numeration et codage_de_linfo
Numeration et codage_de_linfoNumeration et codage_de_linfo
Numeration et codage_de_linfo
 
Les vecteurs seconde2020.pdf
Les vecteurs seconde2020.pdfLes vecteurs seconde2020.pdf
Les vecteurs seconde2020.pdf
 
Cours de C++ / Tronc commun deuxième année ISIMA
Cours de C++ / Tronc commun deuxième année ISIMACours de C++ / Tronc commun deuxième année ISIMA
Cours de C++ / Tronc commun deuxième année ISIMA
 
Tp transcodage logique combinatoire
Tp transcodage logique combinatoireTp transcodage logique combinatoire
Tp transcodage logique combinatoire
 

Plus de LETUDIANT1

Plus de LETUDIANT1 (20)

bac 2022 correction sujet 2 OK
bac 2022 correction sujet 2 OKbac 2022 correction sujet 2 OK
bac 2022 correction sujet 2 OK
 
Correction bac STSS 2022
Correction bac STSS 2022Correction bac STSS 2022
Correction bac STSS 2022
 
bac 2022 - correction SES jour 2
bac 2022 - correction SES jour 2bac 2022 - correction SES jour 2
bac 2022 - correction SES jour 2
 
Correction HLP
Correction HLPCorrection HLP
Correction HLP
 
bac 2022 correction HGGSP Jour 2
bac 2022 correction HGGSP Jour 2bac 2022 correction HGGSP Jour 2
bac 2022 correction HGGSP Jour 2
 
Bac 2022 Correction SVT Jour 2
Bac 2022 Correction SVT Jour 2Bac 2022 Correction SVT Jour 2
Bac 2022 Correction SVT Jour 2
 
Correction bac LLCER anglais
Correction bac LLCER anglaisCorrection bac LLCER anglais
Correction bac LLCER anglais
 
Correction bac LLCER anglais
Correction bac LLCER anglaisCorrection bac LLCER anglais
Correction bac LLCER anglais
 
Correction-bac-physique-chimie-12.05.pdf
Correction-bac-physique-chimie-12.05.pdfCorrection-bac-physique-chimie-12.05.pdf
Correction-bac-physique-chimie-12.05.pdf
 
Bac 2022 - Physique Chimie Sujet jour 2
Bac 2022 - Physique Chimie Sujet jour 2Bac 2022 - Physique Chimie Sujet jour 2
Bac 2022 - Physique Chimie Sujet jour 2
 
BAC 2022 - SVT
BAC 2022 - SVTBAC 2022 - SVT
BAC 2022 - SVT
 
22-LLCERALME1.pdf
22-LLCERALME1.pdf22-LLCERALME1.pdf
22-LLCERALME1.pdf
 
BAC 2022 STMG éco droit Sujet 2
BAC 2022 STMG éco droit Sujet 2BAC 2022 STMG éco droit Sujet 2
BAC 2022 STMG éco droit Sujet 2
 
22-LLCERPort.pdf
22-LLCERPort.pdf22-LLCERPort.pdf
22-LLCERPort.pdf
 
22-LLCERITME1.pdf
22-LLCERITME1.pdf22-LLCERITME1.pdf
22-LLCERITME1.pdf
 
22-LLCERESPA.pdf
22-LLCERESPA.pdf22-LLCERESPA.pdf
22-LLCERESPA.pdf
 
BAC 2022 - Ingénierie, innovation et développement durable
BAC 2022 - Ingénierie, innovation et développement durable BAC 2022 - Ingénierie, innovation et développement durable
BAC 2022 - Ingénierie, innovation et développement durable
 
bac 2022 HLP Sujet jour 2
bac 2022 HLP Sujet jour 2bac 2022 HLP Sujet jour 2
bac 2022 HLP Sujet jour 2
 
22-LLCERANGLAIS.pdf
22-LLCERANGLAIS.pdf22-LLCERANGLAIS.pdf
22-LLCERANGLAIS.pdf
 
BAC 2022 - SES - Jour 2
BAC 2022 - SES - Jour 2BAC 2022 - SES - Jour 2
BAC 2022 - SES - Jour 2
 

Dernier

ilide.info-cours-recherche-d-emploi-pr_aa839df7439dd234c803551c86e0197c.pdf
ilide.info-cours-recherche-d-emploi-pr_aa839df7439dd234c803551c86e0197c.pdfilide.info-cours-recherche-d-emploi-pr_aa839df7439dd234c803551c86e0197c.pdf
ilide.info-cours-recherche-d-emploi-pr_aa839df7439dd234c803551c86e0197c.pdf
ssuser6041d32
 

Dernier (14)

Saint Damien, missionnaire auprès des lépreux de Molokai, Hawaï.pptx
Saint Damien, missionnaire auprès des lépreux de Molokai, Hawaï.pptxSaint Damien, missionnaire auprès des lépreux de Molokai, Hawaï.pptx
Saint Damien, missionnaire auprès des lépreux de Molokai, Hawaï.pptx
 
Nathanaëlle Herbelin.pptx Peintre française
Nathanaëlle Herbelin.pptx Peintre françaiseNathanaëlle Herbelin.pptx Peintre française
Nathanaëlle Herbelin.pptx Peintre française
 
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean EudesNeuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
 
Chapitre3-Classififcation des structures de chaussu00E9e.pptx
Chapitre3-Classififcation des structures de  chaussu00E9e.pptxChapitre3-Classififcation des structures de  chaussu00E9e.pptx
Chapitre3-Classififcation des structures de chaussu00E9e.pptx
 
Un petit coin etwinning- Au fil des cultures urbaines
Un petit coin  etwinning- Au fil des cultures urbainesUn petit coin  etwinning- Au fil des cultures urbaines
Un petit coin etwinning- Au fil des cultures urbaines
 
GHASSOUB _Seance 3_ measurement and evaluation in education.pptx
GHASSOUB _Seance 3_ measurement and evaluation in education.pptxGHASSOUB _Seance 3_ measurement and evaluation in education.pptx
GHASSOUB _Seance 3_ measurement and evaluation in education.pptx
 
Àma Gloria.pptx Un film tourné au Cap Vert et en France
Àma Gloria.pptx   Un film tourné au Cap Vert et en FranceÀma Gloria.pptx   Un film tourné au Cap Vert et en France
Àma Gloria.pptx Un film tourné au Cap Vert et en France
 
ilide.info-cours-recherche-d-emploi-pr_aa839df7439dd234c803551c86e0197c.pdf
ilide.info-cours-recherche-d-emploi-pr_aa839df7439dd234c803551c86e0197c.pdfilide.info-cours-recherche-d-emploi-pr_aa839df7439dd234c803551c86e0197c.pdf
ilide.info-cours-recherche-d-emploi-pr_aa839df7439dd234c803551c86e0197c.pdf
 
Fiche de vocabulaire pour faire une appréciation
Fiche de vocabulaire pour faire une appréciationFiche de vocabulaire pour faire une appréciation
Fiche de vocabulaire pour faire une appréciation
 
Réunion des directeurs de Jonzac - 15 mai 2024
Réunion des directeurs de Jonzac - 15 mai 2024Réunion des directeurs de Jonzac - 15 mai 2024
Réunion des directeurs de Jonzac - 15 mai 2024
 
complement de agri cours irrigation.pptx
complement de agri cours irrigation.pptxcomplement de agri cours irrigation.pptx
complement de agri cours irrigation.pptx
 
Texte avec différentes critiques positives, négatives ou mitigées
Texte avec différentes critiques positives, négatives ou mitigéesTexte avec différentes critiques positives, négatives ou mitigées
Texte avec différentes critiques positives, négatives ou mitigées
 
GHASSOUB _Seance 4_ measurement and evaluation in education_-.pptx
GHASSOUB _Seance 4_ measurement and evaluation in education_-.pptxGHASSOUB _Seance 4_ measurement and evaluation in education_-.pptx
GHASSOUB _Seance 4_ measurement and evaluation in education_-.pptx
 
CALENDRIER ET COMPTE RENDU REUNION DIRECTION
CALENDRIER ET COMPTE RENDU REUNION DIRECTIONCALENDRIER ET COMPTE RENDU REUNION DIRECTION
CALENDRIER ET COMPTE RENDU REUNION DIRECTION
 

Corrigé NSI- J2

  • 1. BAC GÉNÉRAL 2022 Épreuve de spécialité Numérique Sciences Informatiques (NSI) Jeudi 12 mai 2022 Exercice 1 1. a. Taille de l’arbre : 8 nœuds b. Hauteur de l’arbre : 4 c. Sous-arbre droit du nœud de valeur 15 : d. L’arbre est un ABR car, pour chaque nœud de l’arbre, chaque nœud de son SAG a une clé inférieure ou égale à la clé du nœud considéré, et chaque nœud de son SAD a une clé de valeur supérieure ou égale. Ainsi, pour le nœud de clé 15, toutes les clés de son SAG sont de valeur inférieure (11, 13, 14) et toutes les clés de son SAD sont de valeur supérieure (18, 20, 21, 27). Ce raisonnement peut être réitéré pour n’importe quel autre nœud. e. Arbre de recherche binaire après inclusion de la clé 17 : 2. a. C’est la proposition C qui permet d’instancier l’ABR proposé. b. Code de la ligne 7 : return Noeud(ins(v, abr.gauche), abr.valeur, abr.droit) 3. a. Il y aura au total 17 appels à la fonction nb_sup, soit 2 x taille + 1 car il y a un appel initial sur l’arbre et ensuite systématiquement 1 appel pour chacun des 2 sous-arbres (même vides) de chacun des nœuds de l’arbre. b. L’arbre étant un ABR, il n’est pas nécessaire d’appeler la fonction sur un sous-arbre lorsque sa clé est inférieure car toutes les clés du sous-arbre seront nécessairement inférieures également. On modifie donc uniquement la ligne 8 en remplaçant la valeur retournée initialement dans le code par la valeur 0 (indentation inchangée) : return 0
  • 2. Exercice 2 1. Étapes de la réduction de la pile : Premiers parcours de la pile : 4 9 4 8 8 4 7 7 8 4 4 4 2 2 2 Deuxième parcours de la pile : 4 8 4 4 4 2 2 Troisième et dernier parcours de la pile : 4 4 4 2 2 2. La pile B est gagnante, elle termine par l’empilement de 4 au-dessus de 0. 3. Code de la fonction reduire_triplet_au_sommet : def reduire_triplet_au_sommet(p) : a = depiler(p) b = depiler(p) c = sommet(p) if a % 2 != b % 2: empiler(p, b) empiler(p, a) 3. a. La pile doit avoir une taille minimale de 3 éléments pour être réductible. b. Code de la fonction parcourir_pile_en_reduisant : def parcourir_pile_en_reduisant(p): q = créer_pile_vide() while taille(p) >= 3: reduire_triplet_au_sommet(p) e = depiler(p) empiler(q, e) while not est_vide(q): e = depiler(q) empiler(p, e) return p
  • 3. 4. Code de la fonction jouer : def jouer(p): q = parcourir_pile_en_reduisant(p) if taille(q) == taille(p): return p else: return jouer(q)
  • 4. Exercice 3 1. a. Adresse du réseau : 192.168.1.0 car le masque couvre les 24 bits de gauche (les 3 premiers octets) et les 8 bits à droite (le dernier octet) sont mis à zéro. b. L’adresse de diffusion (broadcast) est : 192.168.1.255. c. Il y a au total 28 = 256 adresses possibles dans ce réseau. Lorsqu’on retire les deux adresses décrites ci-dessus, il reste 256 – 2 = 254 machines adressables. d. On peut ajouter une machine d’adresse 192.168.1.2 par exemple (le dernier octet prend une valeur entre 0 et 255, sauf .0, .1, .3 et .255). 2. a. Les routes possibles sont : • A – E – D • A – E – C – F – D • A – B – C – E – D • A – B – C – F - D b. Le fait d’avoir plusieurs routes possibles entre deux réseaux permet de maintenir l’existence d’au moins une route dans le cas d’une panne d’un routeur ou d’une coupure d’une liaison entre deux routeurs. 3. a. Table de routage du routeur A : Routeur A Destination passe par B B C C D E E E F C b. Route de B à D en utilisant les tables : B – C – E – D. c. Nouvelles tables de routage pour A, B et C : Routeur A Routeur B Routeur C Destination passe par Destination passe par Destination passe par B B A B A B C C C A B A D C D A D E E C E A E E F C F A F C d. La nouvelle route sera : B – A – C – E – D. 4. a. Coût des liaisons : Liaison Débit (bit/s) Coût Ethernet 107 10 Fast-Ethernet 108 1 Fibre 109 0,1
  • 5. b. Schéma : c. Routes possibles et coût correspondant (le coût d’une route est la somme des coûts des liaisons entre routeurs traversés) : • B – C – A – E – D : 11,2 • B – C – E – D : 10,2 • B – C – F – D : 11,1 • B – A – C – E – D : 1,3 • B – A – C – F – D : 2,2 • B – A – E – C – F – D : 3,2 • B – A – E – D : 2,1 d. La route qui sera empruntée (entre les routeurs B et D) sera celle qui minimise le coût estimé, soit le chemin le plus court B – A – C – E – D, de coût 1,3. B A E C F D 1 10 1 1 0,1 0,1 0,1 0,1
  • 6. Exercice 4 1. a. Résultat : Hey Jude I Want To Hold Your Hand b. Requête : SELECT titre FROM morceaux ORDER BY titre; c. Résultat : I Want To Hold Your Hand 1963 Like a Rolling Stone 1965 Respect 1967 Hey Jude 1968 Imagine 1970 Smells Like Teen Spirit 1991 d. Requête : SELECT COUNT(*) FROM morceaux; e. Requête : SELECT titre FROM morceaux ORDER BY titre; 2. a. La clé étrangère de la table morceaux est id_interprete car elle fait référence à la clé primaire d’une autre table (interpretes). b. Schéma relationnel : interpretes morceaux id_interprete nom pays id_morceau titre année #id_interprete c. La requête d’insertion produit une erreur car elle conduirait à créer un nouvel enregistrement dont l’attribut id_interprete aurait la valeur 1, ce qui serait un doublon (ce qui impossible car cet attribut est une clé primaire de la table et doit donc être unique). 3. a. Requête de mise à jour : UPDATE morceaux SET annee = 1971 WHERE id_morceau = 3; b. Requête d’insertion : INSERT INTO interpretes VALUES (6, 'The Who', 'Angleterre'); c. Requête d’insertion : INSERT INTO interpretes VALUES (7, 'My Generation', 1965, 6); 4. Requête listant les interprètes venant des États-Unis :
  • 7. SELECT titre FROM morceaux JOIN interpretes ON morceaux.id_interprete = interpretes.id_interprete WHERE interpretes.pays = 'Angleterre';
  • 8. Exercice 5 1. Création d’une instance de cellule possédant tous ses murs sauf le mur Est : cellule = Cellule(True, False, True, True) 2. Lignes 6 à 10 de la classe Labyrinthe : for i in range(hauteur): ligne = [] for j in range(longueur): cellule = Cellule(True, True, True, True) ligne.append(cellule) 3. Instruction à ajouter ligne 19 (même indentation que la ligne 18) : cellule2.murs('S') = False 4. Lignes 21 à 23 : elif c1_col – c2.col == 1 and c1_lig == c2_lig: cellule1.murs('O') = False cellule2.murs('E') = False 5. Lignes 25 à 30 de la méthode creer_labyrinthe : if haut == 1 : # cas de base for k in range(long): self.creer_passage(ligne, k, ligne, k+1) elif long == 1: # cas de base for k in range(haut): self.creer_passage(k, colonne, k+1, colonne) 6. Dessin du labyrinthe obtenu :