CH6 Asd1
CH6 Asd1
CH6 Asd1
CH 6 : Les tableaux
A- Les tableaux à une dimension
1- Définition
Un tableau T est une variable structurée formée d’un nombre entier N de variables
simples de même type, qui sont appelées les composantes du tableau.
Le nombre de composantes N est alors la dimension du tableau.
T ………………. ……..
N composantes
On dit encore que T est un vecteur de dimension N.
2- Utilité
Un tableau est une structure de données constituée d’un nombre fini d’éléments de
même type.
Lorsque plusieurs données de même type, généralement destinées au même traitement
doivent être accessibles le long d’un programme, on propose d’utiliser la structure
d’un tableau.
3- Composantes
Nom : identificateur d’un tableau.
Type-élément : Les éléments d’un tableau sont caractérisés par leur type (entier, réel,
caractère,……..).
Indice : Tout type dont les éléments possèdent un successeur (les types scalaires),
généralement de type entier.
4- Déclaration
Nom_tab : Tableau [premind . . deuxind] de type_élément
Exemples
T1 : Tableau [1..50] d’entier
T2 : Tableau [1..20] de réel
T3 : Tableau [1..20] de caractère
Remarque
Il est également possible de définir un type tableau comme dans l’exemple suivant :
CONST
nmax = 50
TYPE
tab : Tableau [1..nmax] d’entier
VAR
T : tab
F. Mguis 70
CH6 : Les tableaux
Indice 1 2 3 4 5
Contenu T[1] T[2] T[3] T[4] T[5]
Tableau initial 60 50 20 40 10 30
F. Mguis 71
CH6 : Les tableaux
1ère étape 30 50 20 40 10
30 20 50 40 10
30 20 40 50 10
30 20 40 10 50
2ème étape 20 30 40 10 50
20 30 10 40 50
3ème étape 20 10 30 40 50
F. Mguis 72
CH6 : Les tableaux
4ème étape 10 20 30 40 50
Procédure TRISBULLE (VAR T : tab ; N : entier)
VAR
i, aux : entier
permut : Booléen
DÉBUT
Répéter
permut ← faux
Pour j de 1 à N-1 faire
Si T[i]> T[i+1] alors
aux ← T[i]
T[i] ← T[i + 1]
T[i + 1] ← aux
permut vrai
Fin si
Fin pour
N←N-1
Jusqu’à (echange = faux) OU ( N = 1)
FIN
8-3- Tri par insertion
Méthode: Trier le tableau de gauche à droite en insérant à chaque fois l'élément I+1 dans le
tableau (déjà trié) des I premiers éléments.
Comparer et permuter si nécessaire T[1] et T[2] de façon à placer le plus petit dans la
case d’indice 1
Comparer et permuter si nécessaire l’élément T[3] avec ceux qui le précèdent dans
l’ordre ( T[2] puis T[1]) afin de former une sous-liste triée T[1..3]
…….
Comparer et permuter si nécessaire l’élément T[n] avec ceux qui le précèdent dans
l’ordre ( T[n-1] puis T[n-2]) afin de former un tableau trié .
Tableau T Valeur à insérer
50 30 10 20 60 40 30
30 50 10 20 60 40 10
10 30 50 20 60 40 20
10 20 30 50 60 40 60
10 20 30 50 60 40 40
10 20 30 40 50 60
Procédure TRISINSERTION (VAR T : tab ; N : entier)
VAR
i, j, aux : entier
DÉBUT
Pour i de 2 à N faire
aux ← T[i]
j←i
Tant que (T[j – 1] > aux ) ET (j > 1) Faire
T[j]← T[j-1]
j ← j-1
Fin Tant Que
T[j]← aux
Fin Pour
F. Mguis 73
CH6 : Les tableaux
FIN
F. Mguis 74
CH6 : Les tableaux
RECH_DICH← pos
FIN
C colonnes
2- Déclaration
Nom_tab : Tableau [premind. .deuxind , premind. .deuxind] de type_élément
Exemples :
M1 : Tableau [1..30, 1..30] d’entier
M2 : Tableau [1..20, 1..20] de réel
M3 : Tableau [1..20, 1..20] de caractère
Remarque :
Il est également possible de définir une matrice comme dans l’exemple suivant :
CONST
NL = 30
NC = 20
TYPE
MAT : Tableau [1.. NL, 1.. NC] d’entier
VAR
M : MAT
Exemple 2
F. Mguis 76
CH6 : Les tableaux
F. Mguis 77
CH6 : Les tableaux
F. Mguis 78