✏️ Exercices — Algorithmique : Listes
Thèmes : listes Python • indices • parcours • recherche • comptage • maximum/minimum • moyenne • filtrage • sous-listes • tri.
Objectif : écrire des algorithmes clairs, corrects et efficaces, dans l’esprit du programme officiel de 1ère Spé Maths.
Exercice 1 — Lire une liste et ses indices
1ère SpéOn considère la liste Python L = [12, 5, 8, 21, 7].
- (a) Donner le premier élément de
L. - (b) Donner l’élément d’indice 2.
- (c) Donner le dernier élément.
- (d) Donner la taille de la liste.
Exercice 2 — Accès et modification
1ère SpéOn considère la liste L = [4, 9, 3, 6].
- (a) Quelle instruction permet d’obtenir le nombre 9 ?
- (b) Modifier la liste pour remplacer 3 par 10.
- (c) Ajouter 15 à la fin de la liste.
- (d) Donner la nouvelle liste obtenue après (b) et (c).
Exercice 3 — Parcours direct d’une liste
1ère SpéOn considère la liste L = [2, 5, 7, 4].
- (a) Écrire une boucle qui affiche successivement tous les éléments.
- (b) Dans quel ordre les valeurs sont-elles affichées ?
- (c) Combien de fois la boucle s’exécute-t-elle ?
- (d) Que contient la variable
xà la 3e itération ?
Exercice 4 — Parcours par indices
1ère SpéOn considère la liste L = [11, 6, 14, 3].
- (a) Écrire une boucle qui affiche les indices puis les valeurs correspondantes.
- (b) Quelles sont les valeurs possibles de
i? - (c) Que vaut
L[i]quandi = 2? - (d) Pourquoi préférer cette méthode à un parcours direct dans certains cas ?
Exercice 5 — Calculer une somme
1ère SpéOn considère la liste L = [3, 8, 2, 7, 10].
- (a) Écrire un algorithme qui calcule la somme des éléments.
- (b) Quelle variable faut-il initialiser ?
- (c) Calculer la somme obtenue.
- (d) Expliquer pourquoi on initialise cette variable à 0.
Exercice 6 — Calculer une moyenne
1ère SpéOn considère la liste L = [6, 9, 5, 8, 12].
- (a) Calculer la somme des éléments.
- (b) Donner la taille de la liste.
- (c) En déduire la moyenne.
- (d) Écrire un algorithme Python correspondant.
Exercice 7 — Trouver le maximum
1ère SpéOn considère la liste L = [14, 6, 19, 11, 8].
- (a) Quel est le maximum de cette liste ?
- (b) Pourquoi initialise-t-on souvent la variable
maxiavecL[0]? - (c) Écrire l’algorithme de recherche du maximum.
- (d) Quelle est la valeur de
maxiaprès le passage du nombre 19 ?
Exercice 8 — Trouver le minimum
1ère SpéOn considère la liste L = [14, 6, 19, 11, 8].
- (a) Quel est le minimum de cette liste ?
- (b) Écrire un algorithme de recherche du minimum.
- (c) Quelle est la valeur de
miniaprès lecture du deuxième élément ? - (d) Pourquoi l’algorithme fonctionne-t-il ?
Exercice 9 — Tester la présence d’une valeur
1ère SpéOn considère la liste L = [7, 12, 4, 9, 15].
- (a) La valeur 9 est-elle présente ?
- (b) La valeur 8 est-elle présente ?
- (c) Écrire un algorithme utilisant un booléen
trouve. - (d) Quelle est l’écriture Python rapide pour tester la présence de 9 ?
Exercice 10 — Trouver la position d’un élément
1ère SpéOn considère la liste L = [13, 5, 18, 7, 21].
- (a) Quel est l’indice de la valeur 18 ?
- (b) Quel est l’indice de la valeur 21 ?
- (c) Écrire un algorithme qui cherche l’indice d’une valeur
x. - (d) Que peut-on faire si la valeur n’est pas présente ?
Exercice 11 — Compter les valeurs supérieures à un seuil
1ère SpéOn considère la liste L = [4, 12, 17, 9, 21, 6, 14].
- (a) Combien d’éléments sont strictement supérieurs à 10 ?
- (b) Écrire un algorithme qui effectue ce comptage.
- (c) Quelle variable faut-il initialiser ?
- (d) Pourquoi l’initialiser à 0 ?
Exercice 12 — Compter les occurrences d’une valeur
1ère SpéOn considère la liste L = [3, 7, 3, 5, 3, 8, 7].
- (a) Combien de fois la valeur 3 apparaît-elle ?
- (b) Combien de fois la valeur 7 apparaît-elle ?
- (c) Écrire un algorithme qui compte les occurrences d’une valeur
x. - (d) Que vaut le compteur si la valeur n’est pas présente ?
Exercice 13 — Filtrer les nombres pairs
1ère SpéOn considère la liste L = [5, 8, 3, 10, 7, 12, 15, 18].
- (a) Quels sont les nombres pairs de la liste ?
- (b) Écrire un algorithme qui construit la liste
pairs. - (c) Combien d’éléments contient la nouvelle liste ?
- (d) Pourquoi utilise-t-on
append?
Exercice 14 — Filtrer les valeurs positives
1ère SpéOn considère la liste L = [-4, 7, -2, 0, 5, -1, 9].
- (a) Quelles sont les valeurs strictement positives ?
- (b) Écrire un algorithme qui construit la liste
positifs. - (c) Pourquoi 0 n’est-il pas conservé ?
- (d) Quelle condition faut-il écrire si on veut aussi garder 0 ?
Exercice 15 — Construire la liste des carrés
1ère SpéOn considère la liste L = [2, 4, 5, 7].
- (a) Donner la liste des carrés des éléments.
- (b) Écrire l’algorithme correspondant.
- (c) Que représente l’instruction
x**2? - (d) Comment adapter l’algorithme pour construire la liste des cubes ?
Exercice 16 — Tester si tous les éléments vérifient une propriété
1ère SpéOn considère la liste L = [3, 5, 8, 2].
- (a) Tous les éléments sont-ils strictement positifs ?
- (b) Écrire un algorithme utilisant un booléen
ok. - (c) Que vaut
okau début ? - (d) Que se passe-t-il si un élément négatif apparaît ?
Exercice 17 — Sous-listes
1ère SpéOn considère la liste L = [2, 4, 6, 8, 10, 12].
- (a) Que vaut
L[1:4]? - (b) Que vaut
L[:3]? - (c) Que vaut
L[3:]? - (d) Expliquer pourquoi l’indice de fin n’est pas inclus.
Exercice 18 — Tri d’une liste
1ère SpéOn considère la liste L = [8, 3, 10, 5, 7].
- (a) Donner la liste triée dans l’ordre croissant.
- (b) Quelle instruction permet d’obtenir une copie triée ?
- (c) Quelle instruction trie directement la liste ?
- (d) Quelle différence y a-t-il entre les deux ?
Exercice 19 — Complexité — premiers raisonnements
1ère SpéRépondre en justifiant brièvement.
- (a) Quel est le coût d’un accès direct à
L[i]? - (b) Quel est le coût d’un parcours complet d’une liste de taille \(n\) ?
- (c) Quel est le coût d’une recherche simple d’une valeur ?
- (d) Pourquoi le calcul d’un maximum est-il aussi en \(O(n)\) ?
Exercice 20 — Exercice de synthèse — algorithme complet
1ère SpéOn considère la liste L = [12, 7, 18, 5, 9, 14, 21, 8].
- (a) Calculer la somme des éléments.
- (b) Calculer la moyenne des éléments.
- (c) Donner le maximum et le minimum.
- (d) Écrire un algorithme qui construit la liste des éléments pairs de
L.