TP3 - Les boucles
- Comprendre le concept de variable ;
- Effectuer des affectations ;
- Gérer des cas dans des programmes ;
- Répéter des instructions.
- Se créer un dossier
SNTsur votre ordinateur ou clé USB - Dans ce dossier, créer un dossier
T3 - Programmation(Programmation Orientée Objet)
Sur EduPython ou autre instance python, faire :
- Créer un nouveau fichier en cliquant sur l'icône
📄, ou en appuyant surCTRL+N - Enregistrer le fichier sous le nom
TP3_Bouclesen cliquant sur l'icône💾, ou en appuyant surCTRL+S
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.
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 :
forindique que l'on commence une boucleiest le compteur.Au début de la boucle,
iprend la valeur dedebutet à chaque tour de boucle,iaugmente de 1 jusqu'à atteindrefinrange(debut, fin)signifie : commencer àdebutet s'arrêter avantfin- les lignes décalées vers la droite (indentées) sont répétées
for i in range(0, 5):
print(i)
Ce programme affiche :
0
1
2
3
4
icommence à 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.
- 1On donne le programme suivant :Recopier et compléter ce programme pour qu'il affiche les nombres de 0 à 9.
for i in range(0, ...):
print(i) - 2On donne le programme suivant :Recopier et compléter ce programme pour qu'il affiche les nombres de 12 à 67.
for i in range(..., ...):
print(i) - 3On donne le programme suivant :Recopier et compléter ce programme pour qu'il affiche les multiples de 5, de 0 à 50.
for i in range(..., ...):
print(...) - 4On donne le programme suivant :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.
for i in range(..., ...):
if ... == 5 :
print(...)
Température
On veut convertir une température Celsius en Fahrenheit. On dispose de la formule suivante :
, où Tf représente la température en Fahrenheit, et Tc la température en Celsius.
- 1Écrire une variable
Tcqui contient la température en Celsius de votre choix, et une variableTfqui contient la température en Fahrenheit calculée à partir de la formule. - 2Afficher 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Écrire un programme qui affiche les températures en Fahrenheit pour les températures en Celsius allant de 0 à 100.
- 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 :
On souhaite faire un programme permettant de connaître les valeurs de x, vérifiant l'équation .
- 1Définir une variable
xqui prend la valeur de votre choix. - 2Calculer les valeurs de
f(x)etg(x)dans des variablesfxetgx. - 3Afficher les valeurs de
fxetgx. - 4À l'aide d'une condition
if, afficher "égalité" sifxetgxsont égaux, et "différent" sinon. - 5En répétant ce processus à l'aide d'une boucle, écrire un programme qui affiche les valeurs de
xallant de -10 à 10, ainsi que les valeurs def(x)etg(x), et indique sif(x)etg(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é , soit 30€, qui viendront s'ajouter aux 1500€ initialement placés.
- 1Créer une variable
tauxavec pour valeur0.02. - 2Créer une variable
epargneavec pour valeur1500. - 3Créer une variable
interetsavec pour valeur l'épargne multipliée par le taux. - 4Ajouter les intérêts à l'épargne.
Pour ajouter une valeur à une variable, on peut faire :
variable = variable + valeurouvariable += valeur - 5Afficher l'épargne à la fin de la première année.
- 6On 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À 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.