Je réserve ici
Mathématiques 2ⁿᵈᵉ

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
Un devoir surveillé de Python d’une heure sur 20 points, sans calculatrice, avec corrigé détaillé : automatismes, trace d’un script, tarif d’un parking avec if / else, somme des impairs et seuil avec while, simulation d’une roue de loterie.

Sujet et corrigé prêts à imprimer.

Devoir surveillé · ★★ et ★★★ · Durée 60 min · Noté sur 20
60:00
benprofparticulier.frMathématiques · 2ⁿᵈᵉ

Devoir surveillé – Algorithmique et programmation

Durée : 60 min – Calculatrice interdite – Sur 20 points · Mathématiques 2ⁿᵈᵉ

Nom : Date : Note : / 20

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).

  1. a)Que vaut 47//6 ?
  2. b)Que vaut 47 ?
  3. c)Quel est le type de la valeur 8/4 ?
  4. d)Donner les valeurs parcourues par range(4, 20, 5).
  5. e)Quels entiers l’appel randint(0,5) peut-il renvoyer ?
  6. f)Traduire en Python l’instruction en langage naturel x ← x + 2.
  7. g)Que vaut not(3>2) ?
  8. h)Que vaut 3**2+1 ?

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)

  1. a)Dresser le tableau des valeurs de x et de y après chacune des quatre premières lignes.
  2. b)Qu’affiche l’instruction print ?
  3. c)On échange les lignes 3 et 4 (y = y + x est exécutée avant x = y - x). Donner le nouvel affichage.
  4. 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.

  1. a)Écrire une fonction Python prix(h) qui renvoie le montant dû pour h heures.
  2. b)Calculer prix(1), prix(5) et prix(9).
  3. c)Comparer le montant dû pour 8 heures et le forfait de 14 €. Que peut-on en conclure ?
  4. d)Un élève écrit d’abord le test if h >= 1: (pour le tarif horaire), puis elif h > 8: (pour le forfait). Expliquer son erreur.

Exercice 4 – Deux boucles ★★★

(4 pts)

On s’intéresse à des sommes d’entiers.

  1. a)Écrire un script qui calcule et affiche la somme de tous les entiers impairs de 1 à 99.
  2. b)Donner le nombre de termes de cette somme, puis sa valeur, en justifiant par un calcul.
  3. c)Écrire un script qui détermine le plus petit entier n tel que 1+2+…+n>1000.
  4. d)On admet que 1+2+…+n=n(n+1)2. 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.

  1. a)Écrire une fonction Python gagne() qui simule un tour de roue et renvoie True en cas de gain, False sinon.
  2. b)Écrire une fonction frequence(n) qui simule n tours de roue et renvoie la fréquence des gains.
  3. c)Déterminer la probabilité de gagner, et indiquer ce que l’on attend de frequence(10000).
  4. d)Deux élèves exécutent frequence(10000) 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
benprofparticulier.frMathématiques · 2ⁿᵈᵉ

Corrigé et barème – Algorithmique et programmation

Durée : 60 min – Calculatrice interdite – Sur 20 points · Mathématiques 2ⁿᵈᵉ

Exercice 1 – Automatismes ★★

(4 pts)
  1. a)47=6×7+5 : 47//6 vaut le quotient, 7. (0,5)
  2. b)Avec la même division, 47 vaut le reste, 5. (0,5)
  3. c)float : la division / donne toujours un flottant (ici 2.0). (0,5)
  4. d)4, 9, 14 et 19 : on part de 4 avec un pas de 5, et la borne 20 est exclue. (0,5)
  5. e)Les entiers 0, 1, 2, 3, 4 et 5 : les deux bornes sont comprises. (0,5)
  6. f)x = x + 2 (le membre de droite est calculé, puis rangé dans x). (0,5)
  7. g)3>2 vaut True, donc not(3>2) vaut False. (0,5)
  8. h)La puissance passe avant l’addition : 32 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)
  1. a)
    Lignexy
    x = 44—
    y = 949
    x = y - x9−4=59
    y = y + x59+5=14
    (1)
  2. b)Au moment du print, x vaut 5 et y vaut 14 : le script affiche 514. (1)
  3. c)y = y + x donne y=9+4=13, puis x = y - x donne x=13−4=9. L’affichage devient 913. (1)
  4. 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)
  1. 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)
  2. b)prix(1) =2,4+1,6×0=2,40 € ; prix(5) =2,4+1,6×4=2,4+6,4=8,80 € ; prix(9) =14 € (forfait, car 9>8). (1)
  3. c)Pour 8 heures, on n’est pas au-delà de 8 heures : 2,4+1,6×7=2,4+11,2=13,60 €, moins que le forfait. Le forfait ne s’applique qu’à partir de 9 heures, et coûte alors moins que le tarif horaire (2,4+1,6×8=15,20 €). (1)
  4. d)Le test h>=1 est vrai pour toutes les durées autorisées : son bloc est exécuté et le elif n’est jamais examiné. Le forfait n’est jamais appliqué. Il faut tester d’abord le cas le plus restrictif, h>8. (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)
  1. 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)
  2. b)Les termes sont 2k−1 pour k de 1 à 50 : il y en a 50. On les regroupe par paires : 1+99=3+97=…=49+51=100, soit 25 paires de somme 100. La somme vaut 25×100=2500. (1)
  3. c)Le nombre de termes n’est pas connu d’avance : boucle while, avec la condition contraire de l’arrêt (S>1000).
    S = 0
    n = 0
    while S <= 1000:
        n = n + 1
        S = S + n
    print(n)
    (1)
  4. d)Pour n=44 : 44×452=990, qui n’est pas supérieur à 1 000. Pour n=45 : 45×462=1035>1000. Comme la somme augmente avec n, le plus petit entier cherché est n=45. (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)
  1. a)Un secteur au hasard parmi 12 se simule par randint(1,12) (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)
  2. 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)
  3. c)Les 12 secteurs étant identiques, la situation est équiprobable : la probabilité de gagner vaut 312=0,25. Pour 10 000 tours, on attend une fréquence proche de 0,25, mais pas exactement égale. (1)
  4. d)Une fréquence observée fluctue d’une simulation à l’autre autour de la probabilité. Les écarts, 0,25−0,2457=0,0043 et 0,2546−0,25=0,0046, 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

  1. Relire le cours et la fiche de révision.
  2. Refaire les exercices corrigés.
  3. Se tester avec le QCM (24 questions).
  4. 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.
Bloqué sur ce chapitre ?

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