Bac NSI - Épreuve pratique

Nouvelle épreuve 2026 : 1h sur ordinateur début juin 2026 / 25% de la note de NSI du baccalauréat.
Le candidat traite un des 60 sujets de la banque nationale publique (publiée au plus tard le 24 mars 2026). Chaque sujet propose un contexte et plusieurs questions indépendantes, d'implémentation d'un algorithme au programme de 1ère ou Tle NSI, de complétion d'un programme fourni (.py), de détection et de correction d'erreurs ou de biais.

Le candidat est évalué à partir du dialogue avec l'examinateur au moment des différents appels prévus par le sujet en s'appuyant sur les compétences :
  • Produire : Concevoir et traduire des solutions algorithmiques.
  • Autonomie : Faire preuve d'autonomie, d'initiative et de créativité.
  • Comprendre : Comprendre et réutiliser des codes existants, tester et valider des programmes.
  • Oral : Présenter un problème et sa solution et développer un argumentaire.
Sujet : ?
Sujet 01 .py
1 : Occurences d'un caractère
2 : Rendue de monnaie (glouton)
Sujet 02 .py
1 : Calcul d'une moyenne pondérée
2 : Triangle de Pascal
Sujet 03 .py
1 : Codage par différence
2 : Arbre binaire (arithmétique)
Sujet 04 .py
1 : Entiers consécutifs
2 : Codage d'une image
Sujet 05 .py
1 : Recherche min et max
2 : POO (paquet de cartes)
Sujet 06 .py
1 : Max et son indice
2 : Sous-chaîne dans chaîne ?
Sujet 07 .py
1 : Conversion binaire/décimal
2 : Tri à bulles
Sujet 08 .py
1 : Recherche 1re occurrence
2 : Insertion dans une liste triée
Sujet 09 .py
1 : Calcul d'une suite
2 : Dictionnaire (Code parfait)
Sujet 10 .py
1 : Occurrences avec un dictionnaire
2 : Fusion de listes triées
Sujet 11 .py
1 : Recherche dichotomique
2 : Code de César
Sujet 12 .py
1 : Calcul d'une moyenne
2 : Séparation 0 et 1 dans une liste
Sujet 13 .py
1 : Rendu de monnaie
2 : File, Liste chaînée
Sujet 14 .py
1 : Mots correspondants à un motif
2 : Recherche d'un cycle (dictionnaire)
Sujet 15 .py
1 : Nombre de répétitions dans liste
2 : Conversion binaire (suite de div.)
Sujet 16 .py
1 : Max et son indice
2 : Structure de données : piles
Sujet 17 .py
1 : Compter les mots
2 : Arbre binaire de recherche
Sujet 18 .py
1 : Minimum liste de températures
2 : Palindrome ?
Sujet 19 .py
1 : Multiplications avec + et -
2 : Recherche dichotomique récursive
Sujet 20 .py
1 : Opérateur xor
2 : Carré magique
Sujet 21 .py
1 : Multiplications avec + et -
2 : Recherche dichotomique
Sujet 22 .py
1 : Ecriture d'une chaîne de caractères à l'envers
2 : Crible d'Eratosthène
Sujet 23 .py
1 : Maximum dans un dictionnaire
2 : Pile (calcul arithmétique)
Sujet 24 .py
1 : Maximum d'une liste
2 : Pile (bien parenthésé)
Sujet 25 .py
1 : Sélection enclos (dictionnaire)
2 : Trouver l'intrus (liste de triplets)
Sujet 26 .py
1 : 1re occurence du minimum
2 : Séparation des 0 et 1
Sujet 27 .py
1 : Taille d'un ABR (récursif)
2 : Tri par sélection
Sujet 28 .py
1 : Calcul de moyenne
2 : Conversion decimal en binaire
Sujet 29 .py
1 : Suite de Fibonacci
2 : Les maximum dans une liste
Sujet 30 .py
1 : Fusion de tableaux triés
2 : Chiffres romains vers décimal
Sujet 31 .py
1 : Nombre d'occurrence dans liste
2 : Rendu de monnaie (glouton)
Sujet 32 .py
1 : indice dernière occurrence
2 : POO : adresse IPv4
Sujet 33 .py
1 : Conversion binaire décimal
2 : Tri par insertion
Sujet 34 .py
1 : Caractère le + fréquent
2 : Image en 256 niveaux de gris
Sujet 35 .py
1 : Calcul d'une moyenne
2 : Recherche dichotomique
Sujet 36 .py
1 : Dernière occurrence dans liste
2 : Distance + courte entre 2 pts
Sujet 37 .py
1 : Vérifier liste triée
2 : Compter les votes (dictionnaires)
Sujet 38 .py
1 : Tri par sélection
2 : Jeu du + ou -
Sujet 39 .py
1 : Calcul de moyenne
2 : Zoom sur une image
Sujet 40 .py
1 : Indices des occurences
2 : Moyenne pondérée (dictionnaire)
Sujet 01 .py
1 : Vérifier liste triée
2 : Compter les votes (dictionnaires)
Sujet 02 .py
1 : Indices du max
2 : Pile : sélection des positifis
Sujet 03 .py
1 : Calcul de moyenne
2 : Zoom sur une image
Sujet 04 .py
1 : Repérer doublons dans liste
2 : Jeu du démineur
Sujet 05 .py
1 : Paire de 6
2 : Image en 256 niveaux de gris
Sujet 06 .py
1 : Dernière occurrence dans liste
2 : Distance + courte entre 2 pts
Sujet 07 .py
1 : Fusion de tableaux triés
2 : Chiffres romains vers décimal
Sujet 08 .py
1 : Maximum dans un dictionnaire
2 : Pile (calcul arithmétique)
Sujet 09 .py
1 : Multiplications avec + et -
2 : Recherche dichotomique récursive
Sujet 10 .py
1 : Maximum d'une liste
2 : Pile (bien parenthésé)
Sujet 11 .py
1 : Conversion binaire décimal
2 : Tri par insertion
Sujet 12 .py
1 : Ajout dans un arbre binaire
2 : Problème du sac à dos (glouton)
Sujet 13 .py
1 : Nombre d'occurrence dans liste
2 : Rendu de monnaie (glouton)
Sujet 14 .py
1 : Recherche 1re occurrence
2 : Insertion dans une liste triée
Sujet 15 .py
1 : Minimum liste de températures
2 : Palindrome ?
Sujet 16 .py
1 : Recherche d'indices < = >
2 : Moyenne pondérée (dictionnaire)
Sujet 17 .py
1 : Opérateur xor
2 : Carré magique
Sujet 18 .py
1 : Indice 1re apparition du max
2 : Parcours d'une liste (chromosome)
Sujet 19 .py
1 : Recherche dichotomique
2 : Code de César
Sujet 20 .py
1 : Fusion de dictionnaires
2 : Dé 6 faces : piste carrée
Sujet 21 .py
1 : Codage par différence
2 : Arbre binaire (arithmétique)
Sujet 22 .py
1 : Liste puissance
2 : Dictionnaire (Code parfait)
Sujet 23 .py
1 : Sélection enclos (dictionnaire)
2 : Trouver l'intrus (liste de triplets)
Sujet 24 .py
1 : Occurrences avec un dictionnaire
2 : Fusion de listes triées
Sujet 25 .py
1 : Enumération (liste des indices)
2 : POO : Insertion dans arbre binaire
Sujet 26 .py
1 : Multiplications avec + et -
2 : Recherche dichotomique
Sujet 27 .py
1 : 1re occurence du minimum
2 : Séparation des 0 et 1
Sujet 28 .py
1 : Calcul d'une moyenne
2 : Recherche dichotomique
Sujet 29 .py
1 : Taille d'un arbre binaire
2 : Reproduire la méthode insert
Sujet 30 .py
1 : Calcul de moyenne
2 : Conversion binaire (suite de div.)
Sujet 31 .py
1 : Nombre de répétitions dans liste
2 : Conversion binaire (suite de div.)
Sujet 32 .py
1 : Recherche min et max
2 : POO (paquet de cartes)
Sujet 33 .py
1 : Taille d'un ABR (récursif)
2 : Tri par sélection
Sujet 34 .py
1 : Calcul d'une moyenne
2 : Séparation 0 et 1 dans une liste
Sujet 35 .py
1 : Opérateur xor
2 : Carré magique
Sujet 36 .py
1 : Couples d'entiers consécutifs
2 : Propager valeur dans matrice.
Sujet 37 .py
1 : indice dernière occurrence
2 : POO : adresse IPv4
Sujet 38 .py
1 : Mots correspondants à un motif
2 : Recherche d'un cycle (dictionnaire)
Sujet 39 .py
1 : Suite de Fibonacci
2 : Les maximum dans une liste
Sujet 40 .py
1 : Compter les mots
2 : Insertion dans un arbre binaire
Sujet 01 .py
1 : Taille d'un ABR (récursif)
2 : Tri par sélection
Sujet 02 .py
1 : Mots correspondants à un motif
2 : Recherche d'un cycle (dictionnaire)
Sujet 03 .py
1 : Maximum d'une liste
2 : Pile (bien parenthésé)
Sujet 04 .py
1 : Dernière occurrence dans liste
2 : Distance + courte entre 2 pts
Sujet 05 .py
1 : Indice 1re apparition du max
2 : Parcours d'une liste (chromosome)
Sujet 06 .py
1 : Vérifier liste triée
2 : Compter les votes (dictionnaires)
Sujet 07 .py
1 : Conversion binaire décimal
2 : Tri par insertion
Sujet 08 .py
1 : Codage par différence
2 : Arbre binaire (arithmétique)
Sujet 09 .py
1 : Effectif notes puis tri
2 : Conversion binaire vers décimal
Sujet 10 .py
1 : Calcul de moyenne
2 : Zoom sur une image
Sujet 11 .py
1 : Compter les mots
2 : Insertion dans un arbre binaire
Sujet 12 .py
1 : Tri par sélection
2 : Jeu du + ou -
Sujet 13 .py
1 : Recherche 1re occurrence
2 : Insertion dans une liste triée
Sujet 14 .py
1 : Recherche min et max
2 : POO (paquet de cartes)
Sujet 15 .py
1 : Calcul de moyenne
2 : Conversion binaire (suite de div.)
Sujet 16 .py
1 : Conversion binaire
2 : Tri bulles
Sujet 17 .py
1 : Nombre de répétitions dans liste
2 : Conversion binaire (suite de div.)
Sujet 18 .py
1 : Multiplications avec + et -
2 : Recherche dichotomique récursive
Sujet 19 .py
1 : Liste puissance
2 : Dictionnaire (Code parfait)
Sujet 20 .py
1 : Paire de 6
2 : Image en 256 niveaux de gris
Sujet 21 .py
1 : Recherche motif
2 : Parcours en profondeur (Graphe)
Sujet 22 .py
1 : Recherche d'indices < = >
2 : Moyenne pondérée (dictionnaire)
Sujet 23 .py
1 : Ajout dans un arbre binaire
2 : Problème du sac à dos (glouton)
Sujet 24 .py
1 : Parcours largeur d'un arbre
2 : Plus grande somme possible
Sujet 25 .py
1 : Recherche du minimum
2 : Séparation des 0 et des 1 dans une liste
Sujet 26 .py
1 : Fusion de dictionnaires
2 : Dé 6 faces : piste carrée
Sujet 27 .py
1 : Couples d'entiers consécutifs
2 : Propager valeur dans matrice.
Sujet 28 .py
1 : Suite de Fibonacci
2 : Les maximum dans une liste
Sujet 29 .py
1 : Opérateur xor
2 : Carré magique
Sujet 30 .py
1 : Fusion de tableaux triés
2 : Chiffres romains vers décimal
Sujet 31 .py
1 : Multiplications avec + et -
2 : Recherche dichotomique
Sujet 32 .py
1 : Opérateur xor
2 : Carré magique
Sujet 33 .py
1 : Renverser chaîne de caractères
2 : Nombre 1er, crible d'Ératosthène
Sujet 34 .py
1 : Occurrences avec un dictionnaire
2 : Fusion de listes triées
Sujet 35 .py
1 : Minimum liste de températures
2 : Palindrome ?
Sujet 36 .py
1 : Occurrences avec un dictionnaire
2 : Fusion de listes triées
Sujet 37 .py
1 : Couples d'entiers consécutifs
2 : Propager valeur dans matrice.
Sujet 38 .py
1 : Indices du max
2 : Pile : sélection des positifis
Sujet 39 .py
1 : indice dernière occurrence
2 : POO : adresse IPv4
Sujet 40 .py
1 : Sélection enclos (dictionnaire)
2 : Trouver l'intrus (liste de triplets)
Sujet 41 .py
1 : Taille d'un arbre binaire
2 : Reproduire la méthode insert
Sujet 42 .py
1 : Calcul d'une moyenne
2 : Recherche dichotomique
Sujet 43 .py
1 : Repérer doublons dans liste
2 : Jeu du démineur
Sujet 44 .py
1 : Calcul de moyenne
2 : Insertion dans un ABR
Sujet 45 .py
1 : Nombre d'occurrence dans liste
2 : Rendu de monnaie (glouton)
Sujet 46 .py
1 : Recherche dichotomique
2 : Code de César
Sujet 47 .py
1 : Maximum dans un dictionnaire
2 : Pile (calcul arithmétique)
Sujet 48 .py
1 : Liste d'adjacence (graphe)
2 : Lecture d'une suite 1, 11, 21 ...
Sujet 01 .py
1 : Liste d'adjacence (graphe)
2 : Lecture d'une suite 1, 11, 21 ...
Sujet 02 .py
1 : Indice 1re apparition du max
2 : Parcours d'une liste (chromosome)
Sujet 03 .py
1 : Suite de Fibonacci
2 : Les maximum dans une liste
Sujet 04 .py
1 : Conversion binaire
2 : Tri bulles
Sujet 05 .py
1 : Renverser chaîne de caractères
2 : Nombre 1er, crible d'Ératosthène
Sujet 06 .py
1 : Liste puissance
2 : Dictionnaire (Code parfait)
Sujet 07 .py
1 : Occurrences avec un dictionnaire
2 : Fusion de listes triées
Sujet 08 .py
1 : Maximum d'une liste
2 : Pile (bien parenthésé)
Sujet 09 .py
1 : Multiplications avec + et -
2 : Recherche dichotomique
Sujet 10 .py
1 : Recherche dichotomique
2 : Code de César
Sujet 11 .py
1 : Parcours largeur d'un arbre
2 : Plus grande somme possible
Sujet 12 .py
1 : Fusion de tableaux triés
2 : Chiffres romains vers décimal
Sujet 13 .py
1 : Recherche 1re occurrence
2 : Insertion dans une liste triée
Sujet 14 .py
1 : Paire de 6
2 : Image en 256 niveaux de gris
Sujet 15 .py
1 : Multiplications avec + et -
2 : Recherche dichotomique récursive
Sujet 16 .py
1 : Opérateur xor
2 : Carré magique
Sujet 17 .py
1 : Taille d'un arbre binaire
2 : Reproduire la méthode insert
Sujet 18 .py
1 : Calcul d'une moyenne
2 : Recherche dichotomique
Sujet 19 .py
1 : 1re occurence du minimum
2 : Séparation des 0 et 1
Sujet 20 .py
1 : Recherche min et max
2 : POO (paquet de cartes)
Sujet 21 .py
1 : Indices du max
2 : Pile : sélection des positifis
Sujet 22 .py
1 : indice dernière occurrence
2 : POO : adresse IPv4
Sujet 23 .py
1 : Effectif notes puis tri
2 : Conversion binaire vers décimal
Sujet 24 .py
1 : Enumération (liste des indices)
2 : POO : Insertion dans arbre binaire
Sujet 25 .py
1 : Minimum liste de températures
2 : Palindrome ?
Sujet 26 .py
1 : Fusion de dictionnaires
2 : Dé 6 faces : piste carrée
Sujet 27 .py
1 : Vérifier liste triée
2 : Compter les votes (dictionnaires)
Sujet 28 .py
1 : Repérer doublons dans liste
2 : Jeu du démineur
Sujet 29 .py
1 : Sélection enclos (dictionnaire)
2 : Trouver l'intrus (liste de triplets)
Sujet 30 .py
1 : Codage par différence
2 : Arbre binaire (arithmétique)
Sujet 31 .py
1 : Recherche motif
2 : Parcours en profondeur (Graphe)
Sujet 32 .py
1 : Occurrences avec un dictionnaire
2 : Fusion de listes triées
Sujet 33 .py
1 : Ajout dans un arbre binaire
2 : Problème du sac à dos (glouton)
Sujet 34 .py
1 : Tri par sélection
2 : Jeu du + ou -
Sujet 35 .py
1 : Maximum dans un dictionnaire
2 : Pile (calcul arithmétique)
Sujet 36 .py
1 : Compter les mots
2 : Insertion dans un arbre binaire
Sujet 37 .py
1 : Conversion binaire décimal
2 : Tri par insertion
Sujet 38 .py
1 : Calcul de moyenne
2 : Conversion binaire (suite de div.)
Sujet 39 .py
1 : Couples d'entiers consécutifs
2 : Propager valeur dans matrice.
Sujet 40 .py
1 : Recherche d'indices < = >
2 : Moyenne pondérée (dictionnaire)
Sujet 41 .py
1 : Opérateur xor
2 : Carré magique
Sujet 42 .py
1 : Nombre de répétitions dans liste
2 : Conversion binaire (suite de div.)
Sujet 43 .py
1 : Couples d'entiers consécutifs
2 : Propager valeur dans matrice.
Sujet 44 .py
1 : Calcul de moyenne
2 : Zoom sur une image
Sujet 45 .py
1 : Mots correspondants à un motif
2 : Recherche d'un cycle (dictionnaire)
Sujet 46 .py
1 : Nombre d'occurrence dans liste
2 : Rendu de monnaie (glouton)
Sujet 47 .py
1 : Taille d'un ABR (récursif)
2 : Tri par sélection
Sujet 48 .py
1 : Dernière occurrence dans liste
2 : Distance + courte entre 2 pts
Sujet 0_1 .py
Cycle menstruel
1 : Est bissextile
2 : Fonction et assertions
3 : Rédaction de tests
4 : Validation d'un format et correction
Sujet 0_2 .7z
Analyse d'écarts de salaires
1 : Calcul de moyenne
2 : Extraction d'un dictionnaire
3 : Assertions et correction
4 : Tester et trouver un biais
Sujet 0_3 .7z
Codage RLE d'images (compression)
1 : Compréhension de l'algorithme
2 : Fonction inverse de décodage
3 : Tester et observer un problème
4 : Résolution