[latex]
Bac General
Centre d’examen : Polynesie
Matiere : NSI
Annee : 2026
Session : Normale
Duree : 3 heures 30
Repere : 26-NSIJ2PO1
Calculatrice : non autorisée
EXERCICE 1 (6 points)
Cet exercice porte sur les bases de données relationnelles et le langage SQL.
Partie A : Modèle relationnel
1. Expliquer le rôle de la clé primaire dans une relation.
2. Donner les quatre attributs formant la clé primaire pour la relation Mesure.
3. Expliquer le rôle d’une clé étrangère.
4. Donner un exemple de clé étrangère dans le modèle relationnel ci-dessus.
Partie B : Alimentation de la base de données
5. Écrire une requête SQL permettant de rajouter à la table Mesure la mesure de valeur 34, du polluant PM10 (type d’influence « Trafic »), le 20/06/2022 de 10h à 11h pour la station « Annecy Rocade ».
6. Expliquer l’erreur IntegrityError: FOREIGN KEY constraint failed.
Partie C : Exploitation de la base de données
7. Écrire une requête SQL permettant d’afficher le nom et le site web des AASQA.
8. Écrire une requête SQL permettant d’afficher le nombre total de stations.
9. Expliquer à quoi sert la requête SQL fournie.
10. Écrire une requête SQL permettant d’afficher la date de début, la date de fin et la valeur du polluant PM10 pour la station « Mazagran ».
11. Écrire une requête SQL permettant d’afficher la liste sans doublon des polluants de la station « Mazagran ».
12. Écrire une requête SQL permettant d’afficher le nom des stations gérées par « Air Pays de la Loire » et pour ces stations la valeur, la date de début et la date de fin des mesures du polluant NO2.
EXERCICE 2 (6 points)
Cet exercice porte sur la programmation Python, les structures de données, les graphes et la recherche de motif dans un texte.
Partie A
1. Représenter une position des 3 tuiles qui n’est pas accessible depuis la position finale.
2. Nommer, en justifiant, la structure de données la plus adaptée pour modéliser, dans ce jeu, les passages d’une position à une autre.
3. Donner une instruction, basée sur l’instruction assert, qui permet d’interrompre le programme si la taille de la liste pos n’est pas correcte.
4. Compléter la fonction est_finale qui prend en paramètre une position représentée par une liste pos.
5. Compléter la fonction case_vide qui prend en paramètre une liste d’entiers pos et qui renvoie l’indice de 0.
6. Si la case vide se trouve en indice i dans une grille de 9 cases, donner les 4 indices susceptibles de désigner les tuiles qui peuvent être déplacées.
7. Expliquer le problème de la fonction est_possible et proposer une solution.
Partie B
8. Nommer un algorithme de recherche de motif dans un texte plus efficace que la recherche naïve.
9. Donner le résultat de l’appel recherche(‘na’, ‘banana’).
10. Donner un exemple de motif et un exemple de texte pour lesquels la fonction codée ne renvoie pas le résultat attendu.
EXERCICE 3 (8 points)
Cet exercice porte sur le routage et sur l’utilisation d’une structure arborescente.
Partie A
1. Donner le nombre maximum de machines pouvant être connectées au réseau ayant pour adresse 172.16.0.0/25.
2. Compléter le tableau indiquant le prochain saut à effectuer pour atteindre l’adresse IP considérée.
3. Compléter le tableau avec les adresses des interfaces des routeurs R1 à R4.
4. Compléter l’architecture réseau en ajoutant les nouveaux liens.
5. Déterminer le coût du chemin allant de la machine 172.16.0.10 jusqu’au réseau 192.168.0.0/24 avec le protocole RIP.
6. Calculer le coût des liaisons pour les 2 valeurs des bandes passantes utilisées.
7. Déterminer le coût du chemin allant de la machine 172.16.0.10 jusqu’au réseau 192.168.0.0/24 avec le protocole OSPF.
Partie B
8. Compléter l’arbre correspondant à la table de routage proposée.
9. Compléter les lignes 7 et 8 de la fonction rechercher_enfant.
10. Compléter le corps de la fonction rechercher.
11. Expliquer le rôle de la fonction mystere.
12. Proposer un algorithme permettant d’inverser la table de routage.
