Kala te souhaite la bienvenueKalaMaths

Algorithmique et programmation (Python)

🟠 Difficile

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.

S'abonner
  1. 1

    On considère le programme suivant.
    u = 2
    for i in range(6):
        u = u * u
    print(u)
    a) Déroule le programme et donne la valeur affichée.
    b) Exprime le résultat sous forme d'une puissance de 2.

    Kala a une idéeJe remplis case par case !
    Tour01234n50????− 12On retire 12 tant que n > 5 ; le test précède letour.
    Voir le corrigéoffert

    a) Tour 1 : u=4u = 4.
    Tour 2 : u=16u = 16.
    Tour 3 : u=256u = 256.
    Tour 4 : u=65 536u = 65\,536.
    Tour 5 : u=4 294 967 296u = 4\,294\,967\,296.
    Tour 6 : u≈1,84×1019u \approx 1{,}84 \times 10^{19}.

    b) Chaque tour élève l'exposant au carré : 2→22→24→28→216→232→2642 \to 2^{2} \to 2^{4} \to 2^{8} \to 2^{16} \to 2^{32} \to 2^{64}.
    Le résultat est donc 2642^{64}.
    La croissance est fulgurante : six tours suffisent à dépasser dix milliards de milliards.

  2. 2

    On considère la suite définie par u0=1u_0 = 1 et un+1=un+2un+1u_{n+1} = \frac{u_n + 2}{u_n + 1}.
    def terme(n):
        u = 1
        for i in range(n):
            u = (u + 2) / (u + 1)
        return u
    a) Calcule u1u_1, u2u_2 et u3u_3 à la main.
    b) Vers quelle valeur la suite semble-t-elle tendre ? Vérifie par le calcul.

    Voir le corrigéoffert

    a) u1=1+21+1=1,5u_1 = \frac{1 + 2}{1 + 1} = 1{,}5.
    u2=3,52,5=1,4u_2 = \frac{3{,}5}{2{,}5} = 1{,}4.
    u3=3,42,4≈1,4167u_3 = \frac{3{,}4}{2{,}4} \approx 1{,}4167.
    Les termes oscillent en se resserrant.

    b) La suite semble tendre vers environ 1,414.
    Si elle converge vers ℓ\ell, cette limite vérifie ℓ=ℓ+2ℓ+1\ell = \frac{\ell + 2}{\ell + 1}.
    Donc ℓ(ℓ+1)=ℓ+2\ell(\ell + 1) = \ell + 2, soit ℓ2=2\ell^{2} = 2.
    La limite est 2≈1,41421\sqrt{2} \approx 1{,}41421 (la racine négative est exclue, les termes étant positifs).
    Ce programme fournit donc une méthode d'approximation de 2\sqrt{2}.

    8 corrigés détaillés pas à pas restent à débloquer

    Chacun reprend l'énoncé, montre le calcul étape par étape et dit où se trouve le piège.

    Le pack de révision, gratuit

    L'essentiel des dix premiers chapitres du programme, en PDF : ce qu'il faut retenir et les questions qui vérifient que c'est acquis. Puis 5 e-mails sur 14 jours, et c'est tout.

  3. 3

    On considère le programme suivant.
    s = 0
    for k in range(1, 21):
        s = s + k * k
    print(s)
    a) Que calcule ce programme ? Donne la valeur affichée.
    b) Modifie-le pour qu'il calcule la somme des cubes des mêmes entiers.

    🔒 Corrigé détailléVoir ce qu'il contient →
  4. 4

    On approche une intégrale par la méthode des rectangles.
    def aire(n):
        s = 0
        h = 1 / n
        for k in range(n):
            s = s + h * (k * h) ** 2
        return s
    a) Que calcule cette fonction quand n est grand ?
    b) Calcule aire(4) à la main.

    🔒 Corrigé détailléVoir ce qu'il contient →
  5. 5

    On simule 10 000 lancers d'une pièce.
    import random
    def simule(n):
        c = 0
        for i in range(n):
            if random.random() < 0.5:
                c = c + 1
        return c / n
    a) Que renvoie simule(10000) approximativement ? Justifie.
    b) Comment modifier le code pour simuler une pièce truquée donnant pile 3 fois sur 5 ?

    🔒 Corrigé détailléVoir ce qu'il contient →
  6. 6

    Écris une fonction compte(L, s) qui renvoie le nombre d'éléments de la liste L strictement supérieurs à s.
    a) Écris la fonction.
    b) Applique-la à L = [12, 7, 19, 4, 15, 9] avec s = 10.

    🔒 Corrigé détailléVoir ce qu'il contient →
  7. 7

    On considère le programme suivant.
    n = 1
    c = 0
    while n < 1000:
        n = 3 * n
        c = c + 1
    print(c, n)
    a) Déroule le programme et donne les deux valeurs affichées.
    b) Retrouve la valeur de c à l'aide du logarithme.

    🔒 Corrigé détailléVoir ce qu'il contient →
  8. 8

    Écris une fonction moyenne_ponderee(V, E) qui calcule la moyenne des valeurs de la liste V pondérées par les effectifs de la liste E.
    a) Écris la fonction.
    b) Applique-la à V = [8, 12, 16] et E = [3, 5, 2].

    Valeur81216Effectif352Chaque valeur va avec l'effectifplacé juste en dessous.
    🔒 Corrigé détailléVoir ce qu'il contient →
  9. 9

    Écris une fonction dichotomie(a, b, p) qui encadre à la précision p la solution de f(x)=0f(x) = 0 sur [a ; b][a \,;\, b], pour f(x)=x3+x−1f(x) = x^{3} + x - 1.
    a) Écris la fonction.
    b) Explique pourquoi la boucle se termine toujours.

    🔒 Corrigé détailléVoir ce qu'il contient →
  10. 10

    La suite est définie par u0=800u_0 = 800 et un+1=0,75 unu_{n+1} = 0{,}75\,u_n. On cherche le plus petit nn tel que un<100u_n < 100.
    def seuil():
        u = 800
        n = 0
        while u >= 100:
            u = 0.75 * u
            n = n + 1
        return n
    a) Déroule la boucle et donne la valeur renvoyée.
    b) Retrouve ce résultat par le calcul, avec le logarithme.

    🔒 Corrigé détailléVoir ce qu'il contient →

Comment ça s'est passé ?

Retrouve tout dans Mon suivi.

Le pack de révision, gratuit

L'essentiel des dix premiers chapitres du programme, en PDF : ce qu'il faut retenir et les questions qui vérifient que c'est acquis. Puis 5 e-mails sur 14 jours, et c'est tout.

Partager avec ma classe

Les énoncés de cette page sont gratuits et s'ouvrent sans compte : l'adresse peut être donnée telle quelle, au tableau ou dans l'espace numérique de travail.