Vous êtes sur la page 1sur 6

06/11/2021

LE TYPE TABLEAU
Université de Sousse
Institut Supérieur des Sciences Appliquées et de Technologie de Sousse

• Plan du chapitre :
I. Définition

Algorithmique et structures II. Les tableaux à une dimension (Vecteur)


III. Techniques utilisées avec les tableaux

de données IV. Les tableaux a deux dimensions (Matrice)


V. Méthodes de tri

CHAPITRE 5 : LE TYPE TABLEAU

Année universitaire 2020 – 2021

I. Introduction : I. Introduction :

• Un tableau est une structure de données qui permet de regrouper un nombre fini Remarques :
d’éléments de même type.
• Un tableau est caractérisé par :
• Il y a deux types de tableaux :
 son nom.
• Les tableaux à une dimension appelés également Vecteurs.
 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.
• Les tableaux à deux dimensions appelés également Matrices.
• Un tableau est formé par un nombre fini de cases contigües (situé en mémoire
centrale).

• L’accès à un élément du tableau se fait à l’aide d’un indice.

1
06/11/2021

II. Les tableaux à une dimension : II. Les tableaux à une dimension :

1. Définition : 2. Représentation algorithmique :

• Un tableau unidimensionnel (ou vecteur) permet de ranger des éléments ou des Type:
Nomtableau = Tableau [borne_inf .. borne_sup] de type_élément
valeurs de même type. Var:
Nomvar : Nomtableau
• Il regroupe ces éléments dans une structure fixe et permet d’accéder à chaque Indice : entier

élément par l’intermédiaire de son rang ou indice. Exemple :


• On veut déclarer un tableau T de moyennes

 Tableau A : 1 30 80 41 91 27 43 19 Type:
Tab_Moy = Tableau [1..20] de réel
Var:
T : Tab_Moy
i : entier (* indice du tableau T *)

II. Les tableaux à une dimension : II. Les tableaux à une dimension :

• En mémoire, on va avoir une variable T comportant 10 cases. Remarques :

• Dans chaque case on place une valeur de type réel (la moyenne). • L’indice du tableau est de type entier.

01 02 03 04 05 06 07 08 09 10 • Il est préférable que cet indice soit initialisé à la valeur 1.


T 11.5 09.2 09.7 11.0 10.5 18.6
• La taille du tableau doit être connu à l’avance.

• Le premier élément de T contient la valeur 11.5 ; on note T[1] ←11.5 • 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
• Le deuxième élément de T contient la valeur 09.2 ; on note T[2] ← 09.2
tableau.
• D’une manière générale, le iè é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è case du tableau T.

2
06/11/2021

II. Les tableaux à une dimension : II. Les tableaux à une dimension :

b. Remplir un Tableau :
3 Opérations de base sur un tableau :
• Afin de représenter les différentes opérations sur le tableau, on prend l’exemple d’un tableau
d’entiers. Algorithme Remplir_Tableau
Const:
a. Initialisation d’un Tableau : N=30
Type:
Algorithme Initialisation_Tableau TableauEtudiant = Tableau [1..N] de entier
Const: Var:
N=30 Tetud : TableauEtudiant
Type: i: entier
TableauEtudiant = Tableau [1..N] de entier Début
Var: Pour i de 1 à N faire
Tetud : TableauEtudiant Lire (T[i])
i: entier Finpour
Début Fin
Pour i de 1 à N faire
T[i] ← 0
Finpour  Attention:
Fin Lire(T[i]) consiste à entrer une valeur à partir du clavier et la mémoriser dans la ième case du tableau.

II. Les tableaux à une dimension : II. Les tableaux à une dimension :

c. Affichage des éléments d’un tableau : d. Addition des éléments de deux tableaux :
• Pour afficher les éléments d’un tableau, on utilise l’algorithme suivant: • Etant donnée de deux tableaux Tab1 et Tab2 et on veut calculer la somme élément par élément.
• Ça consiste à additionner les éléments de même indice et les mémoriser dans un tableau Tab3.
Algorithme Affichage_Tableau
• Condition nécessaire : Tab1 et Tab2 de même taille.
Const:
N=30
Type: Algorithme Addition_Tableaux
TableauEtudiant = Tableau [1..N] de entier Const:
Var: N=60
Tetud : TableauEtudiant Type:
i: entier TableauEnt = Tableau [1..N] de entier
Début Var:
Pour i de 1 à N faire Tab1, Tab2, Tab3 : TableauEnt
Écrire (T[i]) i: entier
Finpour Début
Fin Pour i de 1 à N faire
Tab3[i] ← Tab1[i]+Tab2[i]
Finpour
Fin

3
06/11/2021

II. Les tableaux à une dimension : III. Techniques utilisées avec les tableaux :

e. Multiplication des éléments de deux tableaux : 1. Recherche dans un tableau :


a. Introduction :
Algorithme Multiplication_Tableaux • Pour rechercher un élément dans un tableau, on présente deux différentes méthodes:
Const:
N=60
 La recherche séquentielle.
Type:
TableauEnt = Tableau [1..N] de entier
 La recherche dichotomique : C’est une recherche plus optimisée que la recherche
Var:
Tab1, Tab2, Tab3 : TableauEnt séquentielle mais il y a des précautions et des actions préalables à faire.
i: entier
Début
Pour i de 1 à N faire
Tab3[i] ← Tab1[i]*Tab2[i]
Finpour
Fin

III. Techniques utilisées avec les tableaux : III. Techniques utilisées avec les tableaux :

Algorithme Recherche_Séquentielle
1. Recherche dans un tableau : Const: 1. Recherche dans un tableau :
N=40
b. Recherche Séquentielle : Type: c. Recherche Dichotomique :
TableauEnt = Tableau [1..N] de entier
Var: Pour appliquer la recherche dichotomique, il faut que :
Tab : TableauEnt
i, X: entier  le tableau T soit Rempli
B : Booléen
Début  le tableau T soit Trié.
Lire (X)
i←1  Cette recherche réduit le temps de recherche d’un élément dans un tableau trié.
B ← Faux
Tant que (i<= N) et (B = Faux) faire On commence par comparer l’élément X à chercher avec le contenu de l’élément du milieu :
Si (T([i] <> X) alors
i←i+1  si X est inférieur à cette valeur alors on doit continuer la recherche dans la partie gauche du
Sinon
B ← vrai
tableau avec la modification du borne supérieure,
Finsi
Fin tant que
 sinon on continue la recherche dans la partie droite du tableau avec modification de la valeur de
Si (B = vrai) alors la borne inférieure.
Écrire (X, "appartient à T")
Sinon On s’arrête lorsque X est égale à la valeur du milieu ou quand on dépasse les bornes du tableau.
Ecrire (X, "ne se trouve pas dans T")
Finsi
Fin

4
06/11/2021

III. Techniques utilisées avec les tableaux : III. Techniques utilisées avec les tableaux :

1. Recherche dans un tableau : 2. Comparaison de deux Tableaux :


c. Recherche Dichotomique : • On doit s’assurer que les deux tableaux ont le même type et de même taille.
Algorithme Comparaison
Algorithme Recherche_Dichotomique • La comparaison se fait élément par élément. Const:
Const:
N=10
N=40 Type:
Type: TableauEnt = Tableau [1..N] de entier
TableauEnt = Tableau [1..N] de entier
Var:
Var: Tab1, Tab2 : TableauEnt
Tab : TableauEnt
i : entier
i,inf, sup, milieu, X: entier B: Booléen
Début Début
Lire (X) i←1
inf ← 1 B ← vrai
sup ← N Tant que ( i <= N ) et ( B = vrai ) faire
Répéter Si (Tab1[i] <> Tab2(i)) alors
mil ← (inf + sup) div 2 B ← faux
Si (X < T(mil) alors Sinon
sup ← mil - 1 i←i+1
Sinon Finsi
inf ← mil + 1 Fin Tant que
Finsi Si (B= vrai) alors
Jusqu’à (X = T[mil] ou (inf > sup) Ecrire ("Tab1 et tab2 sont similaires")
Fin Finsi
Fin

IV. Les Tableaux à deux dimensions : Les Matrices IV. Les Tableaux à deux dimensions : Les Matrices

1. Définition:
• Le tableau à deux dimensions ou matrice est une structure de données permettant d’organiser Remarques :
des informations ayant le même type en lignes et en colonnes.
• Le Type_Elément de la matrice peut être simple ou structuré.
• Cette structure est caractérisé par son nombre de lignes et son nombre de colonnes.
2. Représentation Algorithmique : • L’accès à un élément de la matrice se fait avec deux indices.

Const: • Un élément est identifié par son numéro de ligne et son numéro de colonne.
Nbre_ligne = 30
Nbre_colonne=20 • Si Mat est la matrice, Mat[i,j] désigne l’élément de Mat situé à la iè Ligne et à la jè Colonne.
Type:
Matrice = Tableau [1..Nbre_ligne, 1..Nbre_colonne] de type_élément
Var:
Mat: Matrice
i,j:entier

5
06/11/2021

IV. Les Tableaux à deux dimensions : Les Matrices IV. Les Tableaux à deux dimensions : Les Matrices

3. Opérations de base sur une Matrice : c. Parcourir une matrice :


• Afficher tous les éléments de la matrice Mat:
• On suppose que le Type_Elément de la matrice est Entier.
a. Initialiser une matrice : Pour i de 1 à nbre_ligne faire
Pour i de 1 à nbre_ligne faire Pour j de 1 à nbre_colonne faire
Pour j de 1 à nbre_colonne faire Ecrire (Mat[i,j])
Mat[i,j] ← 0 Finpour
Finpour Finpour
Finpour
d. Additionner deux matrices :
b. Remplir une matrice : Condition nécessaire: les deux matrices Mat1 et Mat2 doivent avoir le même type et la même
Pour i de 1 à nbre_ligne faire taille.
Pour j de 1 à nbre_colonne faire Pour i de 1 à nbre_ligne faire
Lire (Mat[i,j]) Pour j de 1 à nbre_colonne faire
Finpour Mat3[i,j] ← Mat1[i,j]+Mat2[i,j]
Finpour Finpour
Finpour

Vous aimerez peut-être aussi