Exercices les boucles Python Série 02


Exercices les boucles Python Série 02

  1. Objectifs

    • Comprendre et savoir utiliser les boucles en Python.




  2. Exercice 01

    1. Énoncé
      • Le triplet pythagoricien
        • En arithmétique, un triplet pythagoricien ou triplet de Pythagore est un triplet [katex]\mathbf{(a,b,c)}[/katex] d’entiers naturels non nuls vérifiant la relation de Pythagore : [katex]\mathbf{a^2+b^2=c^2}[/katex]. Le triplet pythagoricien le plus connu est [katex]\mathbf{(3, 4, 5)}[/katex].
        • On appelle “triplet pythagoricien ” tout triplet [katex]\mathbf{(a,b,c)}[/katex] de trois entiers naturels non nuls vérifiant l’égalité de Pythagore : [katex]\mathbf{a^2+b^2=c^2}[/katex]
        • Écrire un programme python qui demande à l’utilisateur de saisir un entier n, et qui affiche tous les triplets pythagoriciens pour [katex]\mathbf{c \leq n}[/katex]. Les entiers a, b et c doivent être dans l’ordre croissant.
        • Si par exemple [katex]\mathbf{n \leq 20}[/katex], on doit afficher :
        • (3,4,5) est : 9+16=25
          (6,8,10) est : 36+64=100
          (5,12,13) est : 25+144=169
          (9,12,15) est : 81+144=225
          (8,15,17) est : 64+225=289
          (12,16,20) est : 144+256=400
    2. Correction
      • Essayez de faire l’exercice de votre côté avant de regarder la Solution !
  3. Exercice 02

    1. Énoncé
      • Il existe deux unités pour les mesures de températures : les degrés Celsius (°C) et les degrés Fahrenheit (°F).
      • Écrire un programme qui demande à l’utilisateur de saisir une température, puis de choisir si celle-ci est en degrés Celsius ou en degrés Fahrenheit. Selon les cas, le programme devra ensuite afficher la conversion dans l’autre unité.
    2. Correction
      • Essayez de faire l’exercice de votre côté avant de regarder la Solution !
  4. Exercice 03

    1. Énoncé
      • Écrivez un programme qui demande à l’utilisateur de saisir un nombre [katex]\mathbf{n>0}[/katex] puis de trouver tous les facteurs du nombre donné en utilisant une boucle for.
      • Le facteur de tout nombre est un nombre entier qui divise exactement le nombre en un nombre entier sans laisser de reste. Par exemple, 2 est un facteur de 6 car 2 divise 6 exactement sans laisser de reste.
    2. Correction
      • Essayez de faire l’exercice de votre côté avant de regarder la Solution !



  5. Exercice 04

    1. Énoncé
      • Écrivez un programme en python, qui demande à l’utilisateur de:
        1. Saisir deux nombres et qui doit trouver le plus grand diviseur commun entre ces deux nombres.
          • Exemple d’affichage
            • Données d’entrée
              • Saisir nombre 1 : 35
                Saisir nombre 2 : 60
            • Données de sortie
              • PGCD de 35 et 60 = 5
        2. Vérifier si l’un ou les deux nombres saisies précédemment est (sont) premier(s)
        3. Trouver les facteurs premiers du plus grand nombre des deux nombres saisies précédemment.
    2. Correction
      • Essayez de faire l’exercice de votre côté avant de regarder la Solution !
  6. Exercice 05

    1. Énoncé
      • Écrire un jeu dans lequel python choisit aléatoirement un nombre entre 0 et 99.
      • Ce jeu peut être décrit comme suit:
        • L’ordinateur choisit au hasard un nombre mystère
        • Le joueur propose une réponse.
        • L’ordinateur répond “le nombre à trouver est plus grand” ou “le nombre à trouver est plus petit” ou “bravo, c’est le bon nombre !”
        • Comme ce jeu est vite lassant, on introduit des variantes où l’ordinateur a le droit de mentir ou de tricher !
      • L’ordinateur ment.
        • Pour compliquer le jeu, l’ordinateur a le droit de mentir de temps en temps. Par exemple environ une fois sur quatre l’ordinateur donne la mauvaise indication “plus grand” ou “plus petit”.
    2. Correction
      • Essayez de faire l’exercice de votre côté avant de regarder la Solution !
  7. Exercice 06

    1. Énoncé
      • Soit ([katex]\mathbf{U_{n}}[/katex]) la suite définie sur [katex]\mathbf{\mathbb{N}}[/katex] par :
      • [katex]\left\lbrace\begin{array}{lll}
        \mathbf{U_{0} = 3}, \mathbf{U_{1}} = \mathbf{\frac{3}{2}}\\\ \\
        \mathbf{2U_{n+2} = U_{n+1}+U_{n} \ pour\ tout \ {n \geq 0}}\\
        \end{array}\right.[/katex]

        1. Écrire une fonction qui prend en entrée un entier n et qui renvoie [katex]\mathbf{U_{n}}[/katex]. On proposera deux versions :
          • a. ua(n) : programmée à l’aide d’une boucle;
          • b. ub(n) : programmée de manière récursive.
        2. Écrire une fonction affiche_termes(u,a,b) qui affiche les termes de la suite u passée en entrée pour les rangs allant de a à b (tous les deux inclus). On attend un affichage complet du type :
          • u(0) = 3
            u(1) = 1.5
            u(2) = …
        3. Afficher les 15 premiers termes de la suite ([katex]U_{n}[/katex]). On doit observer la convergence vers 2.
          • En admettant que la suite ([katex]U_{n}[/katex]) converge effectivement vers 2, il doit exister un rang N à partir duquel tous les termes de la suite sont à une distance de 2 inférieure ou égale à [katex]10^{-3}[/katex] par exemple.
          • Écrire alors une fonction rang_précision(eps) qui prend en entrée une précision [katex]\mathbf{\epsilon}[/katex] et qui renvoie le rang N du premier terme de la suite tel que [katex]\left| U_{N}- 2 \right| \ n\leq \epsilon[/katex].
        4. À l’aide d’une boucle, afficher le rang [katex]\mathbf{\mathbb {N}}[/katex] obtenu pour les précisions ” suivantes : [katex]10^{-1}, 10^{-2}, 10^{-3}, 10^{-5}, 10^{-10}[/katex] Comment varie logiquement N lorsque ” diminue?
        5. Il est possible, sur cet exemple de suite ([katex]U_{n}[/katex]), de déterminer directement [katex]U_{n}[/katex] en fonction de [katex]n[/katex]. On admet qu’on obtiendrait, pour tout [katex]\mathbf{\mathbb {n\ \varepsilon \ N }}[/katex] :
          [katex] u_{n}\ =\ 2+ \left(-\frac{1}{2}\right)^{n}[/katex]
        6. Connaissant cette expression, retrouver les résultats obtenus à la question précédente par un calcul mathématique, en résolvant l’inéquation [katex]\left| U_{N}- 2 \right| \ n\leq \epsilon[/katex], dont l’inconnue est [katex]N[/katex].
    2. Correction
      • Essayez de faire l’exercice de votre côté avant de regarder la Solution !




Sommaire du cours Python



Laisser un commentaire

Veuillez désactiver votre bloqueur de publicités ou ajouter ce site à la liste blanche !

Abonnez vous à notre chaîne YouTube gratuitement