Kala te souhaite la bienvenueKalaMaths

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.

S'abonner
  1. 1

    On exécute deux boucles imbriquées : for i in range(1, 5): for j in range(1, i+1): print(i, j).
    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 ?

    Voir le corrigéoffert

    a) Pour chaque i, la boucle intérieure fait i tours (j va de 1 à i). Le total est donc 1+2+3+4=101 + 2 + 3 + 4 = 10 lignes.
    b) Dans l'ordre d'exécution :
    • i=1i = 1 : (1, 1).
    • i=2i = 2 : (2, 1) ; (2, 2).
    • i=3i = 3 : (3, 1) ; (3, 2) ; (3, 3).
    • i=4i = 4 : (4, 1) ; (4, 2) ; (4, 3) ; (4, 4).
    c) Le total est 1+2+⋯+n1 + 2 + \dots + n, c'est-à-dire n(n+1)2\frac{n(n+1)}{2} lignes. Pour n=4n = 4 on retrouve bien 4×52=10\frac{4\times 5}{2} = 10.

  2. 2

    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 ?

    Voir le corrigéoffert

    a) On suit les tours (à chaque tour on calcule r, puis a prend l'ancien b, et b prend r).
    • Départ : a = 48, b = 36.
    • Tour 1 : r = 48 % 36 = 12 ; puis a = 36, b = 12.
    • Tour 2 : r = 36 % 12 = 0 ; puis a = 12, b = 0.
    • Test b != 0 : b = 0, condition fausse → on sort.
    b) On affiche a, soit 12.
    c) C'est l'algorithme d'Euclide : il calcule le PGCD (plus grand diviseur commun) de a et b. Ici PGCD(48, 36) = 12. Vérification : 48 = 12 × 4 et 36 = 12 × 3, et aucun diviseur commun n'est plus grand que 12.

  3. 3

    On considère le programme : S = 0 puis for i in range(1, n+1): S = S + i*i.
    Écris un programme qui calcule la somme des cubes des entiers de 1 à n.

    🔒 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).
    Comment estimer la fréquence des 6 à partir de nb6 ?

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

    On veut compter, parmi les entiers de 1 à 100, ceux qui sont multiples de 3 mais PAS multiples de 5.
    Calcule la valeur de c sans exécuter le programme.

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

    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 →
  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

    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.

    🔒 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 €.
    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).
    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.