Dans cette partie, vous avez accès à la banque des épreuves pratiques de spécialité NSI publiés en 2021.
Voici un tableau de première analyse des sujets pour vous aider dans vos choix.
| Sujets/thèmes | Prog fonctionnelle | Représentation des nombres | Liste | Assert | Dictionnaire | Tris | Récursivité | Dichotomie | Algo glouton | POO | Prog dynamique | Structure de données | Boyer Moore | Arbre binaire |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Sujet 1 | x | x | ||||||||||||
| Sujet 2 | x | x | ||||||||||||
| Sujet 3 | x | x | ||||||||||||
| Sujet 4 | x | x | ||||||||||||
| Sujet 5 | x | x | x | |||||||||||
| Sujet 6 | x | x | ||||||||||||
| Sujet 7 | x | x | ||||||||||||
| Sujet 8 | x | x | ||||||||||||
| Sujet 9 | x | |||||||||||||
| Sujet 10 | x | x | ||||||||||||
| Sujet 11 | x | x | x | |||||||||||
| Sujet 12 | x | x | ||||||||||||
| Sujet 13 | x | x | ||||||||||||
| Sujet 14 | x | x | ||||||||||||
| Sujet 15 | x | x | x | |||||||||||
| Sujet 16 | x | x | ||||||||||||
| Sujet 17 | x | x | ||||||||||||
| Sujet 18 | x | x | ||||||||||||
| Sujet 19 | x | x | ||||||||||||
| Sujet 20 | x | x | ||||||||||||
| Sujet 21 | x | x | ||||||||||||
| Sujet 22 | x | x | ||||||||||||
| Sujet 23 | x | x | x | |||||||||||
| Sujet 24 | x | x | x | |||||||||||
| Sujet 25 | x | x | ||||||||||||
| Sujet 26 | x | x | ||||||||||||
| Sujet 27 | x | x | ||||||||||||
| Sujet 28 | x | x | x | x | ||||||||||
| Sujet 29 | x | x | ||||||||||||
| Sujet 30 | x | x |
Attention, une correction n'est pas unique, un sujet peut être traité de différentes manières : approche fonctionnelle, récursive, POO, dynamique, boucles for ou while, liste, tuple, dictionnaire, etc.)
Penser à regarder les commentaires pour les sujets.
Les sujets forment une super base d'entraînement pour la pratique du langage python, à travailler sans modération.
presque_egal qui testerait l'égalité avec une précision donnéeassert de l'exercice 1 : assert rendu(89)==[17,2,0] enfile :
def enfile(self,element) :
nouveau_maillon = Maillon(...)
nouveau_maillon.suivant=...
self.dernier_file = ...
pieces = [100,50,20,10,5,2,1]
def rendu_glouton(arendre, solution=[], i=0):
if arendre == 0:
return ...
p = pieces[i]
if p <= ... :
solution.append(...)
return rendu_glouton(arendre - p,solution ,i)
else :
return rendu_glouton(arendre, solution, ...)
conv_bin(9)==([1,0,0,1],4)À rapprocher du chapitre de première sur les tris et invariant.
À rapprocher du chapitre de première sur les listes.
À rapprocher du chapitre de première sur les dictionnaires.
Une erreur dans l'énoncé de l'exercice 1 : la fonction se nomme rechercheMinMax et non RechercheMinMax.
Deux erreurs dans l'énoncé de l'exercice 2 :
il faut remplacer self.Couleur par self.Couleur-1 dans le retour de la
méthode getCouleur.
uneCarte = unPaquet.getCarteAt(20)
print(uneCarte.getNom()+ " de " + uneCarte.getCouleur())
renvoie "8 de coeur" ou "6 de pique" (au lieu de "6 de coeur") suivant la manière de remplir le paquet.
Pour l'exercice 1, penser à traiter le cas d'un tableau vide.
Pour l'exercice 2, en cas de difficultés, reprendre le chapitre de terminale sur la programmation objet, en particulier la partie 4.2 : Projets : Une idée possible.
Le dernier exercice est à rapprocher du chapitre de première sur les conversions en binaire, en particulier la partie 3 nommée du Python pour finir.
Erreur dans l'exercice 1 : la fonction se nomme indice_du_min au lieu de rechercheMin
Pour l'exercice 1, en cas de difficultés, reprendre le chapitre de première sur la dichotomie, en particulier la partie 4 : L'élgorithme.
Le dernier exercice est à rapprocher du chapitre de première sur les conversions en binaire, en particulier la partie 3 nommée du Python pour finir.
Le dernier exercice est à rapprocher du chapitre de première sur les algorithmes gloutons en binaire, en particulier la partie 3 nommée du Python pour finir.
Pour l'exercice 2, en cas de difficultés, reprendre le chapitre de terminale sur la programmation objet.
Deux erreurs dans l'énoncé du sujet pour l'exercice 2 :
Il faut lire dans la condition de la dernière fonction :
if image[i][j] < ... : au lieu de
if L[i][j] < ... :.
Il faut lire dans le dernier test :
binaire(negatif(img,120)) au lieu de
binaire(img,120).
Une erreur dans le code du dernier if de l'exercice 2 : il faut lire
if tab[imax] > ... : au lieu de if tab[max] > ... :.
Une erreur dans le résultat à trouver lors du test de l'exercice 2 : il faut lire
[6, 12, 18, 21, 25, 41, 55]
au lieu de [6, 18, 12, 21, 25, 41, 55].
En cas de difficultés pour l'exercice 2, vous pouvez reprendre le cours de première sur le tri par sélection

Les différents
auteurs mettent l'ensemble du site à disposition selon les termes de la licence Creative
Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0
International