Vous êtes sur la page 1sur 16

Chapitre 3 : LES TABLEAUX

1. LES TABLEAUX A UNE DIMENSION


En informatique, un tableau (array, en anglais) est une structure de données de
base qui est un ensemble d’éléments (des variables ou autres entités contenant
des données), auquel on a accès à travers un numéro d’index (ou indice).
Dans les langages classique, tous les éléments d’un tableau doivent être du même
type des entiers, des réels, des booléens, des chaînes de caractères, des
tableaux, des enregistrements.

1.1. Introduction

Imaginez que l’on veuille calculer la moyenne des notes d’une classe d’élèves. Pour
l’instant on pourrait utiliser l’algorithme suivant :
Algorithme Moyenne
VAR somme, nbEleves, Note, i : réels
DEBUT
somme ← 0
Afficher (" Nombre d’eleves :")
Saisir (nbEleves)
POUR i = 1 À nbEleves
Afficher (" Note de l’eleve numero ", i , " : ")
Saisir (Note)
somme ← somme + Note
FIN POUR
Afficher (" La moyenne est de :", somme / nbEleves)
FIN

Si l’on veut toujours calculer la moyenne des notes d’une classe mais en gardant en
mémoire toutes les notes des élèves pour d’éventuels calculs (par exemple calculer le
nombre d’élèves qui ont des notes supérieurs à la moyenne). Dans ce cas il faudrait
alors déclarer autant de variables qu’il y a d’étudiants. Donc, si l’on a 10 élèves il faut
déclarer 10 variables et si l’on a N il faut déclarer N variables et ce n’est pas pratique.
Ce qu’il faudrait c’est pouvoir par l’intermédiaire d’une seule variable stocker
plusieurs valeurs de même type et c’est le rôle des tableaux.
Un tableau est un ensemble de valeurs de même type portant le même nom de variable.
Chaque valeur du tableau est repérée par un nombre appelé indice.

Définition. Un tableau est une structure de donnée linéaire qui permet de stocker des
données de même type. Chacune des valeurs est repérée par un indice indiquant la
position de la donnée dans le tableau.
1
Un tableau est caractérisé par :
- Son nom ;
- Sa taille : nombre maximal d’éléments du tableau ;
- Et le type des éléments.
Le tableau, c’est ce que l’on nomme un type complexe en opposition aux types de
données simples vus précédemment. La déclaration d’un tableau sera via une syntaxe.
1.2. Format général d’un tableau
Un tableau est déclaré comme un type particulier de donnée. Nous lui donnons un nom,
une valeur d’indice minimale et une valeur d’indice maximale correspondant au
nombre maximal de cases le composant. Nous déclarons également l’indice qui permet
d’adresser les différentes cases. L’indice doit obligatoirement être du type entier.
<nom-du-tableau> (<indice-min>) : <indice-max>) : TABLEAU <type-donnée>
Exemple : La moyenne des dix élèves d’une classe est stockée dans le tableau linéaire
suivant :
1 2 3 4 5 6 7 8 9 10
MOY 5 12 14 7,5 10 9,5 13 8 6 10

Nous déclarons le tableau de la manière suivante :


Moy (1 :10) : TABLEAU de réels
Ainsi, le troisième élève à comme moyenne : Moy (3) =14
Remarque. Le nom d’un tableau n’est jamais utilisé seul, dans toutes les instructions
(saisie, affichage, calcul, test), il est toujours suivi d’un indice, entouré de
parenthèses. L’énorme avantage des tableaux, c’est qu’on va pouvoir les traiter en
faisant des boucles.

1.3. Création d’un tableau

La création d’un tableau consiste en un remplissage des différentes cases qui le


constituent. Cette opération peut se faire de deux manières différentes :
 En renseignant les cases une à une à partir de la première ;
 En adressant les cases directement, et ce dans un ordre quelconque.
Exemple 1. Créons un tableau ayant 10 nombres saisis au clavier. Ces données sont
stocker dans un tableau afin d’y mener plus des opérations (ajout, suppression,
recherches, fusion,…). Ci-dessous l’algorithme de création de tableau :
ALGORITHME CréerTableau
VAR Tab (1 :10) : tableau ENTIER
VAR N : N
DEBUT
POUR N ⟵ 1 JQA 10 /* boucle de traitement */

2
AFFICHER (’’ Donne un nombre’’)
SAISIR (Tab(N))
FPOUR
FIN

Remarque. La valeur d’un indice doit toujours être un nombre entier qui doit être
inférieure ou égale au nombre d’éléments du tableau.
Si l’utilisateur veut saisir moins de 10 nombres, il est contraint de continuer. La
valeur Tab(N) permet d'entrer les N valeurs au fur à mesure.
Exemple 2. Nous désirons stocker dans un tableau les noms des élèves saisi de façon
aléatoire. Nous mettons le nom d’un élève dans la case du tableau correspondant à son
numéro : le nom de l’élève ayant le numéro 12 est stocker dans la case numéro 12 du
tableau. Nous supposons que la classe contient exactement 35 élèves. Ci-dessous
l’algorithme de création de tableau des noms d’élèves :
ALGORITHME TableauNom
VAR Tab (1 :35) : tableau CAR
VAR N : ENTIER
DEBUT
POUR N ⟵ 1 JQA 35 /* boucle de traitement */
AFFICHER (’’ Donne un nombre’’)
SAISIR (N)
AFFICHER (’’ Donne le nom de l’élève’’)
SAISIR (nom (N))
FPOUR
FIN
Remarque. L’utilisateur peut saisir au maximum 35 nombres. La condition d’arrêt du
traitement est 35 nombres ont été saisis ou la valeur saisie est zéro.
1.4. Editer un tableau
Nous voulons éditer le contenu des tableaux que nous venons de créer. Considérons le
tableau ci-dessous :
a b c d e f g h i j

Ecrire un algorithme permettant d’éditer le contenu du tableau.


ALGORITHME EditionTableau
VAR TabEdit (1 :10) : tableau CAR
VAR N : ENTIER
DEBUT
POUR N ⟵ 1 JQA 10 /* boucle de traitement */
AFFICHER (TabEdit)
FPOUR
FIN

3
Les éléments d'un tableau sont des variables indicées qui s'utilisent exactement
comme n'importe quelles autres variables classiques. Elles peuvent faire l'objet
d'une affectation, elles peuvent figurer dans une expression arithmétique, dans
une comparaison, elles peuvent être affichées et saisies etc.
L'utilisation de ces éléments se fait en suite, via le nom du tableau et son indice.
Ce dernier peut être soit une valeur (exemple : TabEdit(3)), soit une variable
(exemple : TabEdit (i)) ou encore une expression (exemple : TabEdit (i+1)).
1.5. Différents opérations possibles sur les tableaux
Les opérations disponibles sur les tableaux sont très similaires aux opérations
disponibles sur les chaînes de caractères. On peut par ailleurs modifier un
élément d’un tableau (identifié par son indice) en utilisant une affectation.
Ecrire un algorithme qui effectue la somme des nombres d’un tableau.

14 9 27 15 28 …. 74

ALGORITHME SommeElément
VAR N, Somme : ENTIER
VAR Tab (1 : N) : tableau ENTIER
DEBUT
Somme ⟵0
POUR i ⟵ 1 JQA 10 /* boucle de traitement */
Somme ⟵ Tab[i] + Somme
i=i+1
FPOUR
AFFICHER (‘’La somme du contenu de Tab est :’’ Somme)
FIN
Exercice. Ecrire un algorithme qui calcul le produit et la moyenne des nombres
stockés dans TabEdit (voir1.3).
1.6. Recherche dans un tableau

Dans un tableau dont les valeurs sont numérique, on peut chercher un nombre
particulier ; le plus grand, le plus petit élément ou le nombre d’occurrence d’une valeur.
Exemple 1. Recherche du plus grand.
ALGORITHME MaxTab
VAR N, Max, i : ENTIER
VAR Tab (1 : N) : tableau ENTIER
DEBUT
Max ⟵ Tab(1)
POUR i ⟵2 JQA N
Si Tab(i) > Max ALORS
Tab(i) ⟵ Max
FSI
FPOUR

4
AFFICHER (’’ Le maximum des nombres suivants : ‘’)
POUR i ⟵ 1 JQA N
AFFICHER Tab(i)
FPOUR
AFFICHER (’’est’’, Max)
FIN
Exercice 2.
a. Ecrire un algorithme qui détermine le minimum d’un tableau. La recherche peut
se faire dans un tableau qui contient des caractères.
b. Ecrire un programme qui permet de lire 100 notes et de déterminer le nombre
de celles qui sont supérieures à la moyenne.
2. TABLEAU DYNAMIQUE
2.1. Ajouter ou supprimer un élément dans un tableau

Il arrive fréquemment que l’on ne connaisse pas à l’avance le nombre d’éléments que
devra comporter un tableau. Bien sûr, une solution consisterait à déclarer un tableau
avec une taille très grande. Cela pourra avoir comme conséquence soit que cette taille
ne nous nous suffira pas ou qu’une place mémoire immense sera réservée sans être
utilisée. Afin de surmonter ce problème on a la possibilité de déclarer le tableau sans
préciser au départ son nombre d’éléments. Ce n’est que dans un second temps, au cours
du programme, que l’on va fixer ce nombre via une instruction de redimensionnement.
Que nous notons : Redim.

Exemple. On veut saisir des notes pour un calcul de moyenne, mais on ne sait pas
combien il y aura de notes à saisir. Le début de l’algorithme sera quelque chose du
genre :
Tableau Notes () : Réel
VAR nb : ENTIER
DEBUT
Ecrire “Combien y a-t-il de notes à saisir ?“
Lire (nb)
Redim Notes(nb-1)

FIN

2.2. Insertion et suppression d’un élément dans un tableau


1. Soit T un tableau de 35 éléments. Ecrire un programme qui permet
d’insérer un élément x à la position i du tableau T.
2. Soit T un tableau de N éléments. Ecrire un programme qui permet de
supprimer un élément x du tableau.

5
Solutions1. Soit une liste de termes informatiques, contenus dans un tableau
ordonné suivant l’ordre alphabétique. Ce tableau contient 35 cases au total. Nous
voudrions ajouter un nouveau mot dans le répertoire. L’algorithme est :
ALGORITHEME AjouTab
VAR répertoire (1 :35) : TABLEAU CAR
VAR inddec, indins, fin : ENTIER
VAR mot : CAR
DEBUT
AFFICHER (’’Entier le mot à insérer dans le répertoire’’)
SAISIR (mot)
SI répertoire (35) < > ’’ ’’
ALORS AFFICHER (’’ Nous sommes désolé, le répertoire est complet’’)
SINON indins ⟵ 1
TANT QUE répertoire (indins) <mot et indins <35
indins ⟵indins + 1
FTQ
Fin ⟵indins
TANT QUE fin <35 et répertoire < > ’’ ‘’
fin ⟵fin+1
FTQ
POUR inddec ⟵fin +1 JQA indins PAS -1
POUR
répertoire (indins) ⟵ mot
FSI
FIN
Solution 2. LA suppression d’un élément dans un tableau peut se faire de deux
manières distinctes :
 En accédant directement à la case par le biais de l’indice
 En recherchant séquentiellement la case à supprimer à l’aide de son
contenu.
 En décalant d’une case vers la gauche tous les éléments qui suivent la case
à supprimer.
Soit le tableau suivant :

Koffi Mamadou Digbé Yapi Antoine Fabrice

Mettre à jour le tableau en tenant compte du fait que Digué a démissionné.

6
Koffi Mamadou Yapi Antoine Fabrice

L’algorithme est :
ALGORITHEME SuprimeElémTab
VAR Tab (1 :6) : TABLEAU CAR
VAR i, indémission : ENTIER
VAR mot : CAR
DEBUT
AFFICHER (’’Entier l’indice du démissionnaire’’)
SAISIR (indémission)
TANT QUE indémission < 1 ou indémission > 6
AFFICHER (’’ cette est impossible’’)
AFFICHER (’’ redonnez un numéro’’)
SAISIR (indémission)
FTQ
I ⟵indémission
TANT QUE i < 6
Tab(i) ⟵ Tab(i+1)
i⟵i+1
FTQ
Tab(6) ⟵” “
FIN
indins ⟵indins+1
FTQ
fin ⟵indins
TANT QUE fin <35 et répertoire < > ’’ ‘’
fin ⟵fin+1
FTQ
POUR inddec ⟵fin +1 JQA indins PAS -1
POUR
répertoire (indins) ⟵ mot
FSI
FIN
Ainsi, à force de supprimer les éléments dans un tableau, celui-ci contient un
certain nombre de cases vides du côté droit.
3. LES ALGORITHMES DE TRI
Trier les éléments d’un tableau revient à ordonner tous ces éléments selon
un ordre croissant ou décroissant.

7
Soit T un tableau de N éléments muni d’une relation d’ordre ≤. Trier ce tableau
c’est construire un algorithme qui devra satisfaire à la spécification suivante :
Pour chaque i  [1 , N-1] :T (i) ≤ T (i+1)
Il existe plusieurs méthodes de tri dont : le tri par sélection, le tri par bulle, le
tri par comptage, le tri par insertion, le tri par shell. Dans ce paragraphe on va
traiter les algorithmes de tri par sélection et tri par bulle .
3.1. Tri croissant par recherche successive des minima
Ce tri permet de faire remonter petit à petit un élément trop grand vers la fin
du tableau en comparant les éléments deux à deux.
Si un élément d’indice i est supérieur à un élément d’indice i+1 on les échange et
on continue avec le suivant. Lorsqu’on atteint le fin du tableau on repart du début.
On s’arrête lorsque tous les éléments du tableau sont bien placés c'est-à-dire
qu’on n’aura aucun changement d’éléments à effectuer. Soit l’algorithme de tri
croissant :
ALGORITHME TriCroissant
TABLEAU T(N) : ENTIER
VAR j , nc,z : ENTIER
DEBUT
REPETER
nc ← 0
POUR j = 1 A (N-1)
SI T(j) > T(j+1) ALORS
nc ← nc +1
z ← T(j)
T(j) ← T(j+1)
T(j+1) ← z
FIN SI
FIN POUR
JQA nc = 0
FIN

Exemple d’illustration des étapes de l’algorithme. Soit le tableau suivant :

52 10 1 25

Boucle REPETER Etat du tableau Valeur de nc


10 52 1 25
Itération 1 10 1 52 25 3
10 1 25 52
1 10 25 52
Itération 2 1 10 25 52 1
1 10 25 52
Itération 3 1 10 25 52 0

8
Exercice. Ecrire un algorithme qui effectue le tri décroissant.
3.2. Tri par bulle Principe
Le principe du tri à bulles est de comparer deux valeurs adjacentes et d'inverser
leur position si elles sont mal placées. Alors, qu'entend-t-on par "mal placé" ?
C'est très simple et surtout, c'est logique : si un premier nombre x est plus grand
qu'un deuxième nombre y et que l'on souhaite trier l'ensemble par ordre
croissant, alors x et y sont mal placés et il faut les inverser. Si, au contraire, x
est plus petit que y, alors on ne fait rien et l'on compare y à z, l'élément suivant.
C'est donc itératif. Et on parcourt ainsi la liste jusqu'à ce qu'on ait réalisé n-1
passages (n représentant le nombre de valeurs à trier) ou jusqu'à ce qu'il n'y ait
plus rien à inverser lors du dernier passage.

ALGORITHME TriBulle
VAR T (1 :30) : ENTIER
Var j , inter : ENTIER
VAR échange : BOOLEEN

DEBUT
REPETER
échange ← faux
POUR j = 1 JQA (29)
SI T(j) > T(j+1)
ALORS échange ← vrai
Inter ← T(j)
T(i ← T(ji1)
T(i+1) ← inter

FIN SI

FIN POUR
JUSUQU’A non échange
FIN

Exemple : soit la liste (5, 4, 2, 3, 7, 1), appliquons le tri à bulles sur cette liste d'entiers.
Visualisons les différents états de la liste pour chaque itération externe contrôlée par l'indice i
:

LES TABLEAUX MULTIDIMENSIONNELS

3.3. Tableau à deux dimensions


Nous avons vu qu’un tableau à une dimension correspond à une liste ordonnée de
valeurs, repérée chacune par un indice.
Dans tous les langages de programmation, il est possible de définir des tableaux à deux
9
dimensions (permettant par exemple de représenter des matrices). Ainsi, on pourra
placer des valeurs dans un tableau à deux dimensions et cela consiste comme dans le
cas des tableaux à une dimension à donner un nom à l’ensemble de ces valeurs. Chaque
valeur est alors repérée par deux indices qui précisent la position. On déclare un
tableau à deux dimensions de la façon suivante :
Tableau nom_tableau (i , j ) : Type
nom_tableau : désigne le nom du tableau
i : désigne le nombre de lignes du tableau
j : désigne le nombre de colonnes du tableau
Type : représente le type des éléments du tableau

Exemple. Soit T (3 , 5) un tableau d’entiers. On peut représenter graphiquement par :


T T
( (
3
,
4
)
T
(
T (1 , 4) et T(3 , 4) sont deux éléments du
3 tableau. Entre parenthèse on trouve les
valeurs des indices séparées par une virgule.
, Le premier sert à repérer le numéro de
4
la ligne, le second le numéro de la colonne.
)
On accède en lecture ou en écriture à la valeur d’un élément d’un tableau à deux
dimensions en utilisant la syntaxe suivante :
Nom_tableau (i , j)
Par exemple si T est défini par : Tableau T ( 3 , 2) : Réel
 T (2 , 1) ← -1.2
met la valeur -1.2 dans la case 2,1 du tableau
 En considérant le cas où a est une variable de type Réel, a ← T (2 , 1)met -1.2
dans a
Par extension, on peut aussi définir des tableaux à n dimensions. Leur déclaration
sera à l’image de celle des tableaux à deux dimensions, c’est- à- dire :
Tableau nom_tableau (i , j , k , ….) : Type
Par exemple :
Tableau X (10 , 9 , 5) : Entier
Ainsi que leur utilisation :
 X (2 , 1 , 3) ← 10
 a ← X (2, 1 , 3)

Exercices. Considérons le programme suivant :


Tableau X (2 , 3) : Entier Variables i , j , val : Entiers

10
DEBUT
val ← 1
POUR i = 1 A 2
POUR j = 1 A 3
X (i , j) ← val
val ← val + 1
FIN POUR FIN POUR
POUR i = 1 A 2
POUR j = 1 A 3
Ecrire X (i , j)
FIN POUR
FIN POUR

Que produit l’exécution de ce programme ?


Que produira ce programme si l’on remplace les derniers lignes par :
POUR j = 1 A 3
POUR i = 1 A 2
Ecrire X (i , j)
FIN POUR
FIN POUR
Quel résultat fournira ce programme :
TABLEAU X (4 , 2) : Entier
VAR k , m : ENTIER
DEBUT
POUR k = 1 à 4
POUR m = 1 à 2
X (k , m) ← k + m
FIN POUR
FIN POUR
POUR k = 1 à 4
POUR m = 1 à 2
SAISIR X (k , m)
FIN POUR
FIN POUR
FIN
Soit T (20 , 50) un tableau de réels. L’algorithme qui calcule la somme de tous les
éléments du tableau est :

TABLEAU T (20 , 50) : REEL


VAR i , j : ENTIER
VAR som : REEL
DEBUT
som ← 0
POUR i = 1 A 20

11
POUR j = 1 à 50
som ← som + T (i , j)
FIN POUR
FIN POUR
SAISIR (’’ La somme de tous les éléments du tableau est : ’’, som)
FIN

4. LES VECTEURS
4.1. Déclaration d’un tableau de type Vecteur
La déclaration du tableau se fait, comme toute variable, dans la partie VAR de
l’algorithme. Il est conseillé de créer un nouveau type pour les tableaux avant de
déclarer des variables. La syntaxe de déclaration d’un vecteur est le suivant.

syntaxe
TYPE
Nomtype = Tableau[<borne_inf> .. <borne_sup>] de <type_élément> ;
VAR
NomTableau : Nomtype ;
exemple
TYPE
Tab_Moy = Tableau[1..4] de réel ;
VAR
T : Tab_Moy ;
T peut être de la forme :

Chaque élément du tableau possède un indice avec lequel on peut accéder à l’élément. Par
exemple la case qui contient la valeur 5.0 est accessible grâce à son indice 3.
4.2. L’accès à un élément du vecteur
Pour accèder à un élément du tableau, il suffit de spécifier son indice.
syntaxe
<NomTableau>[<indice>]
Exemple
T[1]
T[4]
Ici, la valeur de T[1] est égale à 2.3 et la valeur de T[4] est 10.1
NB : Dans ce qui suit, on va utiliser l’exemple d’un tableau T d’entiers.
Le saisie et l’affichage d’un vecteur
Exemple d’algorithme de saisie d’un vecteur
ALGORITHME saisie_tableau
CONST
N : max ;
TYPE
TabEnt : Tableau [1..N] de Entier ;

12
VAR
T : TabEnt ;
I : entier ;
DÉBUT
Pour I de 1 à N faire
lire (T(I) ) ;
Pour
FIN

Exemple d’algorithme d’affichage d’un vecteur


ALGORITHME saisie_tableau
CONST
N : max ;
TYPE
TabEnt = Tableau [1..N] de Entier ;
VAR
T : TabEnt ;
I : entier ;
DÉBUT
Pour I de 1 à N faire
écrire (T(I) ) ;
FPour
FIN

4.3. La recherche d’un élément dans un vecteur


Il s’agit de chercher 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. Il y a plusieurs façons de faire. Dans ce cours, on va étudier
seulement deux :
 La recherche séquentielle : On parcours le tableau élément par élément et au
moment ou on trouve l’élément cherché on arrête le parcours et affiche l’élément.
 La recherche dichotomique : c’est une recherche plus optimisée qui minimise le
temps d’exécution de l’algorithme
Exemple d’algorithme de recherche séquentielle dans un vecteur
ALGORITHME Rech_Seq
CONST
N = 20 ;
TYPE
TabEnt = Tableau [1..N] de Entier ;
VAR
T : TabEnt ;
I : entier ;
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 *)

13
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
Fintq
Si (Trouve = Vrai) Alors
Écrire(X, ‘appartient à T’) ;
Sinon
Écrire (X,’ne se trouve pas dans T’) ;
FinSi
FIN
5. LES MATRICES
5.1. Déclaration d’une matrice
Un tableau à deux dimensions appelé également matrice est un vecteur dont le type de
base est Tableau. Il permet donc d’organiser des informations de même type en lignes
et en colonnes. Exemple Chaque élément de la matrice est repéré par deux indices :
son indice de ligne et son indice de colonne. Par exemple, la case dont la valeur est 5
est repérée par l’indice de ligne 2 et l’indice de colonne 1. Ainsi, chaque case est
identifiée uniquement à l’aide du couple (i, j) avec i représente le numéro de ligne et j
représente le numéro de colonne.
La syntaxe de déclaration d’une matrice est la suivante :
TYPE MATRICE = TABLEAU [1..<Nbr_Lig>, 1..<Nbr_Col>] DE <TYPE_ÉLEMENT_MATRICE> ;
VAR M : MATRICE ;

Exemple la déclaration de la matrice de l’exemple précédent est la suivante : exemple


TYPE Matrice = Tableau[1..4, 1..3] de Entier ;
VAR mat : Matrice ;
5.2. L’accès à un élément d’une matrice
Pour accèder à un élément d’une mmatrice, il suffit de spécifier ses indices de ligne et
de colonne.
syntaxe
<NomMatrice>[i, j]
exemple
mat[1, 3]
mat[4, 2]
Ici, la valeur de mat[1, 3] est égale à 8 et la valeur de mat[4, 2] est 1.
14
5.3. Le saisie et l’affichage d’une matrice

Une matrice est un ensemble de données de même type logées en mémoire


centrale et référencé par deux indices (les lignes et les colonnes). Une matrice
est caractérisée par:

 Le nom
 Le nombre de colonne
 Le nombre de ligne
 La taille de la matrice (nombre de ligne x nombre de colonnes)
 Le type des éléments de la matrice.

Chaque élément dans une matrice est caractérisé par le numéro de la ligne et le
numéro de la colonne.

Exemple d’algorithme de saisie d’une matrice


ALGORITHME saisie_tableau
CONST
Nbr_Lig : N1 ;
Nbr_Col : N2 ;
TYPE
Matrice : Tableau[1..4, 1..3] de Entier ;
VAR mat : Matrice ;
VAR I,J : ENTIER ;
DÉBUT
Pour I de 1 à Nbr_Lig Faire
Pour J de 1 à Nbr_Col Faire
Lire(M[I,J])
FPour
FPour
FIN

Exemple d’algorithme d’affichage d’une matrice


ALGORITHME saisie_tableau
CONST
Nbr_Lig : N1 ;
Nbr_Col : N2 ;
TYPE
Matrice : Tableau[1..4, 1..3] de Entier ;
VAR mat : Matrice ;
VAT I,J : entier ;
DÉBUT
Pour I de 1 à Nbr_Lig Faire
Pour J de 1 à Nbr_Col Faire
SAISIR(M[I,J])
15
FPour
FPour
FIN

Exercice. Ecrire un algorithme qui lit une valeur entière X saisie au clavier et cherche si
elle existe dans une matrice d’entiers de taille N*M.

Remarque. Un tableau est une structure de données qui permet de repérer simultanément
un ensemble de valeurs de mêmes types. Il existe plusieurs types de tableaux et le choix se
fait selon la nature du problème à résoudre.

16