TYPE TABLEAU
PARTIE 1 : VECTEURS
Réalisé par : OUZEGGANE Redouane Département de Technologie
Faculté de Technologie – Université A.Mira, Bejaia - Introduction
- Définition de la structure de tableau - Tableau à une dimensions (Vecteurs) - Problèmes à résoudre sur les
vecteurs.
- Tableau à deux dimension (Matrices) - Problèmes à résoudre sur les
matrices.
INTRODUCTION
Jusqu’ici, nous avons vu uniquement des variables de type simple (Entier, Réel, Caractère, …). (Un seul espace mémoire).
Les variables permettent de modéliser les données du problème à résoudre.
Calculer la moyenne d’une
classe de 5 étudiants
Analyser
Nous avons 5 étudiants
Chaque étudiant possède une moyenne
5 variables réelles m1, m2, m3, m4,m5 Moyenne de la casse :
M = (m1 +m2+m3+m4+m5)/5
Comment faire si nous avons 100 étudiants ?
C’EST QUOI LE TYPE TABLEAU (1/2) ?
Type Tableau permet au programme d’allouer (de réserver) un espace mémoire (dans la RAM) pour stocker N valeurs de même type.
Un Tableau est un ensemble de variables
Chaque variable du tableau représente un élément de ce dernier (cellule, case ou une composante du Tableau).
Ces éléments (cases du Tableau) sont accessibles par un indice.
Définition
Pour 100 variables réelles (moyennes)
m2
m1 m3 …… m9
9
m10 0
Un Tableau est une variable qui contient plusieurs valeurs
Chaque case est accédée par un (ou plusieurs) indice(s).
Un Tableau est une variable qui contient plusieurs valeurs
Chaque case est accédée par un (ou plusieurs) indice(s).
C’EST QUOI LE TYPE TABLEAU (2/2) ?
o
Problèmes nécessitant une représentation matricielle des données.
o
On utilise deux indices pour accéder à une valeur de la matrice.
o
Pour traiter les problèmes nécessitant une représentation vectorielle des données.
o
On utilise un seul indice pour accéder à une valeur du Vecteur.
Tableaux
Tableaux à 1 dimension (Vecteurs)
Tableaux à 2 dimensions
(Matrices)
TABLEAUX À UNE DIMENSION - VECTEUR
Syntaxe & Sémantique
Déclaration
<id_variable> : Tableau [<ii> .. <if>] de <type>;
<id_variable> : Array [<ii> .. <if>] of <type>;
<ii> : valeur de l’indice
initial <if> : valeur de l’indice
final
R.A.M. (Mémoire vive) e2
e
1e3 …… e
n-1e
nii+1
ii ii+2 …… if-1 if
n = if – ii + 1
ii = 1
TABLEAUX À UNE DIMENSION - VECTEUR
Syntaxe & Sémantique
Déclaration
T : Tableau [1 .. 50] de Réel;
T : Array [1 .. 50] of Real;
Remarques :
1 - Si <ii> = 1 donc <if> représente la taille (maximale) du vecteur.
2- Dans l’exemple ci-dessous 50 est la taille maximale du vecteur, donc, nous ajoutons une variable entière N qui représente le nombre de cases du vecteur qu’on veut utiliser. N sera déterminé par l’utilisateur (lecture).
N : entier;
N : integer;
TABLEAUX À UNE DIMENSION - VECTEUR
Syntaxe & Sémantique
R.A.M.
v
2v
1v
3…… v
49v
502
1 3 …… 49 50
v
N……
……
N
Taille maximale du Vecteur Taille à utiliser Pour
le vecteur
Si on veut mettre la valeur (-52) dans la case N°3 du Vecteur T :
T[3] -52
T =
-52
TABLEAUX À UNE DIMENSION - VECTEUR
Syntaxe & Sémantique
Lecture Lire(N);
pour i 1 à N faire Lire( T[i] )
fin-pour
Remarques :
1 - la variable i, le compteur de la boucle pour, sert comme indice pour accéder au i
èmeélément du vecteur T.
2- Le premier élément : T[1], le deuxième T[2] , … le i
èmeest : T[i].
3- Pour i 1 à N faire lire(T[i]) permet la lecture des cases : T[1], T[2], …., T[N].
Read(N);
for i := 1 to N do
begin
Read( T[i] );
end ;
TABLEAUX À UNE DIMENSION - VECTEUR
Syntaxe & Sémantique
Ecriture
pour i 1 à N faire Ecrire ( T[i] )
fin-pour
for i := 1 to N do
begin
Write( T[i] );
end ;
TABLEAUX À UNE DIMENSION - VECTEUR
Syntaxe & Sémantique
Lecteur & Ecriture d’un vecteur de type réel
Algorithme Vecteur_lec_ecr Variables
T : Tableau [1..50] de réel N, i : entier
Début Lire(N)
pour i 1 à N faire Lire ( T[i] )
fin-pour
pour i 1 à N faire Ecrire ( T[i] )
fin-pour Fin.
Program Vecteur_lec_ecr;
Uses wincrt;
Var T : Array [1..50] of real;
N, i : integer;
Begin
{Lecture du Vecteur T}
Read(N);
for i := 1 to N do Read (T[i]);
{Affichage du Vecteur T}
for i := 1 to N do
Write ( T[i] )
End.
TABLEAUX À UNE DIMENSION - VECTEUR
Problèmes sur les vecteurs
Somme et la moyenne des éléments d’un vecteur.
Inverser les éléments d’un vecteur (le résultat dans un autre vecteur, ou dans le même vecteur).
La recherche de l’élément minimum (et/ou maximum) dans un vecteur et leurs positions (leurs indices).
Tri d’un vecteur (Ordre croissant ou décroissant)
La recherche d’un élément dans un vecteur
La somme et produit cartésien de deux vecteurs.
Ajouter une même valeur à tous les éléments d’un vecteur
Compter le nombre d’éléments (pairs, impaires, divisibles par …)