Vous êtes sur la page 1sur 13

Algorithmique et programmation

Classe : 3ème Sciences de l’informatique

Série : Structures itératives


Une structure itérative appelée aussi structure répétitive ou boucle est une
structure qui permet la répétition d’un ensemble d’instructions un certain
nombre de fois.

Algorithmiquement nous pouvons utiliser 3 structures


itératives mais en Python on ne peut utiliser que 2:

1- La structure Pour … Faire

2- La structure Répéter … Jusqu’à

3- La structure Tant que … Faire


La boucle Pour
• Le nombre de répétitions est connu avant de commencer le traitement il est égal à |Fin-Début|+1
• Le Pas peut être Positif ou négatif, par défaut, le pas est égal à 1.
• Le parcours peut être croissant (Début > Fin) ou décroissant (Fin<Début) dans les deux cas, il faut
faire attention au Pas.

for i in range(5) : → le compteur i prendra les valeurs : 0,1,2,3,4


for i in range(0,5) : → le compteur i prendra les valeurs : 0,1,2,3,4
for i in range(2,5) : → le compteur i prendra les valeurs : 2,3,4
for i in range(5, 2 ,-1) : → le compteur i prendra les valeurs : 5,4,3
for i in range(2,11,3) : → le compteur i prendra les valeurs : 2,5,8

La boucle Répéter
• Le nombre de répétitions n’est pas connu à l’avance
• Le traitement s’exécute au moins une fois
• Le traitement s’exécute avant le test de la condition « d’arrêt »
• N’a pas une correspondance en Python, pour cela elle doit être remplacée par la boucle while de Python

i0 Ce bloc affiche : i=0


Répéter Takiacademy 1 while not(i==4) :
Takiacademy 2
i i+1 i=i+1
Takiacademy 3
Ecrire("takiacademy " , i ) Takiacademy 4 print("takiacademy ", i)
Jusqu’à(i=4)

La boucle Tant Que

• Le nombre de répétitions n’est pas connu à l’avance


• Le traitement s’exécute au moins zéro fois
• Le traitement s’exécute après le test de la condition de « non-arrêt »

i0 Ce bloc affiche : i=0


tant que i≠4 Faire Takiacademy 1 while (i !=4) :
Takiacademy 2
i i+1 i=i+1
Takiacademy 3
Ecrire("takiacademy " , i ) Takiacademy 4 print("takiacademy ", i)
Fin tant que
Exercice 1 20 min

On désire faire à chaque fois l’algorithme qui permet d’afficher le message « persévérance » 5
fois à l’écran en utilisant :
La boucle Pour
La boucle Répéter
La boucle Tant que

En algorithmique, l’instruction Ecrire_nl("Message")


permet de faire un retour à la ligne après l’affichage
du "Message"

Exercice 2 45 min

Pour chaque cas, donner l’algorithme ainsi que le script python permettant de :
1- Saisir un entier positif X.
2- Saisir un entier positif K pair de 4 chiffres.
3- Saisir un entier positif N de 3 chiffres au maximum.
4- Saisir dans la variable MG la moyenne générale obtenue par un élève en fin d’année
5- Saisir un entier premier P (un entier est dit premier s’il n’a que deux diviseurs distincts
1 et lui-même.
6- Saisir un caractère alphabétiques majuscule.
7- Saisir une chaine de caractères non vide.
8- Saisir une chaine qui commence par un alphabet majuscule et se termine par un point « . »
et ne contenant pas deux espaces consécutifs.
Exercice 3 25 min

Pour chaque séquence donner le résultat affiché à l’écran

Séquence en python Affichage

10
Exercice 4 25 min

1- Pour la séquence en python suivante, donner la séquence algorithmique correspondante


ainsi que le résultat affiché par le programme.
Le programme
Séquence en python Séquence en Algorithme
affiche :
x=0
y=1
for i in range(1,4):
x=x+i
y=y*i
print('x=',x,'y=',y)

2- Pour chaque séquence algorithmique, donner le résultat affiché, le type de X ainsi que le
rôle de la séquence
Le programme affiche pour
Séquence algorithmique Rôle de la séquence
ch"A2?5be31"
X""
Pour i de 0 à long(ch)-1 faire  "2531"
Si "0"≤ch[i]≤ "9" alors  11
XX+ch[i]  4
Fin Si
Fin pour Type de X …………………………..
Ecrire (x)
X0
Pour i de 0 à long(ch)-1 faire  "2531"
Si "0"≤ch[i] ≤ "9" alors  11
XX+1  4
Fin Si
Fin pour Type de X …………………………..
Ecrire (x)
X0
Pour i de 0 à long(ch)-1 faire  "2531"
Si "0"≤ ch[i] ≤ "9" alors  11
X X+ valeur(ch[i])  4
Fin Si
Fin pour Type de X …………………………..
Ecrire (x)
Exercice 5 25 min

Soit la séquence algorithmique suivante, où x est un entier naturel :


Nb 1
Tant que (X div 10) ≠ 0 faire
NbNb+1
X X div 10
Fin Tant que

Travail demandé :
1) Calculer la valeur finale de Nb pour les valeurs suivantes de x :
➢ 5403 …………………
➢ 176 …………………
➢ 3 …………………

2) Donner le rôle de cette séquence.


…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………

3) Ecrire une séquence algorithmique équivalente à celle donnée précédemment sans


utiliser une structure itérative
………………………………………………………………………………………………………………………………
Exercice 6 25 min

Ecrire un programma en python qui permet de deviner un nombre composé de 3 chiffres


choisie aléatoirement par l'ordinateur. Le joueur a maximum 10 essais pour deviner le nombre.
Si le nombre saisi par le joueur est supérieur au nombre à deviner on affiche "plus" sinon on
affiche "moins" jusqu’à deviner le nombre ou le nombre d'essais dépasse 10 essais.
On affiche le message bravo si le joueur l'a deviné sinon perdu

Exemple 1 Exemple 2

Exercice 7 25 min

1- On désire faire l’algorithme d’un programme nommé « som_chiffres » qui permet


de :
• Saisir une chaine ch non vide (il faut faire le contrôle de saisie)
• Calculer la somme de ses chiffres.
• Afficher la somme trouvée comme le montre l’exemple suivant :

Si l’utilisateur donne la chaine suivante : ch = "Bac info 2023"


le programme doit afficher : pour la chaine Bac info 2023 la somme des chiffres = 7
2- Donner le script Python correspondant.
Exercice 8 15 min

Sachant que chaque bloc s’exécute sans erreur. On vous demande de trouver le résultat affiché
après l’exécution de chaque bloc
Exercice 9 15 min

Soit le code Python suivant :

n=5
i, s = 0 , 0 i , s = 0 , 0 cette instruction signifie que i=0 et s=0
while i<n :
i=i+1
s=s+i
print(s)
Travail demandé :
1- Donner l’algorithme ainsi que le TDO correspondant au code précédent en lui
donnant le nom Travail.
2- Faire le tournage à la main du code précédent et donner le résultat affiché.
3- Donner le rôle du code précédent.

Exercice 10 35 min

1- Donner l’algorithme intitulé "Tableau" qui permet de faire les tâches suivantes :
• Saisir N le nombre de cases du tableau à remplir sachant que 5≤N≤20
• Remplir le tableau T par N entiers quelconques
• Afficher le contenu du tableau T
• Chercher et afficher le maximum du tableau T
2- Donner le programme Python correspondant

En python, pour implémenter un #déclaration d’un tableau #déclaration d’un tableau


tableau, on peut utiliser la from numpy import * import numpy as np
bibliothèque numpy T=array([int()]*5) T=np.array([int()]*5)
Exercice 11 25 min

On definit le poids d’une chaine comme étant la somme des produits de la position de chaque
voyelle dans cette chaine par son rang dans l’alphabet francais. Si la chaine ne contient pas de
voyelles alors son poids sera egal à zéro.

• La chaine "BONNE" contient deux voyelles "O" et "E" leurs positions dans la chaine sont
respectivement 2 et 5 et son poids est egal à 55 car 2*15 + 5*5 = 55
• La chaine "CHANCE" contient deux voyelles "A" et "E" leurs positions dans la chaine sont
respectivement 3 et 6 et son poids est egal à 33 car 3*1+6*5=33

Ecrire l’algorithme d’un programme nommé « Poids » qui permet de lire une chaine non vide,
composée uniquement par des lettres alphabétiques majuscules puis calcule et affiche le poids
de cette chaine.

Vous aimerez peut-être aussi