Algorithmes et programmes : corrigé des exercices de maths en 2de en PDF

Accueil >> Exercices de maths >> Exercices en 2de >> Corrigés >> Algorithmes et programmes : corrigé des exercices de maths en 2de en PDF

Mis à jour le 22 novembre 2025

Les algorithmes et programmes en 2de constituent une introduction fondamentale à la logique mathématique et à la pensée structurée. Ces exercices corrigés d’algorithmes permettent aux élèves de développer leur capacité de raisonnement séquentiel et leur compréhension des instructions ordonnées. Maîtriser les programmes de calcul en mathématiques 2de favorise l’acquisition de compétences essentielles comme la décomposition de problèmes complexes et l’organisation méthodique de la résolution. Cette approche algorithmique prépare efficacement les collégiens aux défis mathématiques futurs tout en renforçant leur logique de programmation élémentaire.

Exercice 1 – programme avec le langage Python.

a) Quel est le type de la variable x ?

La variable x est de type entier (int) car elle est définie par x=int(input()).

b) Pour chacune des valeurs suivantes de x saisie en entrée, donner la valeur de y affichée en sortie.

Le programme calcule successivement :

y = 4*x

y = y+1 donc y = 4*x+1

y = y**2 donc y = (4*x+1)²

Pour x = 3 :

y=(4times  3+1)^2=(12+1)^2=13^2=169

Pour x = -1 :

y=(4times  (-1)+1)^2=(-4+1)^2=(-3)^2=9

Pour x = 11 :

y=(4times  11+1)^2=(44+1)^2=45^2=2025

c) Le programme définit une fonction f : x ↦ y. Exprimer y en fonction du nombre entier x.

D’après l’analyse du programme :

f(x)=(4x+1)^2

Ou encore, en développant :

f(x)=16x^2+8x+1


Exercice 2 – décrire le rôle et fonctionnement de l’algorithme.

Analyse de l’algorithme :

Variables utilisées :

C : chaîne de caractères saisie par l’utilisateur

C’ : chaîne de caractères qui va stocker le résultat

: nombre entier naturel représentant la longueur de la chaîne C

Fonctionnement étape par étape :

1. L’utilisateur saisit une chaîne de caractères C

2. On calcule ℓ = Lgr(C), c’est-à-dire la longueur de C (nombre de caractères)

3. On initialise C’ comme une chaîne vide

4. On extrait de C la sous-chaîne qui commence au caractère de position ℓ et qui contient 1 caractère

5. Cette sous-chaîne (qui est le dernier caractère de C) est affectée à C’

6. On affiche C’

Rôle de cet algorithme :

Cet algorithme extrait et affiche le dernier caractère de la chaîne saisie.

Exemple :

Si C = « Bonjour », alors :

• ℓ = Lgr(« Bonjour ») = 7

• C’ = Sch(« Bonjour », 7, 1) = « r »

• L’algorithme affiche : « r »


Exercice 3 – programme et magasin de reprographie.

a) Compléter les lignes ① et ② du programme :

Ligne ① : N=int(input())

Cette ligne permet de saisir le nombre de photocopies et de le convertir en nombre entier.

Ligne ② : Prix=N*0.1

Cette ligne calcule le prix pour plus de 50 photocopies à 0,10 € l’unité.

b) Programme complet :

print(« Entrer N : »)
N=int(input())
if N<=50:
    Prix=N*0.15
else:
    Prix=N*0.1
print(« Prix= »,Prix)

c) Contrôle du fonctionnement :

Test 1 : N = 30 photocopies

30 ≤ 50, donc Prix = 30 × 0,15 = 4,50 €

Test 2 : N = 80 photocopies

80 > 50, donc Prix = 80 × 0,10 = 8,00 €

Test 3 : N = 50 photocopies

50 ≤ 50, donc Prix = 50 × 0,15 = 7,50 €

Le programme fonctionne correctement selon le tarif du magasin.


Exercice 4 – Course de Louise

a) Calcul du temps mis par Louise :

Pour les 5 premiers kilomètres à 15 km.h⁻¹ :

t_1=frac{d}{v}=frac{5}{15}=frac{1}{3}text{ h}

Pour les 2 derniers kilomètres à 12 km.h⁻¹ :

t_2=frac{2}{12}=frac{1}{6}text{ h}

Temps total :

t_{total}=frac{1}{3}+frac{1}{6}=frac{2}{6}+frac{1}{6}=frac{3}{6}=frac{1}{2}text{ h}=30text{ min}

b) Algorithme qui calcule et affiche d(t) :

Variables :

t : temps en minutes

d : distance parcourue en km

Début

Saisir t

Si t ≤ 20 alors

    d=15times  frac{t}{60}=frac{t}{4}

Sinon

    d=5+12times  frac{t-20}{60}=5+frac{t-20}{5}

FinSi

Afficher d

Fin


Exercice 5 – un algorithme à étudier.

a) Exécution de l’algorithme avec n = 5 :

• Initialisation : S = 0

• Boucle « Pour i allant de 1 à n » avec n = 5 :

– Pour i = 1 : S = S + i² = 0 + 1² = 0 + 1 = 1

– Pour i = 2 : S = S + i² = 1 + 2² = 1 + 4 = 5

– Pour i = 3 : S = S + i² = 5 + 3² = 5 + 9 = 14

– Pour i = 4 : S = S + i² = 14 + 4² = 14 + 16 = 30

– Pour i = 5 : S = S + i² = 30 + 5² = 30 + 25 = 55

Le résultat affiché en sortie est 55.

b) Rôle général de l’algorithme :

Cet algorithme calcule la somme des carrés des n premiers entiers naturels.

Il calcule : S=1^2+2^2+3^2+...+n^2

Cette somme peut s’écrire avec la notation sigma : S=sum_{i=1}^{n}i^2

On peut vérifier que cette formule a pour expression : S=frac{n(n+1)(2n+1)}{6}

Vérification avec n = 5 : S=frac{5times  6times  11}{6}=frac{330}{6}=55


Exercice 6 – un algorithme qui donne l’image par une fonction.

Analyse de la fonction :

La fonction f est définie par morceaux :

• Si <img class="LatexImg" src="https://maths-pdf.fr/cgi-bin/mimetex.cgi?x<0" alt="x, alors f(x)=x^2

• Si 0leq{x}leq{1}, alors f(x)=x

• Si 1″ alt= »x>1″>, alors f(x)=-2x+3

Algorithme :

Variables : x (nombre), y (nombre)

Début

    Saisir x

    Si <img class="LatexImg" src="https://maths-pdf.fr/cgi-bin/mimetex.cgi?x<0" alt="x alors

        yleftarrow{x^2}

    Sinon si xleq{1} alors

        yleftarrow{x}

    Sinon

        yleftarrow{-2x+3}

    Fin Si

    Afficher y

Fin


Exercice 7 – simuler 100 lancers avec Python.

a) Rôle des variables :

n : compteur qui stocke le nombre de « Pile » obtenus lors des 100 lancers

x : nombre aléatoire généré à chaque lancer, compris entre 0 et 1

b) Modification pour effectuer M fois la simulation :

Pour répéter M fois la simulation de 100 lancers, Suzy doit ajouter une boucle extérieure :

Solution :

« `python
from random import *

M = 1000 # nombre de simulations

for simulation in range(M):
    n = 0
    for i in range(1,101):
        x = random()
        if x < 0.5:
            n = n + 1
    print(« Simulation », simulation+1, « : », n, « Pile »)
« `

Explication : La probabilité d’obtenir « Pile » est frac{1}{2}=0{,}5. Le programme considère qu’on obtient « Pile » quand le nombre aléatoire x est inférieur à 0,5.


Exercice 8 – Fonction diviseurs et programme

a) Analyse de la fonction diviseurs :

La fonction diviseurs(N) parcourt tous les entiers k de 1 à N et compte combien d’entre eux divisent N.

Pour N=12 par exemple :

• Les diviseurs de 12 sont : 1, 2, 3, 4, 6, 12

• Il y en a 6

• Donc diviseurs(12) = 6

Résultat : La fonction diviseurs(N) renvoie le nombre de diviseurs de l’entier N.

b) Programme pour déterminer les entiers de 1 à 100 qui possèdent au moins dix diviseurs :

Algorithme :

Affecter à la valeur 0

Pour n allant de 1 à 100

    Si diviseurs(n) ≥ 10 alors

        Afficher n

    Fin Si

Fin Pour

En Python :

for n in range(1, 101):

    if diviseurs(n) >= 10:

        print(n)

Note : Les nombres ayant au moins 10 diviseurs sont notamment : 48, 60, 72, 80, 84, 90, 96, 100.


Exercice 9 – un programme écrit en Python.

a) Type de la variable x :

La variable x est de type entier (int) car elle est définie par x=int(input()) qui convertit la saisie en nombre entier.

b) Valeurs de y pour les différentes valeurs de x :

Le programme calcule successivement :

y = x^2

y = -y + 3x = -x^2 + 3x

y = y + 4 = -x^2 + 3x + 4

Pour x = -1 : y = -(-1)^2 + 3times  (-1) + 4 = -1 - 3 + 4 = 0

Pour x = 2 : y = -(2)^2 + 3times  2 + 4 = -4 + 6 + 4 = 6

Pour x = 12 : y = -(12)^2 + 3times  12 + 4 = -144 + 36 + 4 = -104

c) Expression de y en fonction de x :

Le programme définit la fonction : y = -x^2 + 3x + 4


Exercice 10 – un programme écrit avec le langage Python.

a) Pour n = 4, quelle valeur le programme affiche-t-il en sortie ?

Traçons l’exécution du programme avec n = 4 :

• Initialisation : S = 0

• La boucle for j in range(1, n+1) avec n = 4 signifie : j prend les valeurs 1, 2, 3, 4

• j = 1 : S = 0 + 2×1 = 2

• j = 2 : S = 2 + 2×2 = 6

• j = 3 : S = 6 + 2×3 = 12

• j = 4 : S = 12 + 2×4 = 20

Réponse : Le programme affiche S = 20

b) De façon plus générale, expliquer le calcul effectué par ce programme.

Le programme calcule la somme :

S=2times  1+2times  2+2times  3+...+2times   n

On peut factoriser par 2 :

S=2times  (1+2+3+...+n)

En utilisant la formule de la somme des n premiers entiers :

1+2+3+...+n=frac{n(n+1)}{2}

Donc :

S=2times  frac{n(n+1)}{2}=n(n+1)

Réponse : Ce programme calcule le produit n(n+1), soit la somme des n premiers nombres pairs.


Voter.. post
Télécharger puis imprimer cette fiche en PDF.

Télécharger ou imprimer cette fiche «algorithmes et programmes : corrigé des exercices de maths en 2de en PDF» au format PDF afin de pouvoir travailler en totale autonomie.



📚✏️
👥 8

🎓 L'équipe MATHS PDF

⚡ Mis à jour quotidiennement

👨‍🏫 8 Enseignants Titulaires 👩‍🏫

🏫 Collectif d'enseignants titulaires de l'Éducation Nationale en poste dans les écoles primaires, collèges et lycées.
📝 Notre équipe collaborative enrichit quotidiennement nos cours de maths et exercices corrigés.
✅ Expertise multi-niveaux • 📅 Contenu actualisé chaque jour • 🎯 Méthodes éprouvées


Nos applications

Téléchargez la dernière version gratuite de nos applications.


Nombre de fichiers PDF téléchargés.  Maths PDF c'est 14 321 977 cours et exercices de maths téléchargés en PDF et 4 250 exercices.