Structure itérative : Boucle bornée (Pour) (for)
Rappel
Les structures Pour sont employées dans les situations où le programmeur connaît d'avance la quantité de traitement algorithmique à répéter.
Exercice n°1
Suite à une punition, vous devez écrire 1000 fois la phrase suivante :
'Vivement la fin du confinement que je puisse retourner au lycée travailler avec mon professeur de SI préféré'.
Comme vous êtes astucieux (et aussi un peu paresseux), vous allez coder un programme pour faire le travail à votre place.
Question
Q1 : Écrire l'algorithme correspondant à notre besoin.
Solution
Ci-dessous une proposition d'algorithme :
DÉBUT
Pour ( ligne = 1 à ligne <= 1000) faire
| afficher (Vivement la fin du confinement que je puisse retourner au lycée travailler avec mon professeur de SI préféré)
| ligne = ligne +1
Fin de Pour
FIN
Question
Q2 : Coder le programme de l'exercice n°1 en langage Python (pour 3 lignes seulement afin de rendre plus lisible le test) puis exécuter votre programme afin de le valider.
Indice
En langage Python, la commande Pour se note for et il n'y a pas de commande Fin de Pour.
Indice
La programmation d'une Boucle Pour en langage Python étant un peu particulière, vous pouvez revoir l'exemple du cours sur les structures algorithmiques pour vous aider.
Solution
Ci dessous le programme en langage Python.
for ligne in range (3) :
print ("Vivement la fin du confinement que je puisse retourner au lycée travailler avec mon professeur de SI préféré")
Remarque : le nom de la variable (ici ligne) a peu d'importance si le programme se limite à une boucle Pour.
Remarque : la fonction range permet d'énumérer le nombre de passage dans la boucle for (ici 0,1,2 donc 3 passages dans la boucle).
Exercice n°2
Recopier puis exécuter le programme ci-dessous.
ListeDepartement=[19,23,87] # déclaration de la liste des numéros des départements
print(ListeDepartement) # on affiche la liste à partir de son identifiant
NombreDepartement = len(ListeDepartement)
print ('Le nombre de départements est de : ',NombreDepartement)
for i in range (NombreDepartement):
print ('Le département numéro ',i,'est le département',ListeDepartement[i])
Question
Q3 : Déterminer le rôle de la commande len.
Solution
La commande len permet de déterminer le nombre d'éléments contenus dans la liste des numéros du départements (ListeDepartement) et donc le nombre de départements.
Question
Q4 : Modifier le programme afin de ne faire afficher (commande print) que les 2 derniers départements. Valider votre programme en effectuant un essai.
Indice
Rappel : La fonction range permet d'énumérer le nombre de passage dans la boucle for, en partant de 0, jusqu’au nombre entre parenthèse moins un.
Par exemple : "for i in range (4)", la fonction énumère de 0 à 3 (et donc effectue 4 passages dans la boucle).
Indice
Si je programme "for i in range (x,y)", la fonction énumère de la valeur x à la valeur y-1.
Solution
Ci dessous le programme en langage Python.
ListeDepartement=[19,23,87] # déclaration de la liste des numéros des départements
print(ListeDepartement) # on affiche la liste à partir de son identifiant
NombreDepartement = len(ListeDepartement)
print ('Le nombre de départements est de : ',NombreDepartement)
for i in range (1,NombreDepartement):
print ('Le département numéro ',i,'est le département',ListeDepartement[i])
Question
Q5 : Modifier le programme afin que le premier département soit numéroté 1 et non 0. Valider votre programme en effectuant un essai.
Indice
Dans la ligne de code où on affiche le numéro de département, il ne faut pas appeler i mais i+1.
Solution
Ci dessous le programme en langage Python.
ListeDepartement=[19,23,87] # déclaration de la liste des numéros des départements
print(ListeDepartement) # on affiche la liste à partir de son identifiant
NombreDepartement = len(ListeDepartement)
print ('Le nombre de départements est de : ',NombreDepartement)
for i in range (NombreDepartement):
print ('Le département numéro ',i+1,'est le département',ListeDepartement[i])
Question
Q6 : Modifier le programme afin d'afficher tous les numéros de départements de notre région Nouvelle-Aquitaine. Valider votre programme en effectuant un essai.
Indice
C'est relativement simple, il faut juste adapter la liste des numéros des départements à la nouvelle exigence.
Indice
Pour obtenir la liste des numéros des départements de la région Nouvelle-aquitaine, vous pouvez demander de l'aide à l'ami Wikipédia.
Solution
Ci dessous le programme en langage Python.
ListeDepartement=[19,23,87,16,17,79,86,24,33,40,47,64] # déclaration de la liste des numéros des départements
print(ListeDepartement) # on affiche la liste à partir de son identifiant
NombreDepartement = len(ListeDepartement)
print ('Le nombre de départements est de : ',NombreDepartement)
for i in range (NombreDepartement):
print ('Le département numéro ',i+1,'est le département',ListeDepartement[i])
Question
Q7 : Modifier le programme afin d'afficher tous les numéros de départements de notre région Nouvelle-Aquitaine dans l'ordre croissant. Valider votre programme en effectuant un essai.
Indice
La fonction sorted permet de trier une liste, soit par ordre alphabétique pour du texte (ou chaîne de caractère), soit par ordre croissant pour des nombres.
Solution
Ci dessous le programme en langage Python.
ListeDepartement=[19,23,87,16,17,79,86,24,33,40,47,64] # déclaration de la liste des numéros des départements
ListeDepartement=sorted(ListeDepartement) # trie des numéros de départements dans l'ordre croissant
print(ListeDepartement) # on affiche la liste à partir de son identifiant
NombreDepartement = len(ListeDepartement)
print ('Le nombre de départements est de : ',NombreDepartement)
for i in range (NombreDepartement):
print ('Le département numéro ',i+1,'est le département',ListeDepartement[i])