Mathématiques · Seconde · Contrôle n°1

Algorithmique et programmation Python

55 minutes noté sur 205 exercices

Un contrôle de mathématiques de 55 minutes sur l'algorithmique en seconde : l'affectation qui n'est pas une égalité, l'indentation qui est la syntaxe elle-même, les deux boucles et la borne exclue, la fonction qui renvoie au lieu d'afficher, et les algorithmes du maximum, d'Euclide et de primalité. Vingt points, barème détaillé, et une correction qui dit pourquoi à chaque question.

Imprimer le contrôle

Deux PDF à imprimer, sur papier A4. Gratuit, sans inscription.

Avant de commencer

  • Un algorithme qui ne marche pas est presque toujours un raisonnement incomplet.
  • L’affectation range une valeur ; elle n’affirme pas une égalité.
  • En Python, l’indentation n’est pas une commodité de lecture : c’est la syntaxe.
  • Dans `range(1, 11)`, la borne de droite est exclue.
  • Avant d’écrire une boucle « tant que », il faut savoir quelle ligne rapproche de la sortie.
  • Renvoyer et afficher ne sont pas la même chose.

Exercice 1 — Variables et indentation

4 pts · 10 min

Comprendre affectation et indentation

Réponds à chaque question.

  1. 1.Que signifie exactement l’affectation `n = 5` ?

    1 pt
    Voir la correction

    Range 5 dans la case appelée .

    Ce n’est pas l’affirmation d’une égalité.

  2. 2.Pourquoi `n = n + 1` a-t-il un sens en programmation ?

    1 pt
    Voir la correction

    Parce qu’on remplace le contenu de par ce contenu augmenté de 1.

    Mathématiquement, l’égalité serait absurde.

  3. 3.À quoi sert l’indentation en Python ?

    1 pt
    Voir la correction

    Elle indique ce qui s’exécute à l’intérieur d’un bloc : c’est la syntaxe elle-même.

    Ce qui revient à gauche s’exécute dans tous les cas.

  4. 4.Quelle différence y a-t-il entre `=` et `==` ?

    1 pt
    Voir la correction

    Un seul signe égal affecte une valeur ; le double signe compare.

    Dans un test, on demande : c’est donc le double signe.

Exercice 2 — Les deux boucles

4 pts · 11 min

Choisir et écrire une boucle

Réponds à chaque question.

  1. 1.Quand emploie-t-on une boucle `for` ?

    1 pt
    Voir la correction

    Quand le nombre de répétitions est connu à l’avance.

    C’est ce qui la distingue de l’autre boucle.

  2. 2.Quelles valeurs prend `i` dans `for i in range(1, 11)` ?

    1 pt
    Voir la correction

    Les valeurs 1 à 10.

    La borne de droite est exclue : c’est l’erreur d’un débutant sur deux.

  3. 3.Quand emploie-t-on une boucle `while` ?

    1 pt
    Voir la correction

    Quand le nombre de tours n’est pas connu : on répète tant qu’une condition reste vraie.

    Il faut garantir que la condition finira par devenir fausse.

  4. 4.Que se passe-t-il si cette condition ne peut jamais devenir fausse ?

    1 pt
    Voir la correction

    Le programme tourne indéfiniment, sans message d’erreur.

    C’est la seule erreur qui ne produit rien : ni affichage, ni plantage.

Exercice 3 — Fonctions

4 pts · 10 min

Écrire et comprendre une fonction

Réponds à chaque question.

  1. 1.Qu’est-ce qu’une fonction, en programmation ?

    1 pt
    Voir la correction

    Un traitement regroupé sous un nom, avec des paramètres en entrée.

    Les paramètres sont les valeurs qu’on lui fournit.

  2. 2.Que fait l’instruction `return` ?

    1 pt
    Voir la correction

    Elle renvoie une valeur à celui qui a appelé la fonction, et interrompt son exécution.

    L’interruption fait partie de son effet.

  3. 3.Que fait `print`, et en quoi diffère-t-elle ?

    1 pt
    Voir la correction

    Elle affiche, sans rien renvoyer.

    Une fonction qui affiche sans renvoyer ne peut pas être réutilisée dans un calcul.

  4. 4.Quelle question se poser avant de rendre une fonction ?

    1 pt
    Voir la correction

    Renvoie-t-elle avec `return`, ou se contente-t-elle d’afficher ?

    C’est la faute qui rend une fonction juste mais inutilisable.

Exercice 4 — Les algorithmes

5 pts · 14 min

Connaître les algorithmes du programme

Réponds à chaque question.

  1. 1.Avec quoi initialise-t-on la recherche d’un maximum, et pourquoi pas avec 0 ?

    1 pt
    Voir la correction

    Avec le premier élément de la liste ; une liste de nombres négatifs donnerait sinon un maximum faux.

    Zéro n’appartient pas forcément à la liste.

  2. 2.Quel est le principe de l’algorithme d’Euclide ?

    1 pt
    Voir la correction

    On remplace le plus grand par le reste de sa division par le plus petit, et on recommence jusqu’à ce que le reste soit nul.

    Le PGCD est alors le dernier diviseur employé.

  3. 3.Déroule Euclide sur 48 et 18 : donne les restes successifs.

    1 pt
    Voir la correction

    , puis , puis .

    Le reste devient nul au troisième tour.

  4. 4.Quel est le PGCD de 48 et 18 ?

    1 pt
    Voir la correction

    6

    C’est le dernier diviseur employé avant que le reste ne s’annule.

  5. 5.Jusqu’où suffit-il de tester les diviseurs pour savoir si est premier ?

    1 pt
    Voir la correction

    Jusqu’à .

    Si a un diviseur supérieur à sa racine, il en a nécessairement un inférieur.

Exercice 5 — Trouve l'erreur

3 pts · 10 min

Repérer une erreur et la corriger

Chaque ligne est fausse. Écris ce qu’il fallait écrire.

  1. 1.« `if n = 3:` »

    1 pt
    Voir la correction

    `if n == 3:`

    Un seul signe égal range une valeur ; dans un test, on compare.

  2. 2.« Dans le test de primalité, on écrit `return True` à l’intérieur de la boucle. »

    1 pt
    Voir la correction

    Il va à l’extérieur, aligné avec la boucle.

    À l’intérieur, la fonction déclarerait 9 premier dès le premier diviseur qui ne convient pas.

  3. 3.« Mon programme s’exécute sans message d’erreur : il est donc juste. »

    1 pt
    Voir la correction

    Il faut le tester sur un cas dont on connaît déjà la réponse.

    Une boucle infinie ne produit aucun message, et un résultat faux non plus.

Barème — ce que le correcteur regarde

Les lignes chiffrées couvrent les 5 exercices et totalisent 20 points.

Ex.1Variable, affectation et indentation

4 points — 1 par question

Point perdu si : Une affectation lue comme une égalité mathématique.

Ex.2Les deux boucles et leurs bornes

4 points — 1 par question

Point perdu si : Une borne de droite comptée comme incluse.

Ex.3Fonctions : renvoyer et afficher

4 points — 1 par question

Point perdu si : Une fonction qui affiche sans rien renvoyer, jugée réutilisable.

Ex.4Les algorithmes à connaître

5 points — 1 par question

Point perdu si : Un maximum initialisé à zéro.

Ex.5L’erreur repérée, et la réponse juste donnée

3 points — 1 par ligne

Point perdu si : Une conclusion tirée avant d’avoir tout testé.

Et maintenant ?

16 à 20
Le chapitre est tenu. Entraîne-toi maintenant sur le seul souci d'efficacité du programme : tester les diviseurs jusqu'à la racine plutôt que jusqu'à $n-1$. Pour un million, on passe d'un million de tests à mille.
10 à 15
Refais l'exercice 4 en déroulant chaque algorithme à la main sur un cas dont tu connais la réponse. C'est ce que fait un programmeur avant même de lancer le programme.
moins de 10
Reprends la fiche de cours et retiens la distinction qui commande tout le reste : un `=` range, un `==` demande. Dans un test, on demande toujours.

Les autres contrôles de mathématiques Seconde

Toutes les évaluations de mathématiques Seconde

Programme de seconde générale et technologique — BO spécial n°1 du 22 janvier 2019 · Contrôle rédigé pour ProgresSchool, version 2026.1.