Kala te souhaite la bienvenueKala-Maths

Algorithmique et programmation (Python)

🔴 Expert

📝 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

    On considère le programme : S = 0 puis for i in range(1, n+1): S = S + i*i. a) Pour n = 4, détaille les étapes et donne S. b) Que calcule ce programme en général ? c) Modifie-le pour qu'il calcule la somme des cubes des entiers de 1 à n.

    ✅ Voir le corrigéoffert

    a) Pour n = 4, range(1, 5) donne i = 1, 2, 3, 4 ; et i*i est le carré de i.
    • i = 1 : S = 0 + 1 = 1.
    • i = 2 : S = 1 + 4 = 5.
    • i = 3 : S = 5 + 9 = 14.
    • i = 4 : S = 14 + 16 = 30.
    Donc S = 30. Vérification : 1² + 2² + 3² + 4² = 1 + 4 + 9 + 16 = 30. ✓
    b) Il calcule la somme des carrés des entiers de 1 à n, soit 1² + 2² + … + n².
    c) Il suffit de remplacer le carré i*i par le cube i*i*i :
    S = 0
    for i in range(1, n+1):
    S = S + i*i*i
    Ce programme calcule alors 1³ + 2³ + … + n³.

  2. 2

    Une culture de bactéries double chaque heure. Au départ elle compte 50 bactéries. On cherche au bout de combien d'heures elle dépasse 1000. a) Donne le nombre de bactéries après 1 h, 2 h, 3 h, 4 h, 5 h. b) Écris un programme avec une boucle while qui affiche le nombre d'heures nécessaires. c) Conclus.

    ✅ Voir le corrigéoffert

    a) On double à chaque heure : départ 50 ; 1 h : 100 ; 2 h : 200 ; 3 h : 400 ; 4 h : 800 ; 5 h : 1600.
    b)
    n = 50
    h = 0
    while n <= 1000:
    n = n * 2
    h = h + 1
    print(h)
    Tant que la population n'a pas dépassé 1000, on double (n = n * 2) et on compte une heure de plus.
    c) On suit : 800 à 4 h (≤ 1000, on continue), puis 1600 à 5 h (> 1000, on s'arrête).
    Il faut donc 5 heures. Le programme affiche 5.

  3. 3

    a) Écris une fonction maxi(a, b) qui renvoie le plus grand des deux nombres a et b, sans utiliser la fonction max de Python. b) À l'aide de maxi, écris une fonction maxi3(a, b, c) qui renvoie le plus grand de trois nombres. c) Que renvoie maxi3(7, 12, 9) ? Justifie.

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

    On simule 1000 lancers d'un dé à 6 faces et on compte les 6 (from random import randint). a) Écris un programme qui répète 1000 fois : lancer le dé et, si le résultat est 6, ajouter 1 à un compteur nb6. b) Quelle valeur de nb6 attends-tu à peu près ? Justifie par un calcul. c) Comment estimer la fréquence des 6 à partir de nb6 ?

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

    On exécute : a = 48, b = 36, puis while b != 0: r = a % b, a = b, b = r. Enfin print(a). (a % b est le reste de la division de a par b.) a) Complète un tableau des valeurs de a, b et r à chaque tour. b) Qu'affiche le programme ? c) Que calcule ce programme pour deux entiers a et b ?

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

    On veut compter, parmi les entiers de 1 à 100, ceux qui sont multiples de 3 mais PAS multiples de 5. a) Écris un programme Python qui range ce nombre dans une variable c. b) Combien y a-t-il de multiples de 3 entre 1 et 100 ? de multiples de 15 (à la fois de 3 et de 5) ? c) Déduis-en la valeur de c par le calcul, et vérifie la cohérence avec le programme.

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

    a) Écris une fonction est_pair(n) qui renvoie True si n est pair et False sinon (utilise le reste n % 2). b) Écris une fonction compte_pairs(debut, fin) qui renvoie le nombre d'entiers pairs entre debut et fin inclus, en utilisant est_pair. c) Que renvoie compte_pairs(1, 10) ?

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

    On exécute deux boucles imbriquées : for i in range(1, 5): for j in range(1, i+1): print(i, j). a) Combien de lignes le programme affiche-t-il au total ? b) Écris toutes les lignes affichées, dans l'ordre. c) Généralise : si la boucle extérieure est for i in range(1, n+1), combien de lignes au total, en fonction de n ?

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

    Léa place 200 € sur un compte qui rapporte 5 % d'intérêts chaque année : le montant est multiplié par 1,05 chaque année. Elle veut atteindre au moins 260 €. a) Calcule le montant après 1 an et après 2 ans. b) Écris un programme avec une boucle while qui trouve le nombre d'années nécessaires. c) Donne la réponse en détaillant les montants année par année (arrondis au centime).

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

    On traite les températures d'une semaine (en °C), lues une par une, avec ce programme, pour la suite 12, 15, 9, 18, 14, 11, 16 : maxi = -100 puis for t in [12, 15, 9, 18, 14, 11, 16]: if t > maxi: maxi = t. Enfin print(maxi). a) Explique le rôle de maxi et pourquoi on l'initialise à −100. b) Détaille l'évolution de maxi à chaque valeur lue. c) Modifie le programme pour compter EN PLUS combien de jours la température a dépassé 13 °C.

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

Comment ça s'est passé ?

Retrouve tout dans Mon suivi.