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.

1
for ligne in range (3) :
2
     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.

1
ListeDepartement=[19,23,87]                                                     # déclaration de la liste des numéros des départements
2
print(ListeDepartement)                                                         # on affiche la liste à partir de son identifiant
3
NombreDepartement = len(ListeDepartement)
4
print ('Le nombre de départements est de : ',NombreDepartement)                 
5
for i in range (NombreDepartement):                                            
6
   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.

1
ListeDepartement=[19,23,87]                                                     # déclaration de la liste des numéros des départements
2
print(ListeDepartement)                                                         # on affiche la liste à partir de son identifiant
3
NombreDepartement = len(ListeDepartement)
4
print ('Le nombre de départements est de : ',NombreDepartement)                 
5
for i in range (1,NombreDepartement):                                            
6
   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.

1
ListeDepartement=[19,23,87]                                                     # déclaration de la liste des numéros des départements
2
print(ListeDepartement)                                                         # on affiche la liste à partir de son identifiant
3
NombreDepartement = len(ListeDepartement)
4
print ('Le nombre de départements est de : ',NombreDepartement)                 
5
for i in range (NombreDepartement):                                            
6
   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.

1
ListeDepartement=[19,23,87,16,17,79,86,24,33,40,47,64]                          # déclaration de la liste des numéros des départements
2
print(ListeDepartement)                                                         # on affiche la liste à partir de son identifiant
3
NombreDepartement = len(ListeDepartement)
4
print ('Le nombre de départements est de : ',NombreDepartement)                 
5
for i in range (NombreDepartement):                                            
6
   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.

1
ListeDepartement=[19,23,87,16,17,79,86,24,33,40,47,64]                          # déclaration de la liste des numéros des départements
2
ListeDepartement=sorted(ListeDepartement)                                       # trie des numéros de départements dans l'ordre croissant
3
print(ListeDepartement)                                                         # on affiche la liste à partir de son identifiant
4
NombreDepartement = len(ListeDepartement)
5
print ('Le nombre de départements est de : ',NombreDepartement)                 
6
for i in range (NombreDepartement):                                            
7
   print ('Le département numéro ',i+1,'est le département',ListeDepartement[i])