LES TABLEAUX
1
Plan du chapitre :
I. Problématique
II. Définition
III. Les tableaux à une dimension
IV. Techniques utilisées avec les tableaux
V. Les tableaux a deux dimensions
Objectifs du chapitre :
Connaitre le type tableau et son utilité pour resoudre des problèmes en algorithmique.
Manipuler les différentes techniques et opérations de base sur les tableaux.
Construire des algorithmes s’appuyant sur le type tableau à une et à deux dimensions.
LE TYPE TABLEAU
LES TABLEAUX
2
I. Problématique :
On considère le problème suivant :
Il s’agit de calculer la moyenne d’un nombre fini d’étudiants d’une classe, puis d’afficher les
étudiants par ordre de mérite : de la plus forte moyenne jusqu’à la plus faible. Quelle solution
allez-vous proposer ?
On peut utiliser une structure répétitive qui permettra de traiter la moyenne de chaque étudiant
(calcul et affichage). Cependant, l’affichage des étudiants par ordre de mérite nécessite la
disponibilité de toutes les moyennes déjà calculées.
Or, avec les structures de données vues jusqu'à maintenant, la mémorisation de ces moyennes
semblent difficile à faire : il faut déclarer autant de variables moyennes que d’étudiants ; dans ce
cas, on peut même s’en passer de la boucle et on écrira autant de blocs d’instructions que de
nombre d’étudiants. Ce qui donne un algorithme de mauvaise qualité !
Pour remédier à cette fameuse proposition !!, on doit utiliser une structure de données capable de
mémoriser les moyennes dans un seul endroit, pour les retrouver ultérieurement et effectuer le
traitement souhaité.
Une telle structure est appelée Tableau.
II. Définition :
Un tableau est une structure de données permettant de regrouper sous un même nom un nombre
fini d’éléments de même type.
Dans ce chapitre, on va évoquer deux types de tableaux :
les tableaux à une dimension appelés également Vecteurs,
les tableaux à deux dimensions appelés également Matrices.
Remarques :
Un tableau est constitué d’un nombre fini de cases contigües situé en mémoire centrale.
Un tableau est caractérisé par :
son nom
sa taille (borne inférieure et borne supérieure connues à l’avance)
ses éléments : chaque élément est défini par son type et son contenu.
L’accès à un élément du tableau se fait à l’aide d’un indice.
III. Les tableaux à une dimension :
1. Définition :
Un tableau unidimensionnel (vecteur) est une manière de ranger des éléments ou des valeurs de même
type. Il regroupe ces éléments dans une structure fixe et permet d’accéder à chaque élément par
l’intermédiaire de son rang ou indice.
Tableau A :
Les composantes de A
LES TABLEAUX
3
2. Représentation algorithmique :
Type
Nomtableau = Tableau [borne_inf .. borne_sup] de type_élément
Variable
Nomvar : Nomtableau
Indice : entier
Exemple :
On veut déclarer un tableau T de moyennes
Type
Tab_Moy = Tableau [1..20] de réel
Variable
T : Tab_Moy
I : entier (* indice du tableau T *)
En mémoire, on va avoir une variable T comportant 20 cases et dans chacune on placera une
moyenne qui est de type réel.
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
T
10.5
08.2
09.7
11.0
10.5
13.6
Le premier élément de T contient la valeur 10.5 ; on note T[1] 10.5
Le deuxième élément de T contient la valeur 08.2 ; on note T[2] 08.2
D’une manière générale, le Ième élément de T est noté T[I] et contient une valeur de type réel.
T[I] désigne également le contenu de la Ième case du tableau T.
Remarques :
L’indice du tableau doit être obligatoirement de type entier.
Il serait préférable que cet indice soit initialisé à la valeur 1.
Un tableau, s’il est rempli, ne doit pas faire l’objet d’une lecture supplémentaire sauf s’il
s’agit d’une opération de mise à jour où on doit modifier le contenu des éléments du tableau.
La taille du tableau doit être connu à l’avance.
3. Opérations de base sur un tableau :
Pour représenter ces différentes opérations, on va utiliser un tableau T d’entiers.
a. Initialiser un Tableau :
Algorithme Ini_Tab
Constante N = Val
Type TabEnt = Tableau [1..N] de Entier
Variable T : TabEnt
I : entier
Début
Pour I de 1 à N Faire
T[I] 0
FinPour
Fin
LES TABLEAUX
4
b. Remplir un Tableau :
Algorithme Remp_Tab
Constante N = Val
Type TabEnt = Tableau [1..N] de Entier
Variable T : TabEnt
I : entier
Début
Pour I de 1 à N Faire
Lire(T[I])
FinPour
Fin
Remarque :
Lire(T[I]) consiste à entrer une valeur à partir du clavier et la mémoriser dans la Ième case du
tableau T.
c. Affichage les éléments d’un tableau :
On va afficher les éléments strictement positifs du tableau T
Algorithme Aff_Tab
Constante N = Val
Type TabEnt = Tableau [1..N] de Entier
Variable T : TabEnt
I : entier
Début
Pour I de 1 à N Faire
Si T(I) > 0 Alors
écrire(T[I])
FinSi
FinPour
Fin
d. Additionner les éléments de deux tableaux :
On dispose de deux tableaux T1 et T2 et on veut réaliser la somme. Ça consiste à additionner les
éléments de même indice et les mémoriser dans un tableau T3.
Condition nécessaire : T1 et T2 de même taille.
Algorithme Add_Tab
Constante N = Val
Type TabEnt = Tableau [1..N] de Entier
Variable
T1, T2, T3 : TabEnt
I : entier
Début
Pour I de 1 à N Faire
T3[I] T1[I] + T2[I]
FinPour
Fin
LES TABLEAUX
5
e. Multiplier les éléments de deux tableaux :
Algorithme Mult_Tab
Constante N = Val
Type TabEnt = Tableau [1..N] de Entier
Variable T1, T2, T3 : TabEnt
I : entier
Début
Pour I de 1 à N Faire
T3[I] T1[I] * T2[I]
FinPour
Fin
4. Exercice d’application :
On dispose d’un tableau d’entiers T et on veut afficher le nombre d’éléments positifs et le
nombre d’éléments négatifs contenus dans le tableau.
IV. Techniques utilisées avec les tableaux :
1. Recherche dans un tableau :
a. Introduction :
Il s’agit de rechercher un élément saisi à partir du clavier, dans un tableau. Dès qu’on le trouve
ce n’est plus la peine de continuer le parcours du tableau ; on doit sortir et afficher un message
d’existence.
Deux façons de faire :
soit faire une recherche séquentielle,
soit faire une recherche plus optimisée dite recherche dichotomique et dans ce cas, il y a
des précautions et des actions préalables à faire.
b. Recherche Séquentielle :
Algorithme Rech_Seq
Constante N = 20
Type TabEnt = Tableau [1..N] de Entier
Variable T : TabEnt
I , X: entier (* X est l’élément à chercher dans le tableau *)
Trouve : Booléen (*cette variable va nous permettre de sortir dès qu’on trouve X*)
Début
Lire(X)
I1
Trouve Faux
Tant que (I<=N) ET (Trouve = Faux) Faire
Si (T[I] <> X) Alors
I I + 1
Sinon
Trouve Vrai
FinSi
FinTantQue
1 / 8 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !