Vous êtes sur la page 1sur 13

Partie I 

: Pensée computationnelle et programmation


Structure répétitive

Partie I : Pensée computationnelle et programmation


Structure répétitive

Activité 1 :
1- Ecrire le script python qui permet de chercher le nombre d’apparition d’un caractère
donné dans une chaine composée de 4 caractères donnée.

Algorithme Python
---------------------------------------------------------------- ----------------------------------------------------------------
----------------------------------------------------------------- -----------------------------------------------------------------
---------------------------------------------------------------- ----------------------------------------------------------------
----------------------------------------------------------------- -----------------------------------------------------------------
---------------------------------------------------------------- ----------------------------------------------------------------
----------------------------------------------------------------- -----------------------------------------------------------------
---------------------------------------------------------------- ----------------------------------------------------------------
----------------------------------------------------------------- -----------------------------------------------------------------

2- Exécuter le programme avec la chaine ch ="perte" et le caractère c="e", que donne le


programme ?
---------------------------------------------------------------------------------------------------------------
3- Reexécuter le même programme avec la chaine ch="publication" et le caractère
c="o", que donne le programme ?
----------------------------------------------------------------------------------------------------------------
4- Comment rectifier le même programme pour qu’il puisse chercher le nombre d’apparition
d’un caractère donné dans n’importe quelle chaine donnée.
----------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------- -

Application :

Dresser l’algorithme d’un programme qui permet de calculer le factoriel d’un entier donné.

Mme Zguem Nedra 1


Partie I : Pensée computationnelle et programmation
Structure répétitive

I-Introduction :
Les structures de controles itératives permettent à l’utilisateur du programme de répéter un
traitement un ensemble de fois
I- 1-La structure itérative complète :

Script Excécution Conclusion


Print(‘hello’) La structure itérative
complète permet de
for i in range(3) :
répéter un traitement un
print('hello')
nombre de fois fixe et
connu à l’avance.

for i in range(5) :
print('hello') La fonction range : par
défaut début et pas valent
for i in range(5) :
respectivement
print(i)
………. Et …………
for i in range(2,6) :
print(‘hello’)  range(5) produira la
for i in range(2,6) : plage de valeurs
print(i) ………………………….
for i in range(2,10,2) :
 range(2,6) produira la
print(‘hello’)
plage de valeurs
for i in range(2,10,2) : …………………………….
print(i)
for i in range(6,0,-1) :
print(‘hello’)  range(2,10,2) produira
la plage de valeurs
for i in range(6,0,-1) :
………………………….
print(i)
 range(6,0,-1) produira la
plage de valeurs
……………………………

Exécuter les scripts suivants :

Définition :
La structure itérative complète permet à l’utilisateur du programme de répéter un
traitement un ensemble de fois connu à l’avance.
Syntaxe :

Mme Zguem Nedra 2


Partie I : Pensée computationnelle et programmation
Structure répétitive

En algorithme En Python
{Init}
Pour compteur de Vi à Vf (pas) Faire For compteur in range (Vi,Vf,pas):
Instruction 1 Instruction 1 
Instruction 2 Instruction 2 
….. …….....
Instruction N Instruction n
FinPour

Application 2 :
Ecrire un programme qui affiche la table de multiplication d’un entier donné.
I-2- La structure itérative à condition d’arrêt :
1/ La structure répétitive REPETER…JUSQU'A
Soit l’algorithme suivant :
Lire un entier x puis lui ajouter +1 jusqu’à atteindre l’entier suivant divisible par 5.

Algorithme Tournage à la main


Algorithme multiple_5 X=12 X=4 X=10
Début X= X= X=
Afficher ("x="), lire (x) X= X=
Répéter X= X=
xx+1 X=
Jusqu’à (x mod 5=0) X=
Afficher (x) Nombre Nombre Nombre
Fin de répitition : de répitition : de répitition :

Retenons : la structure itérative à condition d’arrêt permet de répéter un traitement un


nombre de fois non connu à l’avance.
Dans cette boucle, le traitement est exécuté au moins une fois avant le calcul de la valeur de
la condition.

Forme générale :

Au niveau de l’algorithme Au niveau Python

Mme Zguem Nedra 3


Partie I : Pensée computationnelle et programmation
Structure répétitive

......  {Init}
Répéter La boucle répéter...jusqu'à
Instruction 1 n'existe pas en PYTHON
Instruction 2 mais on peut facilement la
….. simuler en utilisant la
boucle tant que
Instruction N
Jusqu’à Condition
2/La structure répétitive Tant que… Faire :
Revenant à l’exemple précédent :

Algorithme Tournage à la main


Algorithme multiple_5 X=12 X=4 X=10
Début X= X=
Afficher ("x="), lire (x) X=
Tant que X mod 5 <>0 faire X=
xx+1
fin tant que Nombre Nombre Nombre
Afficher (x) de répitition : de répitition : de répitition :
Fin

Retenons : Le traitement de cette boucle peut ne jamais être exécuté si dès la


première fois la condition d’arrêt a la valeur fausse.
Forme générale

Au niveau de l’algorithme Au niveau Python


......  { Initialisation } ...... ; { Initialisation }
TANT QUE condition FAIRE while condition :
Instruction 1 Instruction 1 
Instruction 2 Instruction 2 
….. …..
Instruction N Instruction N 
FIN TANT QUE

Les tableaux (les listes)


Activité :

Mme Zguem Nedra 4


Partie I : Pensée computationnelle et programmation
Structure répétitive

Dresser l’algorithme et le script python qui permet de saisir les moyennes d’une classe de 30
élèves puis les afficher ordonnés (avec leurs rangs).

Algorithme : python
……………………………………………………………………..…… ……………………………………………………………………………
…………………………………………………………….…………… ……………………………………………………………………………
…………………………………………………………………….…… …………………………………………………………….………………
…………………………………………………………………….…… …………………………………………………………….………………
………………………………………………………………….……… ……………………………………………………………….……………
………………………………………………………………….……… ………………………………………………………………………..……
………………………………………………………………….……… ……………………………………………………………………..………
………………………………………………………………….……… ………………………………………………………………………………
………………………………………………………………….……… ………………………………………………………………………………
…………………………………………………………………….…… ……………………………………………………………………..………

I.a. Définition :
Un tableau (une liste) est une structure de données qui contient plusieurs éléments de
même type.
Exemples de tableaux:
T: T:
12.-1 14.33
0 45
2 -5
2. 101.75
5 5 0 1 2
0 1 2 3 4 3 4
T est un tableau de 5 entiers. T est un tableau de 5 réels.

T: T:
"z" "A" "E" "f" "h" "zQW" "A#@$R" "E" "f02" "h145"
0 1 2 3 4 0 1 2 3 4
T est un tableau de caractères. T est un tableau de chaines de caractères.
I.b. Déclaration :
Caractéristiques d’un tableau :

T 17 25 13 10 0 … 55

1 2 3 4 5 6 7
Nom du tableau

Mme Zguem Nedra 5


Partie I : Pensée computationnelle et programmation
Structure répétitive

Contenu des cases


Indices des cases
Un tableau est caractérisé par :

 Un nom (identifiant)
 Une taille
 Plusieurs indices,
 Un type qui est le type des éléments contenus dans ses colonnes.
Remarques :
1- Pour accéder au iéme élément d’un tableau T (borne infèrieure <= i <= borne
supérieure) appelé T[i] , i = indice et T[i] s’appelle le contenu de la ième colonne ou
valeur de la colonne i.
2- Un tableau est lu et écrit et traité élément par élément, son contenu est modifié
soit par une opération de lecture (saisie) soit par une opération d’affectation (, :=)
3- Les opérations possibles sur les éléments (contenues ou valeurs) d’un tableau
sont les mêmes déjà définies dans ce chapitre pour les variables simples.
Exemples :

Objet Type
Nom_tableau Tableau de nombre de cases de type
T Tableau de 10 entier
TC Tableau de 50 réel
Tab Tableau de 10 caractères
vect Tableau de 10 chaines de caractères

I.c. Création d’une liste

Création d’une liste vide Création d’une liste avec des valeurs
Nom_liste=[ ] Nom_liste = [v1,v2,v3…]
Exemple Exemple
L=[ ] L=[2,5,8]

Les éléments d’une liste sont énuméré à partir de 0, le premier élément s’appelle
nom_liste[0]……
Exemples :
L=[5,8,9] / L[0]=5 / L[1]=8 / L[2]=9
Manipulation des tableaux :

Au niveau algorithme
Accès à un élément d’une liste T[i], avec i l’indice de la case
Lecture d’un élément écrire ("donner T[",i, "]")

Mme Zguem Nedra 6


Partie I : Pensée computationnelle et programmation
Structure répétitive

Lire(T[i])
Affichage d’un élément Écrire(T[i])

I.d. Changement de la valeur d’un élément existant d’une liste

L[i]=valeur
L=["A","C","D"]
L[1]="B" L=["A","B","D"]
I.e. Ajout d’un élément à une liste crée

Ajout par affectation Ajout par saisie


X=valeur x=int(input("donner l’élément à ajouter"))
Liste.append(x) liste.append(x)

I.f. Les opérations sur les listes :


Les listes possèdent des méthodes très pratiques pour les manipuler, on peut citer comme
exemples :

Fonction Description
+ permet la concaténation de deux ou plusieurs listes
* permet la répétition d’un élément d’une liste n fois
Retourne le nombre d’éléments dans une liste
len(id_liste)
permet d'ajouter un élément à la fin d’une liste
Id_liste.append(elem)
permet d'insérer un élément dans une liste à l’index
Id_liste.insert(index,elem)
indiqué et décaler les autres éléments vers la droite
permet de supprimer un élément dans une liste
Id_liste.remove(elem)
Le mot clé del permet de supprimer un élément d’indice
del id_liste[index]
indiqué d’une liste
permet de trier les éléments d’une liste du plus petit au
Id_liste.sort()
plus grand

Mme Zguem Nedra 7


Partie I : Pensée computationnelle et programmation
Structure répétitive

permet de compter le nombre d'occurrence d’un


Id_liste.count(elem)
élément dans une liste
permet de retourner l'index de l'élément mis entre
Id_liste.index(elem)
parenthèse

Exercices
1- Ecrire un algorithme qui permet de remplir un tableau de N éléments, et d’afficher
son contenu.

2- Ecrire un algorithme qui permet de rechercher un élément donné X dans un tableau.

3- Ecrire un algorithme qui permet de rechercher le minimum et le maximum dans un


tableau de N éléments.

4- Ecrire un algorithme qui permet de calculer la moyenne des éléments d’un tableau.

Mme Zguem Nedra 8


Partie I : Pensée computationnelle et programmation
Structure répétitive

Exercices

Mme Zguem Nedra 9


Partie I : Pensée computationnelle et programmation
Structure répétitive

1- remplir un tableau par des notes entre 0 et 20.


………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………....
………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………….……..
2- Remplir un tableau T par N entiers positif d’une manière aléatoire (des entiers
<=100).
…………………………………………………………………………………………………………………………………………..……..….
……………………………………………………………………………………………………………………………………………..….….
……………………………………………………………………………………………………………………………………………..…..….
…………………..……………………………………………………………………………………………………………………………..….
………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………….……….
3- Remplir un tableau trié
…………………………………………………………………………………………………………………………………………..……..….
……………………………………………………………………………………………………………………………………………..….….
……………………………………………………………………………………………………………………………………………..…..….
…………………..……………………………………………………………………………………………………………………………..….
………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………
4- Remplir un tableau par des éléments distincts :
…………………………………………………………………………………………………………………………………………..……..….
……………………………………………………………………………………………………………………………………………..….….
……………………………………………………………………………………………………………………………………………..…..….
…………………..……………………………………………………………………………………………………………………………..….
………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………

Mme Zguem Nedra 10


Partie I : Pensée computationnelle et programmation
Structure répétitive

Les tableaux à deux dimensions (tableau 2D):


Lorsque les données sont nombreuses et de même type, mais dépendent de deux critères
différents, elles sont rangée dans un tableau à deux entrées.
Pour cela on peut déclarer des tableaux dans lesquels les valeurs ne sont pas repérées par
un indice seul, mais par deux indices (i pour les lignes et j pour les colonnes).

Exemple :
Ce tableau a 4 lignes et 10 colonnes. Les éléments du tableau sont repérés par leur numéro
de ligne et leur numéro de colonne T[i,j].

0 1 2 3 4 5 6 7 8
0 12 76 1 66 55 87 4 8 9
1 766 54 321 54 764 743 99 0 766
2 21 88 33 54 66 78 98 77 1
3 678 999 80 90 70 340 5 32 66

1.Déclaration d’un tableau à deux dimensions :

Nom_tab= tableau de N lignes * M colonnes de type


éléments.

Exemple :
Note = tableau de 4 lignes* 10 colonnes d’entiers.

2. Accès aux éléments d’un tableau 2D :


Pour accéder aux éléments d’un tableau à deux dimensions (tableau 2D ou matrice), on
spécifie le nom de matrice suivi des deux indices (i,j) de l’élément entre deux crochets [].

Exemple :
Soit T une matrice de 10 lignes et 20 colonnes de valeurs entières.
T[0,0] : renvoie la valeur de la ligne0 et la colonne0.
T[i,j] : renvoie la valeur de la ligne d’indice i et la colonne d’indice j de la matrice T.

3. Modifier les éléments d’un tableau 2D :


Pour modifier les éléments d’une matrice, on spécifie le nom de matrice et les indices de
l’élément à modifier entre crochet [], puis on utilise l’instruction d’affectation .

Mme Zguem Nedra 11


Partie I : Pensée computationnelle et programmation
Structure répétitive

Exemple :
Soit T un tableau de 10 lignes et 20 colonnes de valeurs entières.
T[0,0]  19 : changer la valeur d’indice (0,0) par la valeur 19.
T[i,j]  x : changer la valeur d’indice (i,j) par la valeur x.

4. Afficher les éléments d’un tableau 2D :


Pour afficher les éléments d’une matrice on utilise l’instruction d’écriture "ecrire ()", plus
une boucle répétitive "Pour …."ou "Tant que …." Imbriquées.
Exemple :
Soit T une matrice de taille 10*20

# Afficher les éléments d’une matrice un par un


Pour i de 0 à 9 faire
Pour j de 0 à 19 faire
Ecrire (T[i,j])
Fin pour
Fin pour

5. Remplir un tableau 2D :


Pour remplir une matrice on utilise l’instruction de lecture "lire ()" plus la boucle répétitive
"Pour …."ou"Tant que ….." imbriquées.
Exemple :
# Algorithme permettant de remplir une matrice
Soit T le tableau
Algorithme remplir_mat
de taille 10*20
Debut
#on utilise deux boucles Pour imbriquées afin de remplir une matrice T
Pour i de 0 à 9 faire
Pour j de 0 à 19 faire

Ecrire ("Saisir la valeur d’indice :",i,j), Lire (T[i,j])

Fin pour
Fin pour
Fin

Mme Zguem Nedra 12


Partie I : Pensée computationnelle et programmation
Structure répétitive

Exercices

1- Ecrire un algorithme qui permet de remplir et d’afficher un


tableau à deux dimensions.

2- Ecrire un algorithme qui permet de chercher le minimum


et maximum dans un tableau à deux dimensions.

3- Ecrire un algorithme qui permet de calculer le nombre


d’occurrences d’un nombre donné X dans un tableau à
deux dimensions.

4- Ecrire un algorithme qui calcule la matrice C qui est la


somme de deux matrices A et B.

Mme Zguem Nedra 13

Vous aimerez peut-être aussi