C5.2 : Boucle for
Prendre connaissance
Prendre connaissance de Mémo : Boucle for et de Mémo : Tableau pas à pas.
Application pour bien démarrer : analyse de code
On s'intéresse au programme suivant :
print("Début de la boucle")
for c in "NSI":
print(c + ".", end="")
print("Fin de la boucle")
1) Sur feuille, construire le tableau du déroulement pas à pas du programme.
2) Sur l'ordinateur, avec Thonny :
- - lancer le programme en mode débogage
(Ctrl+F5), - - avancer pas à pas
(F7), - - vérifier le contenu de votre tableau.
3) Sur l'ordinateur, avec pythontutor :
- - lancer le programme pas à pas,
- - vérifier le contenu de votre tableau.
Application : boucles avec range
Applications III_app1 : Les objets range
Sur feuille : Indiquer les séquences de valeurs correspondant aux objets range suivants :
- -
range(5) - -
range(1, 5) - -
range(5, 10) - -
range(5, 10, 2) - -
range(10, 5, -1)
Application III_app2 : Analyse d'un code
On s'intéresse au programme suivant :
print("Début de la boucle")
for i in range(4):
if i < 2:
print(i+10)
else:
print(i+100)
print("Fin de la boucle")
1) Sur feuille, construire le tableau du déroulement pas à pas du programme.
2) Sur l'ordinateur, avec Thonny :
- - lancer le programme en mode débogage
(Ctrl+F5), - - avancer pas à pas
(F7), - - vérifier le contenu de votre tableau.
3) Sur l'ordinateur, avec pythontutor :
- - lancer le programme pas à pas,
- - vérifier le contenu de votre tableau.
Applications
Applications avec uniquement la variable de boucle
Application IV.1_app1
En utilisant la boucle for, écrire un programme qui affiche la liste des nombres paires de 2 à 50.
Si possible, on écrira deux versions différentes de ce programme.
Application IV.1_app2
Dans cet exercice, on souhaite :
- - demander un nombre entier à l'utilisateur,
- - afficher les entiers de 1 à ce nombre.
1) Écrire une fonction affiche_1_a_n(n) qui prend un nombre entier en paramètre et affiche les entiers de 1 à ce nombre.
2.a) Dans le programme principal, écrire les lignes de code qui permettent de demander un nombre à l'utilisateur et le stocker dans une variable n_utilisateur.
2.b) Compléter le programme principal avec l'appel de la fonction affiche_1_a_n.
Application IV.1_app3
Sur feuille
On s'intéresse à la fonction suivante :
def fct(c:str):
for i in range(len(c)):
print(c[i])
1) Expliquer ce que fait cette fonction et lui donner un nom explicite.
2) Modifier le code de cette fonction pour qu'elle n'affiche qu'une lettre sur deux.
Applications avec une variable supplémentaire
Application IV.2_app1
Écrire un programme qui calcule puis affiche la somme des nombres de 1 à 50.
Application IV.2_app2
1) Écrire un fonction somme_1_a_n(n) qui prend un entier positif en paramètre et renvoie la somme de 1 à ce nombre n.
2) Compléter le programmer principal de façon à afficher la somme des nombres entiers de 1 à un nombre entier entré par l'utilisateur.
Application IV.2_app3
Écrire une fonction ajoute_points(chaine:str)->str qui prend une chaine de caractères en paramètre et renvoie une chaine de caractères identique avec des points après chaque lettre.
Ainsi avec_points('abc') doit renvoyer 'a.b.c.'