[Bac NSI 2025] - Corrigé des exercises

Exemples de document22 Août 2025

Vous passez le bac de NSI cette année et souhaitez vous entraîner sur des annales ? Vous êtes au bon endroit : voici le corrigé complet du bac de NSI 2025 !

[Bac NSI 2025] - Corrigé des exercises

Préparez les épreuves du bac avec un tuteur rédacteur

Sujet complet de l'épreuve disponible ici : https://www.education.gouv.fr/reussir-au-lycee/bac-2025-les-sujets-des-epreuves-ecrites-de-specialite-450514

Exercice 1

Partie A

1.     L’attribut num_ser ne peut pas être une clé primaire car il ne peut pas être présent en double.

2.     Voici le résultat de la requête :

ID

Marque

Modèle

Année

Num_ser

Prix

1

Gibson

Les Paul Goldtop

1956

@70562

100000

7

Fender

Stratocaster

1956

001359

200000

 

3.     SELECT annee 

FROM inventaire

WHERE modele= « Les Paul Standard » ;

4.     SELECT modele 

FROM inventaire

WHERE marque= « Gibson »

ORDER BY année ASC ;

5.     UPDATE inventaire

SET année = 1957

WHERE id = 1 ;

MyStudies vous accompagne tout au long du lycée : corrigé du bac, rédaction de dissertation, relecture d'analyse, envoi de document

Partie B

6.     Il faut d’abord créer la marque, puis le modèle et enfin la guitare puisque la guitare utilise #id_modele et le modèle utilise #id marque.

7.     SELECT g.num_ser, g_annee

FROM guitare g

JOIN modele m ON g.id_modele=m.id

WHERE m.nom= « Les Paul Standard » ;

8.     DELETE FROM guitare

WHERE id = 3 ; 

9.     Voici les différentes requêtes SQL à effectuer (dans l’ordre) :

INSERT INTO marque (id, nom)

VALUES (3, « BC Rich ») ; 

INSERT INTO modele (id, nom, id_marque) 

VALUES (5, « Mockingbird », 3) ;

INSERT INTO guitare (id, id_modele, annee, num_ser, prix) 

VALUES (9, 5, 1992, '92R', 5000) ;

10.                                

SELECT SUM(g.prix) AS valeur_totale 

FROM guitare g 

JOIN modele m ON g.id_modele = m.id 

WHERE m.nom = « Stratocaster »;

Exercice 2 

1.     tache1 = Tache(1, « Répondre aux e-mails. », 45)

tache2 = Tache(2, « Ranger ma chambre. », 60)

2.     def avancer (self, n) :

            self.duree_restante -= n 

(Équivalent à : self.duree_restante = self.duree_restante -n)

3.     def est_terminee(self) :

            return self.duree_restante <= 0

4.     On aura : [début] (, 4) (, 4) (, 3) (, 3) (, 2) (, 1) (, 1) [fin]

5.     La valeur de f.defiler()[0] sera  et le contenu de la file après : [début] (, 3) (, 3) (, 1) (, 1) [fin]

6.     La valeur de f.examiner()[1] sera 4 et le contenu de la file : [début] (, 4) (, 3) (, 3) (, 1) (, 1) [fin]

7.     def ajouter_file_prio(f, t, p) :
        f_aux = File()
        while (not f.est_vide()) and (f.examiner()[1] >=p) :
                f_aux.enfiler(f.defiler())
        f_aux.enfiler((t, p))
        while not f.est_vide() :
                f_aux.enfiler(f.defiler())
        while not f_aux.est_vide() :
                f.enfiler(f_aux.defiler())

8.     Dans le pire des cas, le coût d’exécution temporel sera O(m) avec m le nombre d’éléments dans la file f.

9.     

Bloc de 25 minutes

Numéro tâche

1

3

2

7

3

3

4

3

5

3

6

1

7

2

8

1

9

2

10

2

11

6

12

6

13

6

14

4

15

5

16

4

17

5


10.                               

def planning(file) :
        result = []
        while not file.est_vide() :
                t, p = file.defiler()
                result.append(t)
                t.avancer(25)
                if not t.est_terminee() :
                        ajouter_file_prio(f, t, p)
        return result

Exercice 3

Partie A

1.     Les deux IP valides sont 192.168.20.2 et 192.168.20.157.

2.     Son adresse de diffusion est 192.168.20.255.

3.     Il y a 3 bornes de commandes + les 3 adresses réservées (routeur, broadcats et .0) font qu’il reste seulement 2^8 – 6 = 250 machines au maximum.

4.     Pour encoder les 8 adresses, on utilise 3 bits. Il peut donc y avoir 32 – 3 soit 29 bits pour le masque de sous réseau.

Partie B

5.      

Réseau destination

Interface de sortie

Prochain routeur

Nombre de sauts

192.168.30.0

172.16.3.1

172.16.3.2

2

172.16.1.0

172.16.4.1

172.16.4.2

1

 

6.     Le réseau pouvant être atteint d’une manière différente est 192.168.10.0 en passant par le routeur 172.16.4.2 (avec 2 « sauts »).

7.     

Réseau destination

Interface de sortie

Prochain routeur

autre

172.16.3.1

172.16.3.1

 

Partie C

8.     Ethernet : 10^9/10^7 = 100
Fast Ethernet : 10^9/10^8 = 10
Fibre optique : 10^9 /10^9 = 1
 

9.     La route avec le coût minimal fait 1 -> 2 -> 3 -> 4.
Son coût serait donc de 10 + 10 + 1 = 21.

Partie D

10.                               

Ip_bin(« 192.168.20.12 ») va renvoyer : 11000000.10101000.00010100.00001100 

11.                               

La dernière instruction return ne s’exécutera seulement lorsque tout le code aura été exécuter : cela signifie que les deux adresses ip sont identiques.

12.                              
def precede(ip_1, ip_2) :
        for i in range(35) :
                if ip_1[i] < ip_2[i] :
                        return True
                elif ip_1[i] > ip_2[i] :
                        retrun False
        return False

13.                                

self.passerelle est un attribut tandis que self.est_vide() est une méthode de la classe Abr.

14.                               

A la ligne 14, on a : return self.adresse_ip == «». 

15.                               

L’utilité d’un arbre binaire de recherche pour représenter une table de routage est qu’il permet de rechercher très rapidement une adresse IP. C’est très utile quand il y a beaucoup de données à traiter.

16.                               

Voici le code réécrit en évitant la répétition :

def modifie(self, adresse_ip, interface, passerelle, cout) :
        if self.est_vide() :
                self.gauche = Abr(« », « », « », 0)
                self.droite = Abr(« », « », « », 0)
        self.adresse_ip = adresse_ip
        self.interface = interface
        self.passerelle = passerelle
        self.cout = cout

17.                               

elif precede(ip_bin(adresse_ip), ip_bin(self.adresse_ip)) :


Autres corrigés de bac et autres exemples d'exercices corrigés

Besoin d'un tuteur ? Nous pouvons vous aider !

Obtenir de l'aide pour mon devoir
NOUVEAU

MyStudies, le site qui t'aide à réviser

Fiches de révision instantanées, quiz personnalisés et entraînement sur mesure pour réussir tes examens, oraux et présentations.

Demande à l'assistant IA

Obtiens des explications et de l’aide pour progresser avec confiance.

Poser une question

Lance un quiz personnalisé

Révise et retiens les informations sans effort.

Commencer un quiz

Crée des fiches de révision

Apprends plus facilement avec des fiches claires et structurées.

Créer mes fiches
Gagne du tempsTout ce dont tu as besoin, prêt pour toi !
Progresse à ton rythmeDes outils adaptés à ton niveau.
Atteins tes objectifsExamens, oraux : on t’aide !