Ressources · 2ⁿᵈᵉ · Mathématiques
Algorithmique et programmation
Variables et types, affectation, instruction conditionnelle, boucles bornées (for) et non bornées (while), fonctions Python, fonction aléatoire et simulation.
À propos de cette page
Sujet et corrigé prêts à imprimer.
Devoir surveillé – Algorithmique et programmation
Durée : 60 min – Calculatrice interdite – Sur 20 points · Mathématiques 2ⁿᵈᵉ
Tous les calculs doivent figurer sur la copie. Les résultats seront donnés sous la forme la plus simple possible.
Exercice 1 – Automatismes ★★
(4 pts)Questions courtes : répondre sans justifier (0,5 point par question).
- a)Que vaut ?
- b)Que vaut ?
- c)Quel est le type de la valeur ?
- d)Donner les valeurs parcourues par
range(4, 20, 5). - e)Quels entiers l’appel peut-il renvoyer ?
- f)Traduire en Python l’instruction en langage naturel x ← x + 2.
- g)Que vaut ?
- h)Que vaut ?
Exercice 2 – Suivre un script ★★
(4 pts)On considère le script suivant.
x = 4 y = 9 x = y - x y = y + x print(x, y)
- a)Dresser le tableau des valeurs de x et de y après chacune des quatre premières lignes.
- b)Qu’affiche l’instruction
print? - c)On échange les lignes 3 et 4 (
y = y + xest exécutée avantx = y - x). Donner le nouvel affichage. - d)Expliquer en une phrase pourquoi l’ordre des affectations modifie le résultat.
Exercice 3 – Tarif d’un parking ★★
(4 pts)Un parking facture 2,40 € la première heure, puis 1,60 € par heure supplémentaire. Au-delà de 8 heures, un forfait unique de 14 € s’applique. La durée h, en heures, est un entier supérieur ou égal à 1.
- a)Écrire une fonction Python qui renvoie le montant dû pour h heures.
- b)Calculer , et .
- c)Comparer le montant dû pour 8 heures et le forfait de 14 €. Que peut-on en conclure ?
- d)Un élève écrit d’abord le test
if h >= 1:(pour le tarif horaire), puiselif h > 8:(pour le forfait). Expliquer son erreur.
Exercice 4 – Deux boucles ★★★
(4 pts)On s’intéresse à des sommes d’entiers.
- a)Écrire un script qui calcule et affiche la somme de tous les entiers impairs de 1 à 99.
- b)Donner le nombre de termes de cette somme, puis sa valeur, en justifiant par un calcul.
- c)Écrire un script qui détermine le plus petit entier n tel que .
- d)On admet que . Donner la valeur de n obtenue, en justifiant par deux calculs.
Exercice 5 – Une roue de loterie ★★★
(4 pts)Une roue est partagée en 12 secteurs identiques numérotés de 1 à 12. Les secteurs 1, 2 et 3 sont gagnants. On fait tourner la roue une fois.
- a)Écrire une fonction Python qui simule un tour de roue et renvoie
Trueen cas de gain,Falsesinon. - b)Écrire une fonction qui simule n tours de roue et renvoie la fréquence des gains.
- c)Déterminer la probabilité de gagner, et indiquer ce que l’on attend de .
- d)Deux élèves exécutent et obtiennent 0,2457 et 0,2546. L’un en conclut que la roue est truquée. Expliquer pourquoi cette conclusion est abusive.
Bon courage !
Ce document est la propriété intellectuelle de Ben, professeur particulier (benprofparticulier.fr), protégée par le Code de la propriété intellectuelle (art. L. 111-1 et L. 122-4). Il est mis à disposition pour un usage personnel de révision. Toute reproduction, diffusion, mise en ligne ou revente, totale ou partielle, sans autorisation écrite est interdite et constitue une contrefaçon (art. L. 335-2).
Voir le corrigé et le barème
Corrigé et barème – Algorithmique et programmation
Durée : 60 min – Calculatrice interdite – Sur 20 points · Mathématiques 2ⁿᵈᵉ
Exercice 1 – Automatismes ★★
(4 pts)- a) : vaut le quotient, 7. (0,5)
- b)Avec la même division, vaut le reste, 5. (0,5)
- c) : la division donne toujours un flottant (ici ). (0,5)
- d)4, 9, 14 et 19 : on part de 4 avec un pas de 5, et la borne 20 est exclue. (0,5)
- e)Les entiers 0, 1, 2, 3, 4 et 5 : les deux bornes sont comprises. (0,5)
- f)
x = x + 2(le membre de droite est calculé, puis rangé dans x). (0,5) - g) vaut
True, donc vautFalse. (0,5) - h)La puissance passe avant l’addition : vaut 9, puis on ajoute 1 : le résultat est 10. (0,5)
Repère — // donne le quotient, % le reste, / un flottant ; range exclut sa borne de droite, randint inclut les deux.
Exercice 2 – Suivre un script ★★
(4 pts)- a)
(1)Ligne x y x = 44 — y = 94 9 x = y - x9 y = y + x5 - b)Au moment du
print, x vaut 5 et y vaut 14 : le script affiche . (1) - c)
y = y + xdonne , puisx = y - xdonne . L’affichage devient . (1) - d)Chaque affectation utilise les valeurs des variables au moment où elle est exécutée : modifier y avant de calculer x change la donnée utilisée dans le calcul de x. (1)
Méthode — Une colonne par variable, une ligne par instruction : le membre de droite se calcule avec la ligne précédente.
Exercice 3 – Tarif d’un parking ★★
(4 pts)- a)On teste d’abord le cas du forfait :
def prix(h): if h > 8: return 14 else: return 2.4 + 1.6 * (h - 1)(1) - b) € ; € ; € (forfait, car ). (1)
- c)Pour 8 heures, on n’est pas au-delà de 8 heures : €, moins que le forfait. Le forfait ne s’applique qu’à partir de 9 heures, et coûte alors moins que le tarif horaire ( €). (1)
- d)Le test est vrai pour toutes les durées autorisées : son bloc est exécuté et le
elifn’est jamais examiné. Le forfait n’est jamais appliqué. Il faut tester d’abord le cas le plus restrictif, . (1)
Piège — Dans un if / elif, seul le premier test vrai compte : le cas le plus restrictif se teste en premier.
Exercice 4 – Deux boucles ★★★
(4 pts)- a)Le pas 2 ne parcourt que les impairs 1, 3, 5, …, 99 :
S = 0 for k in range(1, 100, 2): S = S + k print(S)(1) - b)Les termes sont pour de 1 à 50 : il y en a 50. On les regroupe par paires : , soit 25 paires de somme 100. La somme vaut . (1)
- c)Le nombre de termes n’est pas connu d’avance : boucle
while, avec la condition contraire de l’arrêt ().S = 0 n = 0 while S <= 1000: n = n + 1 S = S + n print(n)(1) - d)Pour : , qui n’est pas supérieur à 1 000. Pour : . Comme la somme augmente avec n, le plus petit entier cherché est . (1)
Choisir la boucle — Nombre de tours connu : for. Nombre de tours cherché : while, avec le contraire de la condition d’arrêt.
Exercice 5 – Une roue de loterie ★★★
(4 pts)- a)Un secteur au hasard parmi 12 se simule par (bornes comprises) ; la comparaison est un booléen, que l’on peut renvoyer directement :
from random import randint def gagne(): return randint(1, 12) <= 3(1) - b)On compte les gains, puis on divise par le nombre de tours :
def frequence(n): c = 0 for i in range(n): if gagne(): c = c + 1 return c / n(1) - c)Les 12 secteurs étant identiques, la situation est équiprobable : la probabilité de gagner vaut . Pour 10 000 tours, on attend une fréquence proche de 0,25, mais pas exactement égale. (1)
- d)Une fréquence observée fluctue d’une simulation à l’autre autour de la probabilité. Les écarts, et , sont faibles et compatibles avec le hasard. De plus, ces résultats viennent d’une simulation, pas de la roue réelle : ils ne peuvent rien prouver sur elle. (1)
Fréquence et probabilité — La fréquence simulée approche la probabilité sans l’atteindre : elle fluctue d’une exécution à l’autre.
Ce document est la propriété intellectuelle de Ben, professeur particulier (benprofparticulier.fr), protégée par le Code de la propriété intellectuelle (art. L. 111-1 et L. 122-4). Il est mis à disposition pour un usage personnel de révision. Toute reproduction, diffusion, mise en ligne ou revente, totale ou partielle, sans autorisation écrite est interdite et constitue une contrefaçon (art. L. 335-2).
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 sujet et le corrigé sont téléchargeables en PDF, prêts à imprimer, pour travailler comme en classe.
- Exercice 1 — Automatismes ★★/ 4 pts
- Exercice 2 — Suivre un script ★★/ 4 pts
- Exercice 3 — Tarif d’un parking ★★/ 4 pts
- Exercice 4 — Deux boucles ★★★/ 4 pts
- Exercice 5 — Une roue de loterie ★★★/ 4 pts
Notions évaluées
Variable, affectation, séquence d’instructions, types int, float, str, bool, quotient et reste (// et %), input et print, instruction conditionnelle if / elif / else, opérateurs de comparaison, and, or, not, boucle bornée for et range, accumulateur, compteur, boucle non bornée while, condition d’arrêt, boucle infinie, fonction, paramètre, return, randint, random, simulation, fréquence et probabilité.
Pour préparer ce contrôle
- Relire le cours et la fiche de révision.
- Refaire les exercices corrigés.
- Se tester avec le QCM (24 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é complet est fourni en PDF (bouton « Télécharger le corrigé »), avec le barème exercice par exercice.
- 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 : variables de type entier, flottant, chaîne de caractères, booléen ; affectation (notée ← en langage naturel) et séquence d’instructions ; instruction conditionnelle ; boucle bornée (for) et boucle non bornée (while) ; fonctions à un ou plusieurs arguments, appel d’une fonction ; fonction renvoyant un nombre aléatoire, série statistique obtenue en répétant son appel. Aucune connaissance sur les listes n’est exigée.
Moi c'est Ben, j'ai créé ce site pour aider le plus d'élèves possible, partout en France. Je peux aussi reprendre avec toi ce qui coince en cours particulier : en visio, ou à domicile si tu es à Marseille.
Prof de maths à Marseille · Cours particuliers au lycée · Aide aux devoirs