eleveai.frLa liberté d'apprendre
MathsTale spéFiche d'exercices

Algorithmique et Python : 20 exercices corrigésmaths Tale spé — du geste seul au problème de contrôle

Vingt exercices où le programme rencontre le cours de terminale : seuils calculés avec ln, dichotomie, méthode des rectangles, méthode d'Euler, simulations et lois de probabilité. Un rappel avant chaque niveau. Suis chaque programme ligne à ligne au brouillon, puis ouvre la correction : elle fait la trace, et la confirme par le calcul.

Un seul geste : exercices 1 à 8niveau 1

Un programme par exercice : le suivre ligne à ligne, noter les valeurs, conclure.

Rappel de cours

  • « for k in range(n) » répète le bloc fois, pour k = , , …, . « range(1, n + 1) » va de à .
  • « while condition: » répète le bloc TANT QUE la condition est vraie. Pour un seuil, la boucle s'arrête au premier rang où la condition devient fausse.
  • « random() » renvoie un nombre au hasard dans  : le test « random() < p » est vrai avec la probabilité .
  • Une fonction RENVOIE son résultat avec « return ». On l'appelle ensuite comme en maths : u(3), S(4)…
  1. 1

    On considère la fonction Python suivante : « def u(n): », puis, en retrait, « v = 1 », « for k in range(n): », « v = 0.5 * v + 3 » (en double retrait) et « return v ». a) Quelle suite cette fonction calcule-t-elle ? Donner et la relation de récurrence. b) Faire la trace de u(3). c) Que renvoie u(0) ? Pourquoi ?
    Voir la correction
    a) v part de , puis la boucle remplace v par à chaque tour. C'est la suite définie par et  : u(n) renvoie . b) Pour u(3), la boucle fait tours (k = , , ). Départ : v vaut . k =  : v vaut . k =  : v vaut . k =  : v vaut . u(3) renvoie , c'est . c) range(0) est vide : la boucle ne tourne pas, et u(0) renvoie , c'est-à-dire . ⚠️ Le piège : croire que « range(3) » fait tourner la boucle pour k = , , . Il y a bien trois tours, mais k commence à  ; ici k ne sert qu'à compter. ⭐ Sur le dessin : la trace, une ligne par tour. La dernière ligne, en rouge, est la valeur renvoyée.
    kv
    début1
    03.5
    14.75
    25.375
  2. 2

    Voici une fonction : « def S(n): », puis, en retrait, « s = 0 », « for k in range(1, n + 1): », « s = s + k**2 » (en double retrait) et « return s ». a) Faire la trace de S(4). Que calcule S(n) ? b) Un élève écrit « for k in range(n): » à la place. Que renvoie alors son S(4) ? c) Vérifier sur S(4) et S(10) la formule , qu'on démontre par récurrence.
    Voir la correction
    a) k prend les valeurs , , , , et s accumule les carrés. Départ : s vaut . Puis , , , . S(4) renvoie . S(n) calcule . b) « range(4) » donne k = , , ,  : on obtient . C'est la somme jusqu'à seulement, soit S(3). c) Pour  : . Pour  : , et S(10) renvoie bien . ⛔ Le piège de la borne : « range(n) » s'arrête à . Pour aller jusqu'à , on écrit « range(1, n + 1) ». ⚠️ Deux vérifications ne démontrent pas la formule : le programme ne teste qu'un nombre fini de cas. La preuve se fait par récurrence. ⭐ Sur le dessin : la trace de S(4), qui finit sur .
    ks
    début0
    11
    25
    314
    430
  3. 3

    La suite est définie par et . On admet que . a) Que renvoie seuil(e), en termes de la suite ? b) Calculer seuil(0.1) à l'aide du logarithme népérien. c) Pourquoi la boucle s'arrête-t-elle, quel que soit e > 0 ?
    def seuil(e):
    n = 0
    u = 10
    while u - 5 >= e:
    u = 0.8 * u + 1
    n = n + 1
    return n
    Voir la correction
    a) La boucle calcule les termes tant que l'écart reste . Elle renvoie le PREMIER rang tel que . b) équivaut à , soit . La fonction ln est strictement croissante : . On divise par , qui est NÉGATIF : l'inégalité change de sens. . Le premier entier qui convient est  : seuil(0.1) renvoie . c) , donc et . L'écart finit par passer sous n'importe quel e > 0 : la condition du while devient fausse. ⛔ Le piège : oublier que et écrire . ⭐ Sur le dessin : les termes descendent vers la droite sans l'atteindre ; au rang , l'écart vaut encore .
    -101234567891234567891011
  4. 4

    On considère la fonction X ci-dessous. a) Que simule le test « random() < p » ? b) Quelle loi suit le nombre renvoyé par X(5, 0.3) ? Justifier. c) Calculer la probabilité que X(5, 0.3) renvoie , et l'espérance de cette loi.
    from random import random
    def X(n, p):
    s = 0
    for k in range(n):
    if random() < p:
    s = s + 1
    return s
    Voir la correction
    a) random() tombe au hasard dans . Il tombe sous avec la probabilité  : le test simule un succès de probabilité . b) La boucle répète fois la même épreuve, et chaque tirage est indépendant des autres. s compte les succès. X(5, 0.3) suit donc la loi binomiale . c) . Cela fait .  : en moyenne, sur beaucoup d'appels, X(5, 0.3) renvoie . ⚠️ Un appel renvoie un ENTIER, jamais . L'espérance est une moyenne à long terme. ⚠️ Écrire « random() > p » simulerait l'échec : sa probabilité est . ⭐ Sur le dessin : la loi de X. La plus haute barre est  ; vient juste après, avec .
    0.16800.3610.30920.13230.02840.0025
  5. 5

    On considère la fonction : « def termes(N): », puis, en retrait, « L = [1] », « for k in range(N): », « L.append((L[-1] + 6)**0.5) » (en double retrait) et « return L ». a) Quelle suite la liste contient-elle ? b) Combien d'éléments contient termes(3) ? Donner-les, arrondis au millième. c) On admet que la suite converge. Trouver sa limite.
    Voir la correction
    a) L[-1] est le DERNIER élément de la liste. À chaque tour, on ajoute , où est le dernier terme calculé. La liste contient les termes de et . b) termes(3) contient , , et  : QUATRE éléments. , , . c) La fonction est continue : la limite vérifie . On élève au carré : , soit . Une racine carrée est positive, donc . ⚠️ termes(N) renvoie termes, de à  : la liste commence par . ⭐ Sur le dessin : les termes montent très vite vers la droite .
    -10123456-11234
  6. 6

    Voici une fonction qui teste une liste : « def croissante(L): », puis, en retrait, « for i in range(len(L) - 1): », « if L[i + 1] < L[i]: » (en double retrait), « return False » (en triple retrait), et enfin « return True » (en simple retrait). a) Que renvoient croissante([2, 5, 5, 9]) et croissante([1, 4, 3, 8]) ? b) Combien de comparaisons fait-elle, au plus, sur une liste de éléments ? c) On pose . Que renvoie croissante([10*n - n**2 for n in range(6)]) ? La suite est-elle croissante ?
    Voir la correction
    a) La fonction compare chaque élément au suivant. Elle renvoie False dès qu'elle trouve une descente. [2, 5, 5, 9] : , et sont faux. La boucle va au bout : True. [1, 4, 3, 8] : à i = , est vrai : False, sans regarder la suite. b) i va de à  : comparaisons au plus. c) La liste vaut [0, 9, 16, 21, 24, 25] : elle monte, la fonction renvoie True. Mais  : la suite n'est PAS croissante. , négatif dès  : la suite décroît à partir du rang . ⛔ Le piège : un programme ne regarde qu'un nombre FINI de termes. Il peut réfuter (« False »), jamais démontrer une propriété de toute la suite. ⚠️ « return False » est DANS la boucle : la fonction s'arrête au premier False. « return True » est APRÈS la boucle. ⭐ Sur le dessin : les valeurs montent jusqu'à , puis redescendent à .
    n0123456
    u(n)091621242524
  7. 7

    La fonction mc tire N points au hasard dans le carré . a) Quand le compteur c augmente-t-il ? Le dire avec la courbe de . b) Vers quel nombre mc(N) se rapproche-t-il quand N est grand ? Le calculer par une intégrale.
    from random import random
    def mc(N):
    c = 0
    for k in range(N):
    x = random()
    y = random()
    if y < x**2:
    c = c + 1
    return c / N
    Voir la correction
    a) Le point de coordonnées (x ; y) est pris au hasard dans le carré. c augmente quand , c'est-à-dire quand le point tombe SOUS la parabole. b) mc(N) est la fréquence des points sous la parabole. Pour N grand, elle se rapproche de la probabilité de tomber sous la courbe. Le carré a une aire de  : cette probabilité est l'aire sous la courbe. . mc(N) se rapproche de . ⚠️ Deux appels de mc(1000) ne renvoient pas le même nombre : c'est une fréquence, qui fluctue autour de . ⭐ Sur le dessin : la parabole coupe le carré gris en deux ; la partie sous la courbe occupe un tiers du carré.
    -1012-112
  8. 8

    On exécute « n = 0 », « s = 0 », puis « while s <= 3: » suivi, en retrait, des deux lignes « n = n + 1 » et « s = s + 1 / n ». On affiche enfin n. a) Que vaut s à la fin de chaque tour ? b) Qu'affiche le programme ? c) Avec « while s <= 10: », le programme s'arrête-t-il ?
    Voir la correction
    a) Au tour , on ajoute  : s vaut . b) On calcule : , encore , puis . La boucle s'arrête au premier tel que  : le programme affiche . c) Oui. On admet que  : la somme dépasse n'importe quel nombre. Mais il faut attendre pour dépasser . ⚠️ Le terme ajouté tend vers , et pourtant la somme tend vers . Des termes qui tendent vers ne suffisent pas à faire une somme finie. ⭐ Sur le dessin : les points montent de moins en moins vite, mais le onzième passe au-dessus de la droite .
    -101357911-11234

Type devoir : exercices 9 à 16niveau 2

Un programme au service d'un chapitre : on le lit, on l'exécute à la main, puis on justifie par le cours.

Rappel de cours

  • Dichotomie : si est continue et change de signe sur , on coupe l'intervalle en deux et on garde la moitié où change de signe. Après tours, la longueur est divisée par .
  • Rectangles : avec rectangles de largeur , la somme des aires approche . Si est croissante, les rectangles à gauche sont en dessous, ceux à droite au-dessus.
  • Euler pour  : on avance à petits pas en suivant la tangente, .
  • Moyenne de copies indépendantes de  : , . Bienaymé-Tchebychev : .
  1. 9

    Après une prise de médicament, la concentration dans le sang (en mg/L) au bout de heures est modélisée par . Le médicament est efficace tant que . a) Étudier les variations de sur , et montrer que a une unique solution dans cet intervalle. b) Faire la trace de dicho(1, 5, 0.5). Que renvoie cet appel ? Interpréter. c) Combien de tours faut-il pour dicho(1, 5, 0.001) ?
    from math import exp
    def C(t):
    return 10 * t * exp(-t)
    def dicho(a, b, e):
    while b - a > e:
    m = (a + b) / 2
    if C(m) > 2:
    a = m
    else:
    b = m
    return a, b
    Voir la correction
    a) , négatif pour  : est strictement décroissante sur . et . est continue, et est entre ces deux valeurs. D'après le théorème des valeurs intermédiaires (cas strictement monotone), a une unique solution dans . b) Départ : a = , b = . m =  : , donc b = . m =  : , donc a = . m =  : , donc a = . b − a vaut , qui n'est pas  : la boucle s'arrête. L'appel renvoie (2.5, 3.0). Donc  : le médicament cesse d'être efficace entre h et h après la prise. c) Après tours, la longueur vaut . Il faut , soit . et  : il faut tours. ⚠️ Le test « C(m) > 2 : a = m » vient de ce que est DÉCROISSANTE : si , la solution est à droite de m. Pour une fonction croissante, on échangerait a et b. ⭐ Sur le dessin : la trace. Chaque ligne coupe l'intervalle en deux ; la dernière encadre entre et .
    mC(m)ab
    ——15
    31.4913
    22.7123
    2.52.052.53
  2. 10

    Un robot démarre. Sa vitesse, en m/s, au bout de secondes, est . La distance parcourue entre et s est . a) Que renvoie rect(0, 2, 4) ? Faire le calcul à la main. b) Quelle ligne modifier pour placer les rectangles à droite ? Que renvoie alors l'appel ? c) Calculer la distance exacte, et vérifier l'encadrement. d) Quelle valeur de n garantit un encadrement d'amplitude  ?
    def f(t):
    return t**2
    def rect(a, b, n):
    h = (b - a) / n
    s = 0
    for k in range(n):
    s = s + f(a + k * h)
    return s * h
    Voir la correction
    a) h = . k va de à  : on prend f aux points  ;  ;  ; , c'est-à-dire aux bords GAUCHES. s = , et l'appel renvoie . b) On remplace « f(a + k * h) » par « f(a + (k + 1) * h) » : les bords droits  ;  ;  ; . s = , et l'appel renvoie . c) m. est croissante sur  : les rectangles à gauche sont sous la courbe, ceux à droite au-dessus. On a bien . d) Les deux sommes diffèrent de . donne . ⚠️ Avec rectangles, l'écart est énorme ( m). L'encadrement devient précis quand grandit, parce que l'écart est divisé par . ⭐ Sur le dessin : l'escalier orange des rectangles à gauche reste sous la parabole ; son aire, , est trop petite.
    -10123-112345
  3. 11

    On charge un condensateur. La tension (en volts) à ses bornes vérifie et , le temps étant en secondes. a) Vérifier que est la solution. b) Faire la trace de euler(0.25, 1). Comparer à la valeur exacte . c) Montrer que, pour , la méthode calcule . Vers quoi tendent ces valeurs ?
    def euler(h, T):
    t = 0
    u = 0
    while t < T:
    u = u + h*(4 - 2*u)
    t = t + h
    return u
    Voir la correction
    a) , et  : l'équation est vérifiée. Et . D'après le cours, c'est l'unique solution. b) Chaque tour avance de s en suivant la tangente : u reçoit u + .  : .  : .  : .  : . L'appel renvoie . Valeur exacte : . L'erreur vaut environ V. c) . C'est une suite arithmético-géométrique, de point fixe , soit . Comme , les valeurs tendent vers  : la même limite que quand . ⛔ Le piège des nombres à virgule : avec h = , Python ne stocke pas exactement. Après dix pas, t vaut , et la boucle fait un ONZIÈME tour. ⭐ Sur le dessin : la ligne brisée orange d'Euler part de l'origine avec la pente et passe AU-DESSUS de la courbe bleue.
    -1012-1123
  4. 12

    Un retraité place €. Chaque année, le capital rapporte %, puis il retire €. On exécute « C = 20000 », « n = 0 », puis « while C > 0: » suivi, en retrait, de « C = 1.02 * C - 2000 » et « n = n + 1 ». On affiche enfin n. a) On note le capital après années. Justifier que . b) On pose . Montrer que est géométrique ; en déduire . c) Déterminer, avec ln, ce qu'affiche le programme. Interpréter.
    Voir la correction
    a) Rapporter %, c'est multiplier par . Puis on retire € : . b) , soit . On factorise : . est géométrique de raison , avec . Donc . c) La boucle s'arrête au premier tel que , soit . ln est croissante, et  : . Le programme affiche . On peut faire retraits complets ; la douzième année, le capital ne suffit plus : €, puis €. ⚠️ Ici  : l'inégalité garde son sens. Avec une raison entre et , elle changerait de sens. ⭐ Sur le dessin : le capital fond de plus en plus vite, parce que les intérêts diminuent avec lui.
    n05101112
    C(n)20000116742480530−1459
  5. 13

    On lance deux dés équilibrés et on note la somme. est le résultat d'un dé : et . a) Que renvoie moyenne(N) ? b) Calculer et . c) On note la valeur renvoyée par moyenne(1000). Donner et , puis majorer .
    from random import randint
    def moyenne(N):
    t = 0
    for k in range(N):
    a = randint(1, 6)
    b = randint(1, 6)
    t = t + a + b
    return t / N
    Voir la correction
    a) Chaque tour lance deux dés et ajoute leur somme à t. moyenne(N) renvoie la moyenne de sommes de deux dés. b)  : . Les deux dés sont INDÉPENDANTS : les variances s'ajoutent. . c) est la moyenne de copies indépendantes de  : et . Bienaymé-Tchebychev : . Moins de % des appels s'écartent de d'au moins . ⛔ Le piège : remplacer « a + b » par « 2 * a ». La moyenne ne change pas, mais  : deux fois plus que . Lancer deux dés, ce n'est pas doubler un dé. ⭐ Sur le dessin : pour chaque somme, le nombre de cas sur . La loi de est en triangle ; la plus haute barre est , avec cas, soit .
    1223344556675849310211112
  6. 14

    Une puce part de sur une droite graduée. Chaque seconde, elle saute de ou de , avec la même probabilité, indépendamment. On simule sauts : « x = 0 », puis « for k in range(10): » suivi, en retrait, de « if random() < 0.5: x = x + 1 » et « else: x = x - 1 ». On affiche enfin x. a) Quelles valeurs le programme peut-il afficher ? b) On note le nombre de sauts vers la droite. Donner la loi de , et exprimer x en fonction de . c) Calculer la probabilité que la puce revienne en . d) Calculer l'espérance et la variance de la position finale.
    Voir la correction
    a) Avec sauts à droite et à gauche, x vaut . C'est un nombre PAIR entre et  : , , …, , . b) Dix sauts indépendants, chacun « à droite » avec la probabilité  : suit . c) x = équivaut à . . d) et . x =  : , et . ⚠️  : on multiplie la variance par le CARRÉ de , et le ne change rien. ⚠️ Revenir en est l'issue la plus probable, et pourtant elle n'arrive qu'une fois sur quatre environ. ⭐ Sur le dessin : pour chaque position finale, le nombre de chemins sur . La loi est symétrique autour de , et les positions impaires n'ont pas de barre.
    1−1010−845−6120−4210−2252021021204456108110
  7. 15

    À un jeu, on lance un dé équilibré jusqu'à obtenir un . La fonction attente simule une partie. a) Que renvoie attente() ? b) On note ce nombre. Justifier que . c) Trouver, avec ln, le plus petit tel que . Interpréter. d) Un élève écrit « d = randint(1, 6) » avant la boucle, puis « while d != 6: ». Que se passe-t-il ?
    from random import randint
    def attente():
    n = 1
    while randint(1, 6) != 6:
    n = n + 1
    return n
    Voir la correction
    a) Chaque test du while lance un NOUVEAU dé. Tant que ce n'est pas un , n augmente. attente() renvoie le rang du premier . b) signifie : aucun lors des premiers lancers. Les lancers sont indépendants, chacun sans avec la probabilité . Donc . c) équivaut à .  : on divise et on retourne l'inégalité. . Le plus petit entier est  : dans plus de % des parties, le sort en lancers au plus. d) Le dé n'est lancé qu'une fois. Si d ne vaut pas , d ne change plus : la condition reste vraie, la boucle ne s'arrête JAMAIS. ⛔ Le piège de d) : une boucle while doit modifier ce qu'elle teste. ⚠️ En c), est négatif : l'inégalité change de sens. ⭐ Sur le dessin : les points descendent de vers , divisés par à chaque lancer.
    -1013579-112
  8. 16

    On place € à un taux annuel de %, avec des intérêts composés fois par an : au bout d'un an, on a €. a) Calculer ce capital pour , et . b) On exécute « s = 1 », « f = 1 », puis « for k in range(1, 9): » suivi, en retrait, de « f = f * k » et « s = s + 1 / f ». Que contient f à la fin du tour k ? Que calcule s ? c) On admet que les deux méthodes approchent . Laquelle est la plus rapide ?
    Voir la correction
    a)  : €.  : €.  : €. b) f est multiplié par k à chaque tour : à la fin du tour k, f vaut . s vaut . c) Avec  : , encore à de . La somme s, avec seulement tours, est à de  : elle est bien plus rapide. ⚠️ On ne recalcule pas à chaque tour : on garde f et on le multiplie par k. C'est le même geste que pour une suite, . ⭐ Pourquoi  ? , qui tend vers  : c'est la limite de en . ⭐ Sur le dessin : le capital monte avec n, mais de moins en moins : il plafonne sous .
    n1212365
    capital22,252,6132,7146

Problèmes : exercices 17 à 20niveau 3

Un exercice complet de bac : le cours démontre, le programme calcule, et les deux doivent être d'accord.

Rappel de cours

  • Un programme ne DÉMONTRE rien : il calcule des valeurs, confirme une conjecture ou trouve un seuil. La preuve vient du cours.
  • Avant de lancer une boucle while, s'assurer qu'elle s'arrête : la condition doit finir par devenir fausse.
  • Pour une variable aléatoire de loi binomiale, « comb(n, k) » (module math) donne .
  1. 17Le café qui refroidit

    Un café est servi à °C dans une pièce à °C. Sa température (en °C) au bout de minutes vérifie et . On le boit quand il passe sous °C. a) Vérifier que est la solution. b) Le programme applique la méthode d'Euler de pas h. Montrer que, pour h = , il calcule , puis que . c) Qu'affiche le programme pour h =  ? d) Déterminer le temps exact où passe sous °C. Pourquoi Euler annonce-t-il un café buvable trop tôt ? e) Qu'affiche le programme pour h =  ?
    t = 0
    T = 90
    h = 1
    while T >= 40:
    T = T + h * (2 - 0.1 * T)
    t = t + h
    print(t)
    Voir la correction
    a) , et . Et . b)  : la ligne est bien un pas d'Euler. Avec h = , . On pose  : , géométrique de raison et . Donc . c) La boucle s'arrête au premier tel que , soit .  : . Le programme affiche . d) équivaut à , soit . Donc min. La courbe de est convexe () : elle est au-dessus de ses tangentes. Euler, qui suit les tangentes, descend plus vite que la vraie température. e) Avec h =  : , sous dès que . Donc pas de min : le programme affiche , plus près de . ⚠️ Le programme affiche un TEMPS, , pas un nombre de pas : pour h = , pas font min. ⭐ Sur le dessin (une graduation = min et °C) : les points d'Euler sont sous la courbe bleue ; ils passent la droite des °C avant elle.
    -1012345612345678910
  2. 18Le contrôle qualité

    Une machine produit des pièces dont % sont défectueuses. On prélève un lot de pièces ; la production est assez grande pour assimiler le prélèvement à des tirages avec remise. est le nombre de pièces défectueuses du lot. a) Quelle est la loi de  ? Que renvoie P(k) ? Calculer P(0). b) Que renvoie seuil() ? On donne et . c) Règle de l'usine : si un lot contient plus de seuil() pièces défectueuses, on arrête la machine. Quelle est la probabilité d'arrêter à tort une machine qui fonctionne bien ? d) Calculer et l'écart type de .
    from math import comb
    def P(k):
    a = comb(50, k)
    b = 0.05**k
    c = 0.95**(50 - k)
    return a * b * c
    def seuil():
    k = 0
    s = P(0)
    while s < 0.95:
    k = k + 1
    s = s + P(k)
    return k
    Voir la correction
    a) épreuves identiques et indépendantes, chacune « défectueuse » avec la probabilité  : suit . P(k) renvoie , c'est-à-dire . P(0) = . b) s cumule , c'est-à-dire . La boucle s'arrête au premier tel que . et  : seuil() renvoie . c) On arrête la machine si . Pour une machine qui fonctionne bien : . Environ % des lots feraient arrêter la machine à tort. d) , et . ⚠️ , et non  : le contraire de « au moins  » est « au plus  ». ⚠️ La boucle s'arrête toujours : . ⭐ Sur le dessin : la loi de , en probabilités pour (la barre vaut , soit ). Presque toute la probabilité est entre et  ; les barres et sont minuscules.
    770202126122203136466526697
  3. 19Une aire sans primitive

    La section d'un canal a pour profil la courbe de . On veut l'aire , mais on ne sait pas écrire de primitive de avec les fonctions usuelles. a) Étudier les variations de sur . b) Que calculent g et d dans encadre(n) ? Justifier que . c) Calculer encadre(4), à près. d) Montrer que . Quelle valeur de n garantit une amplitude  ?
    from math import exp
    def f(x):
    return exp(-x**2)
    def encadre(n):
    h = 1 / n
    g = 0
    d = 0
    for k in range(n):
    g = g + h * f(k*h)
    d = d + h * f(k*h + h)
    return d, g
    Voir la correction
    a) , négatif sur  : est décroissante. b) g ajoute les aires des rectangles de hauteur au bord GAUCHE, d celles des rectangles de hauteur au bord DROIT. décroît : sur chaque bande, elle est sous sa valeur de gauche et au-dessus de sa valeur de droite. En sommant : . c) h = . g = , soit g ≈ . d s'obtient en remplaçant par  : d ≈ . L'appel renvoie environ (0.664, 0.822). d) Les deux sommes ont les mêmes termes, sauf le premier de g et le dernier de d : . donne  : n = suffit. encadre(64) renvoie environ (0.7419, 0.7517) : . ⚠️ Ici DÉCROÎT : ce sont les rectangles à gauche qui sont au-dessus. C'est l'inverse d'une fonction croissante. ⭐ Sur le dessin : les rectangles à gauche (orange) dépassent de la courbe ; leur aire, , majore .
    -1012-112
  4. 20La rumeur au lycée

    Une rumeur circule dans un lycée. La proportion d'élèves qui la connaissent au bout de heures est modélisée par et . On note . a) Montrer que est croissante sur , et calculer et . b) Montrer par récurrence que pour tout . c) En déduire que converge, et trouver sa limite. d) Que renvoient jour(0.5) et jour(0.99) ? e) Que se passe-t-il si l'on appelle jour(1) ?
    def jour(s):
    n = 0
    p = 0.01
    while p < s:
    p = 1.5*p - 0.5*p*p
    n = n + 1
    return n
    Voir la correction
    a) sur  : est croissante. et . b) Initialisation : et . On a . Hérédité : si , on applique , croissante sur  : . C'est . Les inégalités strictes restent strictes, car est STRICTEMENT croissante. c) est croissante et majorée par  : elle converge vers un réel , avec ( est continue). donne  : ou . La suite croît à partir de , donc  : . Tout le lycée finit par connaître la rumeur. d) jour(s) renvoie le premier tel que . On calcule : et  : jour(0.5) renvoie . Puis et  : jour(0.99) renvoie . e) D'après b), pour tout  : la condition « p < 1 » reste toujours vraie, et la boucle ne s'arrête jamais. ⛔ Le piège de e) : une suite qui TEND vers n'atteint pas forcément . Une boucle de seuil demande un seuil strictement sous la limite. ⚠️ En c), deux valeurs vérifient  : c'est la croissance de la suite qui élimine . ⭐ Sur le dessin : la courbe en S. La rumeur démarre lentement, s'emballe vers le rang , puis plafonne sous la droite .
    -10135791113-112
eleveai.fr - Fiche d'exercicesAlgorithmique et Python - Tale spé

Tu as compris ? À toi de t'entraîner :

🧮 Entraîne-toi avec le Coach Maths →