Aller au contenu principal

TP3 - Les boucles

Objectifs
  1. Comprendre le concept de variable ;
  2. Effectuer des affectations ;
  3. Gérer des cas dans des programmes ;
  4. Répéter des instructions.
Au préalable
  1. Se créer un dossier SNT sur votre ordinateur ou clé USB
  2. Dans ce dossier, créer un dossier T3 - Programmation (Programmation Orientée Objet)

Sur EduPython ou autre instance python, faire :

  1. Créer un nouveau fichier en cliquant sur l'icône 📄, ou en appuyant sur CTRL+N
  2. Enregistrer le fichier sous le nom TP3_Boucles en cliquant sur l'icône 💾, ou en appuyant sur CTRL+S
TP

L'ensemble des exercices se fait sur le logiciel EduPython.

Pourquoi utiliser une boucle ?

En informatique, on doit souvent répéter plusieurs fois la même action.

Exemples :

  • compter des objets
  • simuler une évolution dans le temps
  • tester plusieurs valeurs
  • calculer l'image d'une fonction

Une boucle permet de répéter automatiquement des instructions.

Boucle for

En SNT, on se contentera de la boucle for, qui est la plus simple à comprendre.
La boucle for est utilisée pour répéter un nombre fini de fois des instructions.

Elle démarre avec une valeur de départ, et s'arrête lorsqu'elle atteint une valeur de fin.
À chaque tour de boucle, une variable appelée compteur évolue, en augmentant de 1 à chaque fois (de façon générale).

Écriture d’une boucle en Python

En Python, on utilise une boucle for pour répéter des instructions.

Exemple :

for i in range(debut, fin):
print(i)

Explication :

  • for indique que l'on commence une boucle
  • i est le compteur.

    Au début de la boucle, i prend la valeur de debut et à chaque tour de boucle, i augmente de 1 jusqu'à atteindre fin

  • range(debut, fin) signifie : commencer à debut et s'arrêter avant fin
  • les lignes décalées vers la droite (indentées) sont répétées
Exemple
for i in range(0, 5):
print(i)

Ce programme affiche :

0
1
2
3
4
  • i commence à 0, puis prend les valeurs 1, 2, 3 et 4 à chaque tour de boucle
  • la boucle s'arrête avant d'atteindre 5
  • on affiche les valeurs de i à chaque tour de boucle

Exercices

Prise en main

On va dans cette partie aprendre à utiliser les boucles for en Python.

✏️Exercices
  1. 1
    On donne le programme suivant :
    for i in range(0, ...):
    print(i)
    Recopier et compléter ce programme pour qu'il affiche les nombres de 0 à 9.
  2. 2
    On donne le programme suivant :
    for i in range(..., ...):
    print(i)
    Recopier et compléter ce programme pour qu'il affiche les nombres de 12 à 67.
  3. 3
    On donne le programme suivant :
    for i in range(..., ...):
    print(...)
    Recopier et compléter ce programme pour qu'il affiche les multiples de 5, de 0 à 50.
  4. 4
    On donne le programme suivant :
    for i in range(..., ...):
    if ... == 5 :
    print(...)
    Recopier et compléter ce programme pour qu'il commence à 0 et se termine à 10, et affiche "6eme tour" lorsque le 6ème tour est atteint.

Température

On veut convertir une température Celsius en Fahrenheit. On dispose de la formule suivante : Tf=1.8Tc+32Tf = 1.8 ∗ Tc + 32, où Tf représente la température en Fahrenheit, et Tc la température en Celsius.

✏️Exercices
  1. 1
    Écrire une variable Tc qui contient la température en Celsius de votre choix, et une variable Tf qui contient la température en Fahrenheit calculée à partir de la formule.
  2. 2
    Afficher la température en Fahrenheit.

    On fait le travail pour une température donnée, mais on aimerait faire le travail pour plusieurs températures. C'est là que les boucles interviennent.

  3. 3
    Écrire un programme qui affiche les températures en Fahrenheit pour les températures en Celsius allant de 0 à 100.
  4. 4
    Écrire un programme qui affiche les températures en Fahrenheit pour les températures en Celsius allant de -20 à 40, par pas de 5.

    Pour faire un pas de 5, on peut rajouter une troisième valeur dans la fonction range : range(debut, fin, pas)

Fonctions

On dispose de 2 fonctions définies ainsi :

  • f(x)=x2+8x11f(x) = −x^2 + 8x − 11
  • g(x)=x1g(x) = x − 1

On souhaite faire un programme permettant de connaître les valeurs de x, vérifiant l'équation f(x)=g(x)f(x) = g(x).

✏️Exercices
  1. 1
    Définir une variable x qui prend la valeur de votre choix.
  2. 2
    Calculer les valeurs de f(x) et g(x) dans des variables fx et gx.
  3. 3
    Afficher les valeurs de fx et gx.
  4. 4
    À l'aide d'une condition if, afficher "égalité" si fx et gx sont égaux, et "différent" sinon.
  5. 5
    En répétant ce processus à l'aide d'une boucle, écrire un programme qui affiche les valeurs de x allant de -10 à 10, ainsi que les valeurs de f(x) et g(x), et indique si f(x) et g(x) sont égaux ou différents.

Intérêts bancaires

Malo a 8 ans. Le 1er janvier, ses parents ont déposé 1500€ sur son livret d'épargne , au taux d'intérêt de 2%. Cela signifie qu'au 1er janvier de l'année suivante, la banque lui aura versé 15000.021500*0.02, soit 30€, qui viendront s'ajouter aux 1500€ initialement placés.

✏️Exercices
  1. 1
    Créer une variable taux avec pour valeur 0.02.
  2. 2
    Créer une variable epargne avec pour valeur 1500.
  3. 3
    Créer une variable interets avec pour valeur l'épargne multipliée par le taux.
  4. 4
    Ajouter les intérêts à l'épargne.

    Pour ajouter une valeur à une variable, on peut faire : variable = variable + valeur ou variable += valeur

  5. 5
    Afficher l'épargne à la fin de la première année.
  6. 6
    On souhaite calculer l'épargne de Malo à son 18ème anniversaire. Écrire un programme qui affiche l'épargne de Malo pour les années allant de 8 à 18.
  7. 7
    À ses 18 ans, le taux passe à 1%. Écrire un programme qui change le taux à 0.01 à partir de l'année 18, et affiche l'épargne de Malo pour les années allant de 8 à 25.