Aller au contenu

Exercices corrigés — Algorithmique et programmation Python (Seconde)

Quatre niveaux de difficulté, du plus simple au plus exigeant. Chaque exercice a sa correction détaillée, étape par étape.

2 exercices de niveau « Challenge ». Voir les 8 exercices.

Exercice 7 Challenge

On adapte l'algorithme du cours pour encadrer 3 au dixième : pas = 0.1 ; x = 0 ; while (x + pas)**2 <= 3 : x = x + pas. Quelles valeurs successives prend x ? Quel encadrement obtient-on ? Comment obtenir un encadrement au centième ?

Voir la correction
Correction détaillée

la boucle avance x de 0,1 en 0,1 tant que le carré du nombre suivant ne dépasse pas 3. On teste donc successivement (0,1)2, (0,2)2, … : x prend les valeurs 0 ; 0,1 ; 0,2 ; … ; 1,7.
Pour x = 1,7, le nombre suivant est 1,8 et 1,82 = 3,24 > 3 : la condition devient fausse, la boucle s'arrête avec x = 1,7. On a 1,72 = 2,89 ≤ 3 < 3,24 = 1,82, et comme la fonction carré est croissante sur les positifs : 1,7 ≤ 3 < 1,8.
C'est un encadrement d'amplitude 0,1 ; en effet 3 ≈ 1,732. Pour un encadrement au centième, on prend pas = 0.01 : la boucle s'arrête à x = 1,73, car 1,732 = 2,9929 ≤ 3 < 3,0276 = 1,742, d'où 1,73 ≤ 3 < 1,74.
Remarque pratique : les additions répétées de 0,1 en flottants accumulent de petites erreurs (0,1 + 0,1 + 0,1 n'est pas exactement 0,3 en machine) ; pour de nombreuses étapes, on préfère calculer x comme k × pas avec k entier.

Exercice 8 Challenge

Écrire une fonction frequence_au_moins_5(n) qui simule n lancers d'un dé équilibré et renvoie la fréquence des résultats supérieurs ou égaux à 5. Quelle valeur attend-on pour n grand ?

Voir la correction
Correction détaillée

randint(1, 6) renvoie un entier entre 1 et 6 inclus, chaque face ayant la même probabilité : c'est le modèle du dé équilibré. On compte les tirages qui valent 5 ou 6 :

from random import randint

def frequence_au_moins_5(n):
    compteur = 0
    for i in range(n):
        if randint(1, 6) >= 5:
            compteur = compteur + 1
    return compteur / n

Deux faces sur six conviennent, donc la probabilité théorique est 26 = 13 ≈ 0,333. Pour n grand (10 000 par exemple), la fréquence renvoyée est proche de 0,333, avec une valeur différente à chaque exécution : c'est la loi des grands nombres, la fréquence observée se rapprochant de la probabilité sans jamais la garantir.
Erreurs à éviter : tirer le dé une seule fois avant la boucle (le même résultat serait compté n fois), oublier d'initialiser le compteur, ou diviser par 6 au lieu de n.