Tableaux
LP
2016
A. SOUHAR
Structures de donnes
Variable simple : ne peut reprsenter quune seule
information.
dernier lment
Tableaux
Dclaration
Caractris par un nom, le type des lments et la
taille.
Syntaxe
nom_tableau[1..TAILLE] : type_element
exp: une expression dlivrant une valeur entire qui indique le rang de llment
dans le tableau.
Soit T un tableau, T[i] le (i+1)me lment peut tre considr comme une
variable simple sur laquelle on peut effectuer les oprations suivantes :
Saisie : lire(T[i] )
Affichage : ecrire(T[i] )
Affectation :
/*valeur dune constante*/
T[i]= 12
/*valeur dune expression*/
T[i]= (x*3) div 2
/*valeur dune autre variable*/
T[i]= x
lment dune expression :
S=2*PI*T[i]
si ( T[i] >=0) alors T[i]= T[i] * T[i] finsi
Tableaux
Initialisation
Initialisation du tableau par une liste de constantes au
moment de la dclaration.
Exemples
CAP = 5
entier t[1..CAP] <- {1,2,3,4,8}
Tableaux
Les tableaux sutilisent en gnral avec la boucle
au nombre ditrations
Oprations :
Lecture,
Affichage,
Tri des lments
Recherche dun lment
8
Lecture des lments dun
tableau
.
Pour i0 jusqu (TAILLE-1) faire
crire("Donner llment dindice:",i)
lire(T[i])
FinPour
.
9
Affichage des lments dun
tableau
10
SOMME DES ELEMENTS DUN TABLEAU
dentiers
Algorithme somme
TAILLE = 15
S : entier
T[1..TAILLE]: entier
debut
S0
Pour i0 jusqu (TAILLE -1) faire
S S+T[i]
FinPour
crire("la somme est : ", S)
fin
11
Min/Max DES ELEMENTS DUN TABLEAU
dentiers
Algorithme somme
TAILLE = 15
min,max : entier
T[1..TAILLE]: entier
Dbut
minT[0]
maxT[0]
Pour i1 jusqu (taille-1) faire
Si Min>T[i] alors MinT[i]
Si Max<T[i] alors MaxT[i]
FinPour
crire("le Minimum est : ", Min)
crire("le Maximum est : ", Max)
Fin
12
Tableaux
Opration de tri
Le tri dun tableau consiste ordonner les
lments par:
Ordre croissant: T[0] <= T[1] <= <=T[n-1]
Ordre dcroissant: T[0] >= T[1] >= >=T[n-1]
ime lment
Tri par slection
Principe
Pour chaque i
1. Slectionner le 1er lment de la partie non trie
2. Trouver le minimum de la partie non trie
ime lment
Plus petit lment de
la partie non trie
Tri par slection
Principe
Pour chaque i
1. Slectionner le 1er lment de la partie non trie
2. Trouver le minimum de la partie non trie
3. changer le 1er lment de la partie non trie (i) avec le min
Passe1: 11 33 44 77 88 22 66 55
Passe2: 11 22 44 77 88 33 66 55
Passe3: 11 22 33 77 88 44 66 55
Passe4: 11 22 33 44 88 77 66 55
Passe5: 11 22 33 44 55 77 66 88
Passe6: 11 22 33 44 55 66 77 88
Passe7: 11 22 33 44 55 66 77 88
Tri par slection
Algorithme
Algorithme tri_selection
T[1..n] : type_element
i, j, min, q : entier
debut
pour i <- 0 jusqu n-2 faire
min= i
pour j <- i+1 jusqu n-1 faire
si (T[j]<T[min])
min <- j
finsi
q <- T[i]
T[i] <- T[min]
T[min] <- q
finpour
fin
Tri par insertion
Principe
A chaque tape i
lment insrer
Tri par insertion
Principe
A chaque tape i
1. Slectionner llment insrer dans la partie non trie
2. Insrer llment slectionn dans la partie trie
lment insrer
Insertion
Tri par insertion
Exemple
T : 77 33 44 11 88 22 66 55
Passe1: 33 77 44 11 88 22 66 55
Passe2: 33 44 77 11 88 22 66 55
Passe3: 11 33 44 77 88 22 66 55
Passe4: 11 33 44 77 88 22 66 55
Passe5: 11 22 33 44 77 88 66 55
Passe6: 11 22 33 44 66 77 88 55
Passe7: 11 22 33 44 55 66 77 88
Tri par insertion
Algorithme
Algorithme tri_insertion
T[1..n] : type_element
i, j, x : entier
Debut
pour i <- 1 jusqu n-1 faire
x <- T[i]
j <- i
tantque (j>0 et T[j-1]>x)
T[j] <- T[j-1]
j=j-1
fintantque
T[j]=x;
finpour
fin
Tri par bulles
Principe
Placer le plus petit lment au dbut du tableau en comparant
les lments 2 2, et permuter sils ne sont pas dans lordre.
Passe1: 11 77 33 44 22 88 55 66
Passe2: 11 22 77 33 44 55 88 66
Passe3: 11 22 33 77 44 55 66 88
Passe4: 11 22 33 44 77 55 66 88
Passe5: 11 22 33 44 55 77 66 88
Passe6: 11 22 33 44 55 66 77 88
Passe7: 11 22 33 44 55 66 77 88
Tri par bulles
Algorithme
Algorithme tri_bulle
T[1..n] : type_element
i, j, x : entier
debut
pour i <- 0 jusqu n-2 faire
pour j <- n-1 jusqu i+1 dcrment j faire
if (T[j]<T[j-1])
x=T[j]
T[j]=T[j-1]
T[j-1]=x
finsi
finpour
finpour
fin
Tableaux bidimensionnels
Dfinition
Un tableau bidimensionnel de taille (L, C) est Tableau unidimensionnel de
taille L, dont les lments sont des tableaux de taille C.
Une ligne du tableau reprsente les notes dun tudiant dans les 12
modules.
Une colonne reprsente les notes de tous les tudiants dans un module.
M1 M2 . . . M12
E1 12 09 . . . 16
E2 05 14 . . . 12
.
.
.
En 13.5 15 . . . 16
Tableaux bidimensionnels
Dclaration
nom_tableau[1..MAX_LIN][1..MAX_COL] : type_element
Saisie, Affichage
Affectation
Facteur dans une expression
etc.
Tableaux bidimensionnels
Exemple
crire un algorithme qui permet de:
dbut
// Saisie des notes
crire("donner le nombre dtudiants )
lire(ne)
pour i <- 0 jusqu ne-1 faire
pour j <- 0 jusqu NB_MOD faire
lire(notes[i][j])