Mission Carthage

Accueil › Devoirs › Bac SI

Devoir de synthèse n°2 : tri Shell, tri par comptage, fusion de deux tableaux triés

Bac Sciences de l'informatique, 2ème trimestre. Durée : 2 heures. Sur 20 points.

Les algorithmes s'écrivent en notation algorithmique, les programmes en Python. Les indices des tableaux commencent à 0. Barème sur 20 points.

Exercice 1 : le tri Shell (7 pts)

Le tri Shell est un tri par insertion appliqué d'abord aux éléments éloignés de h cases, puis avec des pas de plus en plus petits, jusqu'au pas 1 qui est un tri par insertion normal. On utilise la suite de pas 1, 4, 13, 40, … (chaque pas vaut 3h + 1) : on commence par le plus grand pas de cette suite qui est inférieur à n, puis on divise h par 3 (division entière) après chaque passe.

Pour n = 5 et les valeurs 9, 4, 7, 1, 3, le programme affiche :

Pas : 4 1
1 3 4 7 9

Exercice 2 : le tri par comptage (6 pts)

Les notes d'un devoir sont des entiers de 0 à 20. Pour les trier, on compte combien de fois chaque note apparaît dans un tableau C de 21 cases (C[v] = nombre d'élèves qui ont la note v), puis on réécrit les notes dans l'ordre.

Pour n = 7 et les notes 12, 8, 15, 12, 8, 20, 12, le programme affiche :

8 8 12 12 12 15 20
Note la plus fréquente : 12

Exercice 3 : fusionner deux tableaux triés (7 pts)

Deux classes ont chacune un tableau de scores (entiers de 0 à 100) trié dans l'ordre croissant : A (n éléments) et B (m éléments). On veut obtenir un seul tableau C trié de n + m éléments, sans utiliser de tri.

Pour A = 40, 55, 70 et B = 45, 50, 76, 85, le programme affiche :

40 45 50 55 70 76 85

Correction détaillée

La correction de ce devoir est réservée aux abonnés. Elle donne l'analyse, l'algorithme en notation tunisienne, le programme Python vérifié et les erreurs fréquentes de chaque exercice. Avec un compte gratuit, tu peux ouvrir 3 corrections de ton choix.

Sujet original écrit pour Mission Carthage, dans le style des devoirs de synthèse du 2e trimestre du bac Sciences de l'informatique (tris avancés).

Tout le programme : Bac Sciences de l'informatique · Revoir le cours · Tous les devoirs