Académique Documents
Professionnel Documents
Culture Documents
UMMTO
1. Comprendre la notion des vecteurs et des • Understand the concept of vectors and
matrices matrices
2. Savoir comment déclarer et accéder aux • Know how to declare and access
éléments d'un vecteur ou d'une matrice elements of a vector or matrix
3. Apprendre à manipuler des vecteurs et • Learn how to manipulate vectors and
des matrices matrices.
Chapitre 5 : Types structurés (vecteurs + matrices)
I. Définition
II. Les tableaux à une dimension (Vecteurs)
1. Définition
2. Déclaration
3. Accès aux éléments d’un vecteur
4. Manipulation des vecteurs
I. Définition Données
Semestre 1 Semestre 2
I. Définition
Son nom
Sa dimension (longueur de V)
Son type.
Chapitre 5 : Types structurés
II. Les tableaux à une dimension (Vecteurs):
1. Définition:
Exemple 01
N=6 : taille
1 2 3 4 5 6
V 12 14,5 15,75 20 06 10
V 12 14,5 15,75 20 06 10
01 Syntaxe:
Var nomTableau : Tableau[indiceMminimal .. indiceMaximal] de Type;
Exemple :
02 Syntaxe:
Type TypeTableau = Tableau[indiceMminimal .. indiceMaximal] de
Type;
Var nomTableau : TypeTableau;
Remarque
• Un vecteur doit avoir une taille fixe connue à la compilation.
• Cette taille peut être une valeur littérale ou une constante mais pas
une variable.
Chapitre 5 : Types structurés
II. Les tableaux à une dimension (Vecteurs):
3. Accès aux éléments d’un vecteur
Les éléments d'un vecteur V sont des variables indicées qui s'utilisent
exactement comme n'importe quelles autres variables classiques.
Exemple :
V1[ 2 ] 2;
T
TV;
T 20 5 4 12
Chapitre 5 : Types structurés
II. Les tableaux à une dimension (Vecteurs):
4. Manipulation des Vecteurs
4.2 Lecture (ou Remplissage) et Ecriture (ou Affichage) d’un vecteur
• On ne peut pas lire ou écrire un vecteur globalement
Lire(V) ; Ecrire(V) ;
Lecture Ecriture
Exemples d'application
Attention !
• 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 entre crochets.
Chapitre 5 : Types structurés
II. Les tableaux à une dimension (Vecteurs):
4. Manipulation des Vecteurs
4.3 Comparaison de deux vecteurs
Exercice
Ecrire l'algorithme qui permet de saisir deux tableaux à une
dimension et comparer si ils sont égaux.
Chapitre 5 : Types structurés
II. Les tableaux à une dimension (Vecteurs):
4. Manipulation des Vecteurs
4.4 Méthodes de recherche d’un élément dans un tableau
A) La recherche linéaire
B) La recherche dichotomique
II. Les tableaux à une dimension (Vecteurs):
4. Manipulation des Vecteurs
4.4 Méthodes de recherche d’un élément dans un tableau
A) La recherche linéaire (ou séquentielle : Cas où le tableau n’est
pas trié)
❑ Etant donné V un tableau à n éléments non triés et une valeur K du même
type que les éléments du tableau V, la recherche séquentielle ( linéaire)
consiste à vérifier si l’élément K apparait dans le tableau V. Pour cela, nous
examinons les éléments de V , un par un, en avançant dans le tableau
jusqu’à ce que nous rencontrions K ou jusqu'à la fin du vecteur .
❑ Dans ce type de recherche, chaque valeur du tableau V est visitée une par
une de manière ordonnée tout en vérifiant si la valeur souhaitée existe.
II. Les tableaux à une dimension (Vecteurs):
4. Manipulation des Vecteurs
4.4 Méthodes de recherche d’un élément dans un tableau
A) La recherche linéaire (ou séquentielle : Cas où le tableau n’est
pas trié)
Algorithme
Algorithme reche_sequentielle ;
Const N=10
Var V: Tableau[1 .. N] de entier;
K, i: entier ;
Début
Ecrire ( " Remplissage de V ");
Pour i 1 à N faire
Lire( V[i] ) ;
FinPour
Ecrire (" saisir la valeur de K ");
Lire (K);
4.4 Méthodes de recherche d’un élément dans un tableau
A) La recherche linéaire (ou séquentielle : Cas où le tableau n’est
pas trié)
Suite
// Recherche séquentielle
i 1;
TantQue (i <= N) ET (V[i]<>K) faire
ii+1;
Fin TanQue
Si ( i>N) alors
Ecrire (" l’’element " ,K, "n’existe pas dans V " );
Sinon
Ecrire (" l’’element ", K , " est à la position ",i);
finSi
Fin
II. Les tableaux à une dimension (Vecteurs):
4. Manipulation des Vecteurs
4.4 Méthodes de recherche d’un élément dans un tableau
A) La recherche linéaire (ou séquentielle : Cas où le tableau est
trié)
21 33 34 36 40 52 55 58
1 2 3 4 5 6 7 8
Recherche dichotomique
• On suppose ici que l’on dispose d’un tableau trié par ordre croissant et
qu’on souhaite savoir si un élément fixé K figure ou non dans la liste.
4.4 Méthodes de recherche d’un élément dans un tableau
B) La recherche dichotomique
Principe
La recherche dichotomique consiste à comparer l’élément, ou un des deux
éléments, qui se trouve au centre de la liste avec l’élément recherché ;
Début
//le tableau est supposé déjà rempli et trié
⚫ Un tableau V est dit trié S’il est ordonné par ordre croissant ou
décroissant:
Algorithme
Algorithme tri_par_selection;
Const n=5;
Var V: tableau [1..n] de entier;
Vinter, i,j: entier;
Début
Pour i←1 à n faire
écrire ("Donner l''élément du tableau" , i);
Lire (V[i]);
FinPour
4. Manipulation des Vecteurs
4.5 Les algorithmes de tri
4.5.1 Tri par sélection
Pour i ← 1 à n-1 faire Suite
indmin ← i; // indmin : indice minimum
Pour j ← i +1 à n faire
Si V[j] < V[indmin] alors
indmin ← j;
FinSi
FinPour
Si indmin <> i alors
Vinter ← V[i]; // Vinter: variable intermédiaire
V[i] ← V[indmin];
V[indmin] ← Vinter;
FinSi
FinPour
4. Manipulation des Vecteurs
4.5 Les algorithmes de tri
4.5.2Tri par insertion
Principe de tri par insertion
Pour i ← 2 à n faire
Vint ← V[i] ; // mémoriser V[i] dans Vint
j ← i -1;
tant que (j >=1 et V[j] > Vint) faire // décaler les éléments
V[j+1] ← V[j ];
j ← j – 1;
Fintantque
V[j+1] ← Vint; // placer Vint dans le "trou" laissé par le décalage
Finpour
4. Manipulation des Vecteurs
4.5 Les algorithmes de tri
4.5.2Tri par insertion
Exemple :
42 20 17 13 28 14 23 15
4.5.2Tri par insertion
Exemple
42 20 17 13 28 14 23 15
i=2 20 42 17 13 28 14 23 15
i=3 17 20 42 13 28 14 23 15
i=4 13 17 20 42 28 14 23 15
i=5 13 17 20 28 42 14 23 15
i=6 13 14 17 20 28 42 23 15
i=7 13 14 17 20 23 28 42 15
i=8 13 14 15 17 20 23 28 42
4. Manipulation des Vecteurs
4.5 Les algorithmes de tri
4.5.3Tri à bulles Principe
jusqu'à (permut=faux);
Fin
4.5.3Tri à bulles
Exemple
Itération 1 42 20 17 13 28 14 23 15
20 42 17 13 28 14 23 15
20 17 42 13 28 14 23 15
20 17 13 42 28 14 23 15
20 17 13 28 42 14 23 15
20 17 13 28 14 42 23 15
20 17 13 28 14 23 42 15
20 17 13 28 14 23 15 42
4.5.3Tri à bulles
Exemple
Itération 2 20 17 13 28 14 23 15 42
17 20 13 28 14 23 15 42
17 13 20 28 14 23 15 42
17 13 20 28 14 23 15 42
17 13 20 14 28 23 15 42
17 13 20 14 23 28 15 42
17 13 20 14 23 15 28 42
17 13 20 14 23 15 28 42
4.5.3Tri à bulles
Exemple
Itération 3
17 13 20 14 23 15 28 42
13 17 20 14 23 15 28 42
13 17 20 14 23 15 28 42
13 17 14 20 23 15 28 42
13 17 14 20 23 15 28 42
13 17 14 20 15 23 28 42
13 17 14 20 15 23 28 42
13 17 14 20 15 23 28 42
4.5.3Tri à bulles
Exemple
Itération 4 13 17 14 20 15 23 28 42
13 17 14 20 15 23 28 42
13 14 17 20 15 23 28 42
13 14 17 20 15 23 28 42
13 14 17 15 20 23 28 42
13 14 17 15 20 23 28 42
13 14 17 15 20 23 28 42
4.5.3Tri à bulles
Exemple
Itération 5
13 14 17 15 20 23 28 42
13 14 17 15 20 23 28 42
13 14 17 15 20 23 28 42
13 14 15 17 20 23 28 42
13 14 15 17 20 23 28 42
13 14 15 17 20 23 28 42
13 14 15 17 20 23 28 42
4.5.3Tri à bulles
Exemple
Itération 6
13 14 15 17 20 23 28 42
13 14 15 17 20 23 28 42
13 14 15 17 20 23 28 42
13 14 15 17 20 23 28 42
13 14 15 17 20 23 28 42
13 14 15 17 20 23 28 42
13 14 15 17 20 23 28 42
T 12 5 9 8 20 5
Exemple: V 15 19 0 96 86 29 8 12 8
Fusionner
T et V
F 12 5 9 8 20 15 19 0 96 86 29 8 12
13
II. Les tableaux à une dimension (Vecteurs):
4. Manipulation des Vecteurs
4.6 Fusionner deux tableaux
V M éléments
F N+M éléments
Algorithme
Algorithme fusion; 01
Const N=10;
M=20;
Var T:tableau [1..N] de entier ;
V:tableau [1..M] de entier ;
F:tablau [1..N+M] de entier ;
i,j :entier ;
Début
//remplir les deux tableaux
II. Les tableaux à une dimension (Vecteurs):
4. Manipulation des Vecteurs
4.6 Fusionner deux tableaux
Suite
// Remplir le tableau T
Pour i 1 à N faire
Lire (T[i]);
FinPour
//Remplir le tableau V
Pour j 1 à M faire
Lire (V[j]);
FinPour
II. Les tableaux à une dimension (Vecteurs):
4. Manipulation des Vecteurs
4.6 Fusionner deux tableaux
//Remplir le tableau F
Pour i 1 à N faire Suite
F[i]T[i];
FinPour
i1;
JN+1;
Tantque (j<=N+M ET i<=M) Faire
F[j]V[i];
ii+1;
jj+1;
FinTantQue
Chapitre 5 : Types structurés
III. Les tableaux à deux dimensions (Matrices):
1. Définition
Un tableau à deux dimensions est une matrice, composée de lignes et
de colonnes.
Les éléments d’une matrice sont arrangés dans des cases référencées
par deux indices (indice de ligne et indice de colonne).
Chapitre 5 : Types structurés
III. Les tableaux à deux dimensions (Matrices):
1. Définition
Une matrice M(3,4) est représentée comme suit:
Nombre de lignes 3
Nombre de colonnes 4
M[2,4]
• Si le nombre de lignes est égal au nombre de colonne (égal à N), on dit que
la matrice est carrée de taille (ou d'ordre) N.
Syntaxe:
Var nomMatrice : Tableau[ indiceLigneMminimal .. indiceLigneMaximal,
indiceColonneMminimal .. indiceColonneMaximal ] deTypeDeDonnées;
Exemple:
On accède à chaque élément d’une matrice par deux indices, un indice pour
préciser le numéro de ligne et le second pour préciser le numéro de colonne.
Syntaxe:
nomMatrice[ indligne, indcolonne ];
Exemple :
A/ L’affectation
AM[2,3];
Lire( M[ 1, 1 ] ); M
C/ La consultation dans la matrice
Ecrire( M[ 1, 1 ] );
Chapitre 5 : Types structurés
III. Les tableaux à deux dimensions (Matrices):
4. Manipulation des éléments d’une matrice
Exemple
Suite
// Affichage des valeurs saisies
Pour i 1 à N Faire
// Répéter pour chaque ligne
Pour j1 à M Faire
/ / Répéter pour chaque colonne
Ecrire ("M[", i, ", ", j , "] = ") ;
Ecrire( M[ i, j ] );
FinPour
FinPour
Fin
Chapitre 5 : Types structurés
Exercice