📝 Évaluation Algorithmique & Python (Seconde) avec corrigé

Un contrôle noté sur 20, avec barème, exercices gradués conformes au programme officiel et corrigé en page 2. Imprime-le ou enregistre-le en PDF — et génère un nouveau sujet à volonté.

👩‍🏫 Pour la classe

Sujets A et B ci-dessous : exercices différents, même notion et même barème — un sujet par rangée pour limiter la copie.

Pas envie d'imprimer ? Fais ces exercices en ligne

Correction instantanée, difficulté qui s'adapte — gratuit, sans inscription pour commencer.

⚡ Jouer maintenant
Numi, la mascotteÉvaluation · Seconde
Nom : Classe : Date :

📝 Algorithmique & Python — sujet A

Note :/ 20

Durée conseillée : 45 min. Le barème est indiqué pour chaque exercice. Sujet n°1.

Exercice 1/ 1 pt

Après `x = 3,14`, quel est le type de la variable ?

Coche la bonne réponse.

  • A. `float`
  • B. `str`
  • C. `list`
  • D. `int`

Exercice 2/ 1 pt

Que s'affiche-t-il ? ```python x = 7 if x >= 0: print("positif") else: print("négatif") ```

Coche la bonne réponse.

  • A. négatif
  • B. erreur
  • C. positif
  • D. zéro

Exercice 3/ 1 pt

Que vaut `s` à la fin ? ```python s = 0 for i in range(1, 5): s = s + i ```

Coche la bonne réponse.

  • A. 10
  • B. 20
  • C. 11
  • D. 4

Exercice 4/ 1,5 pt

Que s'affiche-t-il ? ```python x = 3 if x > 0: print("positif") elif x == 0: print("nul") else: print("négatif") ```

Coche la bonne réponse.

  • A. négatif
  • B. positif
  • C. nul
  • D. indéfini

Exercice 5/ 1,5 pt

Quelle valeur `s` prend-elle après l'exécution de ? ```python s = 0 for i in range(1, 4): s = s + i ```

Coche la bonne réponse.

  • A. `12`
  • B. `3`
  • C. `9`
  • D. `6`

Exercice 6/ 1,5 pt

Que s'affiche-t-il ? ```python x = -2 if x > 0: print("positif") elif x == 0: print("nul") else: print("négatif") ```

Coche la bonne réponse.

  • A. négatif
  • B. positif
  • C. nul
  • D. indéfini

Exercice 7/ 2 pts

`return x, y` renvoie le tuple `(x, y)`. Ici `f(9, 4)`.

  1. a) En Python, que construit l'instruction `return a + b, a - b` ?
    • A. Un couple (tuple) à deux valeurs `(a + b, a - b)`
    • B. Le nombre unique `a + b + a - b`
    • C. La seule valeur `a + b` (la deuxième est ignorée)
    • D. La liste modifiable `[a, b]` des arguments
  2. b) Avec `a = 9`, `b = 4`, calcule la première composante `a + b`.

    Réponse :

  3. c) Calcule maintenant la deuxième composante `a - b`.

    Réponse :

Exercice 8/ 2 pts

La fonction `maximum` renvoie le plus grand de ses deux arguments. Ici `x = 7`, `y = 6`.

  1. a) Le test `if x > y` sépare deux cas. Dans quel cas la fonction renvoie-t-elle `x` ?
    • A. Quand `x` est strictement supérieur à `y`
    • B. Quand `x` et `y` sont égaux
    • C. Dans tous les cas, quelle que soit la valeur de `y`
    • D. Quand `x` est strictement inférieur à `y`
  2. b) Applique la fonction à `x = 7`, `y = 6`. Quelle valeur renvoie-t-elle ?

    Réponse :

Exercice 9/ 2 pts

On veut que la boucle s'arrête dès que `x` atteint `11`. Quelle est la bonne condition ? ```python x = 0 ... : x += 1 ```

Coche la bonne réponse.

  • A. while x != 11:
  • B. while x > 11:
  • C. while x < 11:
  • D. while x <= 11:

Exercice 10/ 2 pts

Qu'affiche ce programme ? ```python x = 1 for i in range(5): x = x + 2 print(x) ```

Réponse :

Exercice 11/ 2 pts

Quelle est la complexité de l'algorithme ? ```python def somme(L): s = 0 for x in L: s += x return s ```

Coche la bonne réponse.

  • A. O(\log n)
  • B. O(n^2)
  • C. O(n)
  • D. O(1)

Exercice 12/ 2,5 pts

Qu'est-ce qu'un invariant de boucle ?

Coche la bonne réponse.

  • A. La valeur de l'accumulateur à la fin
  • B. La condition d'arrêt de la boucle
  • C. Le nombre total d'itérations
  • D. Une propriété vraie avant, pendant et après chaque itération
Évaluation générée par numimaths.fr — conforme au programme officiel. Le corrigé et le barème sont page suivante.

Corrigé et barème — Algorithmique & Python — sujet A (Seconde) · Sujet n°1

  1. 1. (1 pt) `float` — `x = 3,14` crée une variable de type `float`.
  2. 2. (1 pt) positif — `7 ≥ 0`, donc on affiche `"positif"`.
  3. 3. (1 pt) 10 — `s = 1 + 2 + ... + 4 = 10`.
  4. 4. (1,5 pt) positif — `3 > 0`, donc `"positif"`.
  5. 5. (1,5 pt) `6` — s = 1 + 2 + \ldots + 3 = 6.
  6. 6. (1,5 pt) négatif — `-2 < 0`, donc `"négatif"`.
  7. 7. (2 pts) a) Un couple (tuple) à deux valeurs `(a + b, a - b)` ; b) 13 ; c) 5 — `f(9, 4)` retourne `(9+4, 9-4) = (13, 5)`.
  8. 8. (2 pts) a) Quand `x` est strictement supérieur à `y` ; b) 7 — `maximum(7, 6)` retourne `7` car `7 > 6`.
  9. 9. (2 pts) while x < 11: — `while x < 11` : la boucle tourne pour x = 0, 1, ..., 10 et s'arrête quand x = 11.
  10. 10. (2 pts) 11 — La boucle s'exécute 5 fois, ajoutant 2 à chaque fois : `1 + 5×2 = 11`.
  11. 11. (2 pts) O(n) — La boucle parcourt chaque élément une fois : complexité O(n) (linéaire).
  12. 12. (2,5 pts) Une propriété vraie avant, pendant et après chaque itération — Un invariant de boucle est une propriété logique vraie avant la première itération et maintenue à chaque itération. Il sert à prouver la correction d'un algorithme.
Pour retravailler les erreurs : ce chapitre se rejoue en ligne sur numimaths.fr, avec correction instantanée et difficulté adaptée.
Numi, la mascotteÉvaluation · Seconde
Nom : Classe : Date :

📝 Algorithmique & Python — sujet B

Note :/ 20

Durée conseillée : 45 min. Le barème est indiqué pour chaque exercice. Sujet n°2.

Exercice 1/ 1 pt

Que s'affiche-t-il ? ```python x = -3 if x >= 0: print("positif") else: print("négatif") ```

Coche la bonne réponse.

  • A. négatif
  • B. positif
  • C. erreur
  • D. zéro

Exercice 2/ 1 pt

Que vaut `s` après l'exécution ? ```python a = 7 b = 5 s = a + b ```

Coche la bonne réponse.

  • A. 5
  • B. 35
  • C. 12
  • D. 7

Exercice 3/ 1 pt

Après `n = 7`, quel est le type de la variable ?

Coche la bonne réponse.

  • A. `list`
  • B. `float`
  • C. `int`
  • D. `str`

Exercice 4/ 1,5 pt

Quelle valeur `s` prend-elle après l'exécution de ? ```python s = 0 for i in range(1, 7): s = s + i ```

Coche la bonne réponse.

  • A. `21`
  • B. `6`
  • C. `42`
  • D. `27`

Exercice 5/ 1,5 pt

Quelle est la valeur de `p` à la fin ? ```python p = 1 for i in range(1, 4): p = p * i ```

Coche la bonne réponse.

  • A. 5
  • B. 12
  • C. 6
  • D. 7

Exercice 6/ 1,5 pt

Que s'affiche-t-il ? ```python x = -8 if x > 0: print("positif") elif x == 0: print("nul") else: print("négatif") ```

Coche la bonne réponse.

  • A. négatif
  • B. indéfini
  • C. nul
  • D. positif

Exercice 7/ 2 pts

Combien de fois `print('*')` s'exécute-t-il ? ```python for i in range(3): for j in range(4): print('*') ```

Réponse :

Exercice 8/ 2 pts

Ce code lève une erreur car `s` n'existe pas au premier tour. ```python for i in range(1, 7): s = s + i print(s) ``` On ajoute la ligne `s = 0` avant la boucle. Que vaut alors `s` à la fin ?

Réponse :

Exercice 9/ 2 pts

`return x, y` renvoie le tuple `(x, y)`. Ici `f(8, 3)`.

  1. a) En Python, que construit l'instruction `return a + b, a - b` ?
    • A. La liste modifiable `[a, b]` des arguments
    • B. La seule valeur `a + b` (la deuxième est ignorée)
    • C. Un couple (tuple) à deux valeurs `(a + b, a - b)`
    • D. Le nombre unique `a + b + a - b`
  2. b) Avec `a = 8`, `b = 3`, calcule la première composante `a + b`.

    Réponse :

  3. c) Calcule maintenant la deuxième composante `a - b`.

    Réponse :

Exercice 10/ 2 pts

Que retourne `f(2)` ? ```python def f(x): return 2 * x + 3 ```

Réponse :

Exercice 11/ 2 pts

Que vaut `résultat` à la fin ? ```python résultat = 1 for k in range(1, 5): résultat = résultat * k ```

Réponse :

Exercice 12/ 2,5 pts

Comment prouver qu'une boucle `while` se termine toujours ?

Coche la bonne réponse.

  • A. Vérifier que la boucle a une condition d'arrêt syntaxiquement
  • B. Compter le nombre maximum d'itérations
  • C. Montrer qu'une quantité entière strictement décroissante et minorée atteint sa borne
  • D. Montrer que la condition est toujours vraie
Évaluation générée par numimaths.fr — conforme au programme officiel. Le corrigé et le barème sont page suivante.

Corrigé et barème — Algorithmique & Python — sujet B (Seconde) · Sujet n°2

  1. 1. (1 pt) négatif — `-3 < 0`, donc on affiche `"négatif"`.
  2. 2. (1 pt) 12 — `s = 7 + 5 = 12`.
  3. 3. (1 pt) `int` — `n = 7` crée une variable de type `int`.
  4. 4. (1,5 pt) `21` — s = 1 + 2 + \ldots + 6 = 21.
  5. 5. (1,5 pt) 6 — `p = 1 × 2 × ... × 3 = 6`.
  6. 6. (1,5 pt) négatif — `-8 < 0`, donc `"négatif"`.
  7. 7. (2 pts) 12 — 3 \times 4 = 12 appels à `print`.
  8. 8. (2 pts) 21 — Avec `s = 0` avant la boucle : `s = 1 + 2 + ... + 6 = 21`.
  9. 9. (2 pts) a) Un couple (tuple) à deux valeurs `(a + b, a - b)` ; b) 11 ; c) 5 — `f(8, 3)` retourne `(8+3, 8-3) = (11, 5)`.
  10. 10. (2 pts) 7 — `f(2) = 2 × 2 + 3 = 4 + 3 = 7`.
  11. 11. (2 pts) 24 — Ce programme calcule la factorielle : `résultat = 4! = 24`.
  12. 12. (2,5 pts) Montrer qu'une quantité entière strictement décroissante et minorée atteint sa borne — On définit un variant : une expression entière positive qui décroît strictement à chaque itération. Quand elle atteint 0, la boucle s'arrête.
Pour retravailler les erreurs : ce chapitre se rejoue en ligne sur numimaths.fr, avec correction instantanée et difficulté adaptée.

Une évaluation Algorithmique & Python Seconde toujours nouvelle

Ce contrôle est généré par le moteur Numi : chaque « Nouveau sujet » produit des exercices inédits de Algorithmique & Python (Seconde, 15 – 16 ans), gradués du plus simple au plus exigeant, strictement conformes au programme officiel de l'Éducation nationale. Le barème sur 20 suit la difficulté des exercices ; le corrigé occupe la deuxième page.

Feuille d'exercices Algorithmique & Python à imprimer →Exercices Algorithmique & Python en ligne →