Kala te souhaite la bienvenueKala-Maths

Algorithmique et programmation (Python)

🟡 Moyen

📝 Les énoncés sont gratuits, et les 2 premiers corrigés sont offerts. Les autres corrigés détaillés sont réservés aux abonnés.

  1. 1

    La suite est définie par u₀ = 1000 et uₙ₊₁ = 0,8 uₙ. On cherche le plus petit n tel que uₙ < 100 :
    def seuil():
    u = 1000
    n = 0
    while u >= 100:
    u = 0.8 * u
    n = n + 1
    return n
    Déroule la boucle et donne la valeur renvoyée.

    ✅ Voir le corrigéoffert

    Multiplier par 0,8 fait diminuer u de 20 % à chaque tour. La boucle continue TANT QUE u ≥ 100.
    Suivons u (valeurs arrondies) et n :
    n = 1 : u = 800
    n = 2 : u = 640
    n = 3 : u = 512
    n = 4 : u = 409,6
    n = 5 : u = 327,68
    n = 6 : u ≈ 262,14
    n = 7 : u ≈ 209,72
    n = 8 : u ≈ 167,77
    n = 9 : u ≈ 134,22
    n = 10 : u ≈ 107,37 (encore ≥ 100)
    n = 11 : u ≈ 85,90 → cette fois u < 100, on sort.
    La fonction renvoie 11.
    Interprétation : il faut 11 étapes pour que la suite passe sous 100.

  2. 2

    On considère la suite définie par u₀ = 3 et uₙ₊₁ = 3uₙ + 2.
    a) Écris une fonction terme(n) qui renvoie uₙ.
    b) Calcule u₁, u₂ et u₃ à la main.

    ✅ Voir le corrigéoffert

    a) On part de u = u₀ = 3, puis on applique n fois la relation uₙ₊₁ = 3uₙ + 2 :
    def terme(n):
    u = 3
    for i in range(n):
    u = 3 * u + 2
    return u
    La boucle tourne n fois : après n passages, u contient uₙ.
    b) Calculons pas à pas :
    u₀ = 3
    u₁ = 3 × 3 + 2 = 9 + 2 = 11
    u₂ = 3 × 11 + 2 = 33 + 2 = 35
    u₃ = 3 × 35 + 2 = 105 + 2 = 107
    Ainsi terme(1) = 11, terme(2) = 35, terme(3) = 107.
    Vérification : terme(0) doit renvoyer u₀ = 3, ce qui est le cas car la boucle ne s'exécute alors pas. ✓

  3. 3

    Que compte ce programme ? Donne la valeur finale de c.
    c = 0
    for n in range(1, 101):
    if n % 7 == 0:
    c = c + 1
    print(c)

    🔒 Corrigé réservé aux abonnésS'abonner →
  4. 4

    On répète 20 fois une épreuve qui réussit avec probabilité p = 0,3, et on compte les succès :
    import random
    def experience():
    s = 0
    for i in range(20):
    if random.random() < 0.3:
    s = s + 1
    return s
    a) Quelle loi suit la variable renvoyée par experience() ?
    b) Quelle est l'espérance du nombre de succès ? Autour de quelle valeur s se situe-t-il ?

    🔒 Corrigé réservé aux abonnésS'abonner →
  5. 5

    Écris une fonction indice_max(L) qui renvoie l'INDICE (la position) du plus grand élément d'une liste L. Applique-la à L = [5, 12, 7, 20, 8].

    🔒 Corrigé réservé aux abonnésS'abonner →
  6. 6

    On donne la fonction :
    def somme_chiffres(n):
    s = 0
    while n > 0:
    s = s + n % 10
    n = n // 10
    return s
    Que renvoie somme_chiffres(2734) ?

    🔒 Corrigé réservé aux abonnésS'abonner →
  7. 7

    On dispose des notes d'un échantillon d'élèves : L = [6, 9, 7, 10, 8, 14]. Écris une fonction moyenne(L) qui calcule la moyenne des nombres d'une liste, puis applique-la à cet échantillon.

    🔒 Corrigé réservé aux abonnésS'abonner →
  8. 8

    Que contient la liste L construite par cette compréhension ?
    L = [n*n - 1 for n in range(1, 8) if n % 2 == 1]

    🔒 Corrigé réservé aux abonnésS'abonner →
  9. 9

    On donne la fonction :
    def compte(L, v):
    c = 0
    for x in L:
    if x == v:
    c = c + 1
    return c
    Que renvoie compte([2, 5, 2, 7, 2, 5], 2) ?

    🔒 Corrigé réservé aux abonnésS'abonner →
  10. 10

    On simule la somme de deux dés équilibrés à 6 faces :
    import random
    def somme_deux_des():
    return random.randint(1, 6) + random.randint(1, 6)
    a) Entre quelles valeurs se trouve le résultat renvoyé ?
    b) Quelle somme a la plus grande probabilité d'apparaître ? Justifie.

    🔒 Corrigé réservé aux abonnésS'abonner →

Comment ça s'est passé ?

Retrouve tout dans Mon suivi.