Lycée · 2ⁿᵈᵉ · Mathématiques
Algorithmique et programmation
Variables, instructions conditionnelles, boucles et fonctions : les bases de l'algorithmique au programme de 2nde générale
À propos de cette page
Calculatrice interdite · Tous les calculs doivent figurer sur la copie. Les résultats seront donnés sous la forme la plus simple possible.
Devoir surveillé de fin de chapitre, tout en niveau difficile. Travaille seul et sans aide, puis vérifie tes réponses avec le corrigé détaillé dépliable en bas de page.
Exercice 1 — Lecture et trace d'exécution
/ 4 pts- Recopiez et complétez le tableau de trace d'exécution du programme suivant pour les trois premières itérations :
$s = 0$
$for i in range(1, 6):$
$s = s + i**2$
$print(s)$i s (avant) s (après) 1 0 … 2 … … 3 … … - Quelle valeur est affichée par $print(s)$ à la fin de l'exécution complète ?
Exercice 2 — Écriture d'une fonction Python
/ 5 pts- Écrire une fonction Python $valeur_absolue(x)$ qui renvoie la valeur absolue de x (sans utiliser $abs()$).
- Écrire une fonction Python $compte_pairs(n)$ qui renvoie le nombre d'entiers pairs entre 1 et n inclus.
- Que renvoie $compte_pairs(10)$ ? Justifier.
Exercice 3 — Algorithme de recherche avec while
/ 5 ptsOn veut trouver le plus petit entier n ≥ 1 tel que 3n > 500.
- Écrire un algorithme Python (avec une boucle $while$) qui détermine cet entier n et l'affiche.
- Indiquer la valeur affichée et vérifier le résultat à la main.
Exercice 4 — Débogage d'un programme
/ 3 pts- Le programme suivant est censé afficher la somme des entiers de 1 à 10, mais il contient deux erreurs. Identifiez-les et proposez le code corrigé.
$s = 1$
$for i in range(1, 10):$
$s = s + i$
$print(s)$
Exercice 5 — Problème de modélisation algorithmique
/ 3 ptsUn pâtissier fabrique des macarons par boîtes. Chaque boîte contient 6 macarons. On dispose de n macarons.
- Écrire une fonction Python $boites(n)$ qui renvoie un tuple (nb_boites, reste) où nb_boites est le nombre de boîtes complètes et reste le nombre de macarons restants.
- Que renvoie $boites(25)$ ? Interpréter.
Corrigé détaillé — à n'ouvrir qu'après avoir rendu la copie
Exercice 1 — Lecture et trace d'exécution
Corrigé :
Tableau de trace :
i=1 : s passe de 0 à 0+1=1
i=2 : s passe de 1 à 1+4=5
i=3 : s passe de 5 à 5+9=14
i=4 : s passe de 14 à 14+16=30
i=5 : s passe de 30 à 30+25=55
Valeur affichée : 55 (somme des carrés de 1 à 5 : 1+4+9+16+25 = 55).
Exercice 2 — Écriture d'une fonction Python
Corrigé :
1) $def valeur_absolue(x):$
$if x \gt = 0: return x$
$else: return -x$
2) $def compte_pairs(n):$
$c = 0$
$for i in range(1, n+1):$
$if i % 2 == 0: c += 1$
$return c$
3) compte_pairs(10) renvoie 5. Les entiers pairs de 1 à 10 sont 2, 4, 6, 8, 10, soit 5 valeurs (ou directement n//2 = 10//2 = 5).
Exercice 3 — Algorithme de recherche avec while
Corrigé :
a) $n = 1$
$while 3**n \lt = 500:$
$n += 1$
$print(n)$
b) 3⁵ = 243 ≤ 500, 3⁶ = 729 > 500. L'algorithme affiche 6.
Vérification : 3⁶ = 729 > 500 ✓ et 3⁵ = 243 ≤ 500 ✓ → n = 6 est bien le plus petit entier satisfaisant la condition.
Exercice 4 — Débogage d'un programme
Corrigé :
Erreur 1 : La variable s doit être initialisée à 0 (et non 1), car on accumule une somme à partir de zéro.
Erreur 2 : $range(1, 10)$ génère les entiers de 1 à 9 ; pour inclure 10 il faut écrire $range(1, 11)$.
Code corrigé :
$s = 0$
$for i in range(1, 11):$
$s = s + i$
$print(s)$
La valeur affichée doit être 55.
Exercice 5 — Problème de modélisation algorithmique
Corrigé :
a) $def boites(n):$
$nb_boites = n // 6$
$reste = n % 6$
$return (nb_boites, reste)$
b) boites(25) renvoie (4, 1).
Interprétation : avec 25 macarons, on remplit 4 boîtes complètes (4 × 6 = 24 macarons) et il reste 1 macaron (25 − 24 = 1) qui ne suffit pas à remplir une 5e boîte.
Ce contrôle de mathématiques 2ⁿᵈᵉ en bref
Un devoir surveillé type contrôle en classe sur « Algorithmique et programmation » : 5 exercices, 60 minutes, noté sur 20. Le corrigé détaillé est dépliable sous le sujet.
- Exercice 1 — Lecture et trace d'exécution/ 4 pts
- Exercice 2 — Écriture d'une fonction Python/ 5 pts
- Exercice 3 — Algorithme de recherche avec while/ 5 pts
- Exercice 4 — Débogage d'un programme/ 3 pts
- Exercice 5 — Problème de modélisation algorithmique/ 3 pts
Notions évaluées
Qu'est-ce qu'un algorithme ?, Variables et affectation, Instructions d'entrée / sortie, Instructions conditionnelles, Boucles bornées (for), Boucles non bornées (while).
Pour préparer ce contrôle
- Relire le cours.
- Refaire les exercices corrigés et les problèmes.
- Se tester avec le QCM (37 questions).
- Faire ce sujet en conditions réelles — 60 min, sans le cours — puis se corriger et noter les points à revoir.
Voir tous les contrôles de mathématiques 2ⁿᵈᵉ · tous les devoirs surveillés corrigés
Questions fréquentes sur ce sujet
- Combien de temps dure ce contrôle sur « Algorithmique et programmation » ?
- 60 minutes pour 5 exercices notés sur 20. Prévois le double si tu enchaînes avec la correction.
- Le corrigé est-il fourni ?
- Oui : le corrigé détaillé se déplie sous le sujet, à n'ouvrir qu'après avoir rendu la copie.
- Ce sujet peut-il servir de DS, de contrôle ou d'interrogation ?
- Oui : c'est un devoir surveillé complet de 60 minutes. Pour une interrogation courte, garde un ou deux exercices ; pour un DS ou un contrôle de fin de chapitre, fais le sujet entier en temps limité.
- Ce sujet suit-il le programme de mathématiques de seconde ?
- Oui : il évalue uniquement les notions du chapitre « Algorithmique et programmation » du programme officiel de mathématiques en seconde, soit Qu'est-ce qu'un algorithme ?, Variables et affectation, Instructions d'entrée / sortie, Instructions conditionnelles.
Cours particuliers de mathématiques à Marseille, en présentiel ou à distance — un prof qui s'adapte à ton rythme et reprend ce qui coince.
Prof de maths à Marseille · Cours particuliers au lycée · Aide aux devoirs