[latex]
Bac General
Centre d’examen : Antilles-Guyane
Matiere : NSI
Annee : 2026
Session : Normale
Duree : 3 heures 30
Repere : 26-NSIJ1AG1
Calculatrice : non autorisée
Le sujet comporte 3 exercices indépendants.
Exercice 1 (6 points) – Bases de données relationnelles et SQL
Contexte : Système de réservation de pizzas pour le restaurant Pizzayolo.
Schéma relationnel :
– client(id : entier, nom : texte, prenom : texte)
– pizza(num : entier, couleur : texte, prix : flottant)
– commande(code : entier, id_client : entier, num_pizza : entier, date : texte, livraison : entier, paiement : entier)
Questions :
1. Avantages d’un SGBD par rapport à un tableur
2. Possibilité d’avoir deux pizzas avec même numéro, même prix, couleurs différentes
3. Exemple de clé étrangère
4. Résultat de : SELECT prix FROM pizza WHERE couleur = ‘Bianca’;
5. Requête SQL : couleurs des pizzas dont prix > 15 €
6. Requête SQL : prénoms des clients n’ayant pas payé une pizza livrée
7. Requête SQL : prix moyen des pizzas commandées par client « Esposito »
8. Requête UPDATE pour livraison de commande 42365
9. Requêtes INSERT pour nouveau client et commande
10. Problème lors de DELETE FROM pizza WHERE num = 1
11. Schéma relationnel pour tables ingredient et composition
12. Problèmes et précautions pour mise en ligne de la base
Exercice 2 (6 points) – Algorithmique et programmation Python
Problème : Longest Common Subsequence (LCS)
Partie A – Recherche exhaustive :
1. Compléter tableau d’appels récursifs de sous_listes([9, 3, 7], [[]])
2. Compléter lignes 7 et 8 de la fonction sous_listes
3. Complexité de lcs_force_brute
Partie B – Programmation dynamique :
4. Résultat de lcs([9, 3, 7, 5, 8], 1, [9, 7, 8, 3, 7, 3], 1)
5. Relation de récurrence si derniers éléments identiques
6. Justifier que fonction aux est récursive
7. Risque pour grandes listes
8. Solution pour éviter le problème
Exercice 3 (8 points) – Protocoles de routage, sécurisation et POO
Partie A – Routage et sécurisation :
Réseau entre Bob et serveur Alice (alice.fr) avec routeurs R1 à R8.
1. Chemin RIP de Bob vers serveur DNS
2. Chemin OSPF de Bob vers Alice
3. Coût du chemin OSPF
4. Conséquence de panne de R3
5. Protocole de chiffrement navigateur-serveur
6. Rôle de la clé symétrique
7. Utilisation clés publique/privée pour transmission sécurisée
8. Sécurité et authentification avec signature digitale
Partie B – Fonctions utilitaires (module outils) :
9. Fonction somme(tableau) : renvoie somme des éléments
10. Fonction permuter(tab, i, j) : permute éléments d’indices i et j
11. Compléter ligne 3 de fonction inverser(tab)
12. Compléter lignes 7-13 de fonction generer_sac() : génère tableau de 8 entiers avec contraintes spécifiques
Partie C – Classe Cle_symetrique :
Chiffrement d’octet représenté par tableau de 8 bits [b0, b1, …, b7].
Chiffrement = somme des produits bi × sac[i].
13. Compléter ligne 4 du __init__(self)
14. Compléter lignes 8-11 de méthode chiffrer(self, octet)
15. Justifier déchiffrement de 688 en [1, 0, 1, 1, 1, 1, 0, 1]
16. Écrire méthode dechiffrer(self, entier) : algorithme glouton parcourant le sac
