Chapitres de Seconde

Algorithmique et programmation (Python)

  1. 1

    Exercice 1

    Facile

    On exécute les affectations suivantes en Python :

    a = 3
    b = 2.5
    c = True
    d = "bonjour"
    

    Pour chacune des variables a, b, c et d, indiquer son type parmi : entier (int), flottant (float), booléen (bool), chaîne de caractères (str).

    Voir un indice

    Un nombre sans virgule est un entier, un nombre à virgule est un flottant, True/False est un booléen, un texte entre guillemets est une chaîne.

    Voir la correction
    • a = 3 est un entier (int).
    • b = 2.5 est un flottant (float), à cause du point décimal.
    • c = True est un booléen (bool).
    • d = "bonjour" est une chaîne de caractères (str), car le texte est entre guillemets.
  2. 2

    Exercice 2

    Facile

    On considère la séquence d'instructions écrite en langage naturel (la flèche \leftarrow désigne l'affectation) :

    x5yx+3xx×2x \leftarrow 5 \qquad y \leftarrow x + 3 \qquad x \leftarrow x \times 2

    Ces instructions sont exécutées dans l'ordre, de gauche à droite. Déterminer les valeurs finales des variables xx et yy.

    Voir un indice

    Suivre les instructions une par une, en mettant à jour un tableau des valeurs. Attention : yy est calculé avant que xx ne change.

    Voir la correction

    On suit la séquence :

    • x5x \leftarrow 5 : donc x=5x = 5.
    • yx+3y \leftarrow x + 3 : avec la valeur actuelle x=5x = 5, on obtient y=8y = 8.
    • xx×2x \leftarrow x \times 2 : xx prend la valeur 5×2=105 \times 2 = 10.

    Valeurs finales : x=10x = 10 et y=8y = 8.

  3. 3

    Exercice 3

    Facile

    Écrire en Python une fonction signe(x) qui prend en argument un nombre x et renvoie la chaîne "positif" si x est strictement positif, "negatif" s'il est strictement négatif, et "nul" s'il vaut 00.

    Voir un indice

    Utiliser une instruction conditionnelle avec if, elif et else. Ne pas oublier les deux-points et l'indentation.

    Voir la correction
    def signe(x):
        if x > 0:
            return "positif"
        elif x < 0:
            return "negatif"
        else:
            return "nul"
    

    Par exemple signe(4) renvoie "positif", signe(-2) renvoie "negatif" et signe(0) renvoie "nul".

  4. 4

    Exercice 4

    Facile

    On donne la fonction Python suivante :

    def somme():
        S = 0
        for i in range(1, 11):
            S = S + i
        return S
    
    1. Que contient range(1, 11) : quelles valeurs prend la variable i ?
    2. Que renvoie l'appel somme() ?
    Voir un indice

    range(1, 11) parcourt les entiers de 11 inclus à 1111 exclu. La variable S accumule la somme au fil de la boucle.

    Voir la correction
    1. range(1, 11) fournit les entiers 1,2,3,,101, 2, 3, \dots, 10 (la borne 1111 est exclue).
    2. La boucle ajoute successivement ces entiers à S. On calcule donc 1+2++10=551 + 2 + \cdots + 10 = 55. L'appel somme() renvoie 5555.
  5. 5

    Fonction Python testant un multiple

    Moyen
    1. Écrire une fonction est_multiple(a, b) qui renvoie True si l'entier a est un multiple de l'entier b (avec b non nul), et False sinon.
    2. Que renvoient est_multiple(12, 4) et est_multiple(13, 4) ?

    On rappelle que l'opérateur a % b donne le reste de la division euclidienne de a par b.

    Voir un indice

    aa est multiple de bb exactement lorsque le reste a%ba \% b vaut 00. La comparaison a \% b == 0 est déjà un booléen que l'on peut renvoyer directement.

    Voir la correction

    Ce contenu est réservé : laisse tes coordonnées pour débloquer toutes les indications et corrections du site, gratuitement.

    Tes coordonnées servent uniquement à t'informer de nos ressources et stages — jamais de spam. Politique de confidentialité

  6. 6

    Plus grand multiple inférieur à bb

    Moyen

    On cherche le plus grand multiple d'un entier a (strictement positif) qui soit inférieur ou égal à un entier b.

    1. Justifier que ce nombre est égal à b - (b % a).
    2. Écrire une fonction plus_grand_multiple(a, b) renvoyant ce nombre.
    3. Donner le résultat pour a = 7 et b = 50.
    Voir un indice

    Comme a>0a > 0, si r=b%ar = b \% a est le reste, alors 0r<a0 \le r < a, donc brb - r est un multiple de aa, et c'est le plus grand qui ne dépasse pas bb.

    Voir la correction

    Ce contenu est réservé : laisse tes coordonnées pour débloquer toutes les indications et corrections du site, gratuitement.

    Tes coordonnées servent uniquement à t'informer de nos ressources et stages — jamais de spam. Politique de confidentialité

  7. 7

    Encadrement de 2\sqrt{2} par balayage

    Moyen

    On veut obtenir un encadrement de 2\sqrt{2} à 0,10{,}1 près par balayage. On utilise la fonction :

    def balayage():
        x = 1
        while (x + 0.1)**2 <= 2:
            x = x + 0.1
        return x
    
    1. Expliquer le rôle de la condition de la boucle while.
    2. En calculant 1,421{,}4^2 et 1,521{,}5^2, déterminer la valeur renvoyée par balayage().
    3. Quel encadrement de 2\sqrt{2} obtient-on ?
    Voir un indice

    La boucle avance xx par pas de 0,10{,}1 tant que (x+0,1)2(x+0{,}1)^2 ne dépasse pas 22. On s'arrête juste avant que le carré ne dépasse 22.

    Voir la correction

    Ce contenu est réservé : laisse tes coordonnées pour débloquer toutes les indications et corrections du site, gratuitement.

    Tes coordonnées servent uniquement à t'informer de nos ressources et stages — jamais de spam. Politique de confidentialité

  8. 8

    Exercice 8

    Difficile

    On simule le lancer d'un dé équilibré à six faces à l'aide de la fonction randint du module random : random.randint(1, 6) renvoie un entier au hasard entre 11 et 66 inclus.

    1. Écrire une fonction moyenne_des(n) qui simule n lancers, calcule la somme des résultats et renvoie leur moyenne.
    2. De quelle valeur cette moyenne devrait-elle se rapprocher quand n devient grand ? Justifier par un calcul.
    Voir un indice

    Ce contenu est réservé : laisse tes coordonnées pour débloquer toutes les indications et corrections du site, gratuitement.

    Tes coordonnées servent uniquement à t'informer de nos ressources et stages — jamais de spam. Politique de confidentialité

    Voir la correction

    Ce contenu est réservé : laisse tes coordonnées pour débloquer toutes les indications et corrections du site, gratuitement.

    Tes coordonnées servent uniquement à t'informer de nos ressources et stages — jamais de spam. Politique de confidentialité

  9. 9

    Exercice 9

    Difficile

    On veut estimer la moyenne et l'écart type des résultats d'un dé équilibré par simulation, sans utiliser de liste. On rappelle que l'écart type σ\sigma vérifie σ=V\sigma = \sqrt{V} où la variance VV s'obtient par V=somme des carreˊsnm2V = \dfrac{\text{somme des carrés}}{n} - m^2, en notant mm la moyenne.

    1. Compléter le principe : on accumule dans S la somme des tirages et dans S2 la somme de leurs carrés.
    2. Écrire une fonction stats(n) renvoyant le couple (m, sigma).
    3. La variance théorique du dé vaut 3512\dfrac{35}{12}. En déduire une valeur approchée de l'écart type théorique attendu.
    Voir un indice

    Ce contenu est réservé : laisse tes coordonnées pour débloquer toutes les indications et corrections du site, gratuitement.

    Tes coordonnées servent uniquement à t'informer de nos ressources et stages — jamais de spam. Politique de confidentialité

    Voir la correction

    Ce contenu est réservé : laisse tes coordonnées pour débloquer toutes les indications et corrections du site, gratuitement.

    Tes coordonnées servent uniquement à t'informer de nos ressources et stages — jamais de spam. Politique de confidentialité