Exercice 1 sur 9
QCMQuel est le principe du tri par sélection ?

Numérique et sciences informatiques (NSI) · Première
23 exercices avec correction détaillée, en 3 séries. Aucune inscription : ta progression reste sur ton appareil.

ULUMINE · Numérique et sciences informatiques (NSI) · Première
Feuille d’exercices
Prénom : ……………………………Date : ……………………Score : ……… / 9
Dérouler les tris et la recherche dichotomique.
Exercice 1 — Coche la bonne réponse.
Quel est le principe du tri par sélection ?
Exercice 2
On applique tri_selection à T = [5, 2, 8, 1, 9]. Écris T après le premier tour de la boucle externe (i = 0).
def tri_selection(T):
n = len(T)
for i in range(n - 1):
imin = i
for j in range(i + 1, n):
if T[j] < T[imin]:
imin = j
T[i], T[imin] = T[imin], T[i]Exercice 3
On applique tri_insertion à T = [5, 2, 8, 1, 9]. Écris T après le tour i = 1.
def tri_insertion(T):
for i in range(1, len(T)):
x = T[i]
j = i
while j > 0 and T[j - 1] > x:
T[j] = T[j - 1]
j = j - 1
T[j] = xExercice 4 — Coche « Vrai » ou « Faux ».
La recherche dichotomique donne toujours le bon résultat, même si le tableau n’est pas trié.
VraiFaux
Exercice 5
Avec T = [2, 5, 8, 12, 16, 23, 38, 56, 72, 91], que renvoie dichotomie(T, 23) ?
def dichotomie(T, v):
g, d = 0, len(T) - 1
while g <= d:
m = (g + d) // 2
if T[m] == v:
return m
elif T[m] < v:
g = m + 1
else:
d = m - 1
return -1Écris tes calculs :
Réponse : ………………
Exercice 6
Pour l’appel dichotomie(T, 23) de l’exercice précédent, combien de tours de la boucle while sont effectués ?
Écris tes calculs :
Réponse : ………………
Exercice 7 — Coche la bonne réponse.
Le tri par sélection d’un tableau de n éléments a un coût…
Exercice 8
Combien de comparaisons T[j] < T[imin] le tri par sélection effectue-t-il sur un tableau de 5 éléments ?
Écris tes calculs :
Réponse : ………………
Exercice 9 — Relie chaque élément de gauche à celui de droite.
Associe chaque algorithme (tableau de n éléments) à son coût dans le pire des cas.
ulumine.com — exercices corrigés gratuits

ULUMINE · Numérique et sciences informatiques (NSI) · Première
Corrigé détaillé — pour les parents et les enseignants
Exercice 1
Réponse : Chercher le plus petit élément de la partie non triée et le placer au début de cette partie
La sélection du minimum, suivie d’un échange, caractérise le tri par sélection. Insérer dans une partie triée, c’est le tri par insertion.
Exercice 2
Réponse : [1, 2, 8, 5, 9]
Le minimum 1 (indice 3) est échangé avec T[0] = 5.
Exercice 3
Réponse : [2, 5, 8, 1, 9]
x = 2 ; 5 > 2 est décalé à droite, puis 2 est placé en T[0].
Exercice 4
Réponse : Faux
Éliminer une moitié n’est justifié que si le tableau est trié. Sinon, la valeur peut se trouver dans la moitié éliminée.
Exercice 5
Réponse : 5
La valeur 23 est à l’indice 5 (on compte à partir de 0).
Exercice 6
Réponse : 3
Les milieux successifs sont 4, 7 puis 5, où la valeur est trouvée : 3 tours.
Exercice 7
Réponse : quadratique
Il fait comparaisons, de l’ordre de n² : coût quadratique.
Exercice 8
Réponse : 10
La boucle interne fait 4, puis 3, puis 2, puis 1 comparaisons.
Exercice 9
Réponse : 1 → B · 2 → C · 3 → A · 4 → D
Constant < logarithmique < linéaire < quadratique : pour un million d’éléments, cela fait environ 1, 20, un million et mille milliards d’opérations.
Dérouler les tris et la recherche dichotomique.
Quel est le principe du tri par sélection ?
On applique tri_selection à T = [5, 2, 8, 1, 9]. Écris T après le premier tour de la boucle externe (i = 0).
def tri_selection(T):
n = len(T)
for i in range(n - 1):
imin = i
for j in range(i + 1, n):
if T[j] < T[imin]:
imin = j
T[i], T[imin] = T[imin], T[i]On applique tri_insertion à T = [5, 2, 8, 1, 9]. Écris T après le tour i = 1.
def tri_insertion(T):
for i in range(1, len(T)):
x = T[i]
j = i
while j > 0 and T[j - 1] > x:
T[j] = T[j - 1]
j = j - 1
T[j] = xLa recherche dichotomique donne toujours le bon résultat, même si le tableau n’est pas trié.
Avec T = [2, 5, 8, 12, 16, 23, 38, 56, 72, 91], que renvoie dichotomie(T, 23) ?
def dichotomie(T, v):
g, d = 0, len(T) - 1
while g <= d:
m = (g + d) // 2
if T[m] == v:
return m
elif T[m] < v:
g = m + 1
else:
d = m - 1
return -1Pour l’appel dichotomie(T, 23) de l’exercice précédent, combien de tours de la boucle while sont effectués ?
Le tri par sélection d’un tableau de n éléments a un coût…
Combien de comparaisons T[j] < T[imin] le tri par sélection effectue-t-il sur un tableau de 5 éléments ?
Associe chaque algorithme (tableau de n éléments) à son coût dans le pire des cas.
Première · Numérique et sciences informatiques (NSI)
Écrire un entier en base 2 et en base 16, passer d’une base à l’autre, coder les entiers relatifs en complément à deux : cours et exercices de NSI en Première.
Première · Numérique et sciences informatiques (NSI)
Valeurs booléennes, opérateurs and, or, not et ou exclusif, tables de vérité et évaluation paresseuse en Python : cours et exercices corrigés de NSI en Première.
Première · Numérique et sciences informatiques (NSI)
Pourquoi les flottants sont approchés, nombres à virgule en binaire, encodages ASCII, ISO-8859-1, Unicode et UTF-8 : cours et exercices de NSI en Première.