Mission Carthage

Accueil › Devoirs › Bac Maths-Sc-Tech

Devoir de contrôle n°1 : procédures, tri par sélection, recherche dichotomique

Bac Mathématiques, Sciences expérimentales et Technique, 1er trimestre. Durée : 1 heure. Sur 20 points.

Les algorithmes s'écrivent en notation algorithmique, les programmes en Python. Barème sur 20 points.

Exercice 1 : que fait cette procédure ? (6 pts)

On considère la procédure Python suivante, puis son appel.

def mystere(T, n):
    for i in range(n - 1):
        m = i
        for j in range(i + 1, n):
            if T[j] < T[m]:
                m = j
        T[i], T[m] = T[m], T[i]
        print(T[:n])

T = [5, 2, 9, 1, 7]
mystere(T, 5)

Exercice 2 : les notes d'une classe (8 pts)

Une classe compte n élèves (5 ≤ n ≤ 30). On veut un programme qui :

Pour réaliser ce programme, on utilise les modules suivants : la procédure Remplir(T, n), la procédure Trier(T, n), la fonction Moyenne(T, n) et la fonction NbAdmis(T, n).

Exemple : pour n = 5 et les notes 12, 15.5, 7.5, 18, 9, le programme affiche :

Notes triées : 18.0 15.5 12.0 9.0 7.5
Moyenne : 12.4
Admis : 3

Exercice 3 : recherche dichotomique (6 pts)

Un tableau T de n entiers (n ≥ 1) est trié dans l'ordre strictement croissant. On veut savoir si un entier x appartient à T.

Le programme principal lit n, les n éléments de T, puis x. Il affiche « x trouvé à l'indice p » ou « x est absent ».

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.

Sujet original écrit pour Mission Carthage, dans le style des devoirs du 1er trimestre du bac.

Tout le programme : Bac Mathématiques, Sciences expérimentales et Technique