[latex]
Bac General
Centre d’examen : Antilles-Guyane
Matiere : NSI
Annee : 2026
Session : Normale
Duree : 3 heures 30
Repere : 26-NSIJ2AG1
Calculatrice : non autorisée
Exercice 1 (6 points)
Bases de données relationnelles, requêtes SQL et programmation objet
Partie A – Base de données d’une agence de coworking
Relations: salle(id_salle, intitule, type, nb_places, tarif_jour), reservation(id, id_client, id_salle, date, duree), client(id_client, societe, num_tel)
Questions sur clés étrangères, requêtes SELECT avec WHERE/ORDER BY, INSERT/UPDATE, agrégations (SUM), jointures.
Partie B – Programmation orientée objet
Classe Salle en Python avec attributs (intitule, type_salle, nb_places, tarif, dispo, occupant) et méthodes (reserver, liberer). Classe Seminaire avec méthodes de gestion de réservations multiples.
—
Exercice 2 (6 points)
Protocoles de routage et graphes
Partie A – Réseau avec routeurs R1-R6
Adressage IP, tables de routage selon protocoles RIP (métrique = nombre de routeurs) et OSPF (métrique = somme des coûts). Questions sur chemins optimaux, calcul de débits, mise à jour de tables de routage, représentation par graphe.
Partie B – Analogie réseau routier
Graphe de villes V1-V6. Parcours en largeur, plus court chemin avec fonction itineraire_court (BFS), analyse de l’algorithme et trace d’exécution.
—
Exercice 3 (8 points)
Tableaux, dictionnaires, récursivité et programmation dynamique
Scénario: scierie avec stock de planches (longueurs 1-10m, prix variables).
Partie A – Gestion par dictionnaire
Dictionnaire effectif associant longueur → nombre de planches. Fonctions: valeur_stock, mise_a_jour, vendre.
Partie B – Optimisation de découpage
Calculer valeur maximale valmax(n) d’une planche de longueur n par découpe optimale. Formule récursive: si n≤3, valmax(n)=prix[n]; sinon max(prix[n], prix[n-1]+valmax(1), …, prix[1]+valmax(n-1)).
Partie C – Programmation dynamique
Mémorisation dans tableau memo pour éviter calculs redondants. Fonction valmax_dynamique et valeur_max_stock.
