Vous êtes sur la page 1sur 16

Leçon 4

Structures de données: les tableaux


Plan
1. Notion de structure de données
2. Tableau: définition et intérêts
3. Déclaration de tableau
4. Manipulation de tableaux
i. Opérations de base
ii. Opérations avancées

2
1) Notions de structures de données
Problématiques
1. Stocker les notes de 30 étudiants
• Opérations: trier de manière croissante ou décroissante, …

2. Dictionnaire: ensembles de mots et leurs définitions


• Type de données à stocker : chaines de caractères
• Opérations: retrouver un mot, insérer, modifier ou supprimer un mot

Quelle organisation des données facilite ces opérations?

3
1) Notions de structures de données (1)
Structure de données:
• est une manière d’organiser et de stocker les données
• Pour faciliter les opération sur ces données.

Algorithme Décrit l’organisation Structure de données


des données Tableaux
Décrit les traitements Données Listes chainées
sur les données Piles, Files, Fichiers,
Arbres, Graphes etc…

NB: L’organisation des données a des conséquences importantes sur les algorithmes 4
2) Tableau: définition et intérêts
Définition:
un tableau est une structure de données
qui regroupe
• un nombre fini de données de même type
• repéré au moyen d’indice entier.

Axe 1
Caractéristique: Un tableau se caractérise
par
• son nom (l’identifiant du tableau)
Axe 2
• sa taille (fixe): le nombre d’éléments
• sa dimension: le nombre d’axes pour
repérer les éléments du tableau
5
3) Déclaration de tableau
• Tableau à une dimension

Syntaxe 1: Variables nom_tab : Tableau [indmin..indmax] de type_élément

Exemple: Variables T1 : Tableau [1..50] d’entier ;


T2 : Tableau [5..6] de réel ;
T3 : Tableau [1..20] de caractère ;

• Les deux indices permettent de calculer le nombre d'éléments du tableau.

6
3) Déclaration de tableau (1)
• Tableau à une dimension
Syntaxe 2:
Type nom_type = Tableau [indmin..indmax] de type_élément
Variable nom_variable : nom_type ;

Exemple
Type note = Tableau [1..4] de réel ;
Variables n1, n2: note ;

7
3) Déclaration de tableau (2)
• Tableau à deux dimensions (ou Matrice)
Syntaxe :
Variables nom_tab : Tableau [ind1min..ind1max , ind2min..ind2max ] de type_élément

Exemple:
Variables T1 : Tableau [1..5, 1..3] d’entier ;
T2 : Tableau [2..4, 5..6] de réel ;

8
4) Manipulation de tableaux
Opérations de base: l’affectation, lecture/remplissage et l’affichage
1. Affectation
note[1] ← 20;
note[2] ← 12; note 20 12
Indice 1 2 3 4 5
note[3] ← Note[2]+10;

2. Lecture/Remplissage
Lire ( note[4] );

3. Ecriture/Affichage
Ecrire ( note[2] ) ; //Affiche 12
Ecrire(note[5]) ; // Affiche ?
9
4) Manipulation de tableaux (1)
Exemple : écrire un algorithme permettant de remplir un tableau de 5 entiers.
Algorithme remplissage_tableau
Variables tab :
Tableau[1..5]d’entier; Algorithme remplissage_tableau_avec_boucle
Début Variables j : entier ;
Ecrire("Entrer l’élément 1") tab : Tableau[1..5]d’entier ;
Lire (tab[1]); Début
Ecrire("Entrer l’élément 2")
Lire (tab[2]); Pour j DE 1 A 5 Faire
Ecrire("Entrer l’élément 3") Ecrire("Entrer l’élément", j)
Lire (tab[3]); Lire (tab[j]);
Ecrire("Entrer l’élément 4") FinPOUR
Lire (tab[4]);
Ecrire("Entrer l’élément5")
Lire (tab[5]); Fin

Fin 10
4) Manipulation de tableaux: exercices
Exercice 1: Exercice 2: écrire un algorithme qui remplit et
affiche un tableau de 20 notes.
Soit un tableau TAB à une dimension contenant les 9 entiers
suivants :
Exercice 3: Ecrire un algorithme permettant
de calculer la somme, le produit et la moyenne
1) Ecrire la déclaration de ce tableau. des éléments d’un tableau de 10 réels.
2) Trouvez les erreurs d’affectation dans la séquence
suivante :
Exercice 4: Reprendre l’exercice 2 en utilisant
TAB[1] ← 2 x TAB[1] les boucles TANTQUE et REPETER
TAB[10] ← 12 - TAB[9]
TAB[6] ← 2 / TAB[8]
TAB[8] ← 3 + TAB[11]
TAB[5] ← TAB[1] + TAB[5] Exercice 5: écrire un algorithme permettant de
TAB[2] ← TAB[1] div 3
TAB[1] ← TAB[1] + 5 remplir et afficher une matrice de chaines de
caractères de 6 lignes et 4 colonnes.
3) Donnez, quand c’est possible, les valeurs finales des
éléments de TAB
11
4) Manipulation de tableaux: Opérations avancés

• Opérations sur un tableau: on peut citer


o Trier les éléments d’un tableau (dans l’ordre croissant ou décroissant)
o Rechercher une valeur dans un tableau
o Mettre à jour les éléments d’un tableau
o Etc..

• Opérations entre les tableaux : on peut citer


o Comparaison de deux tableaux
o Addition de deux tableaux
o Multiplication de deux tableaux
o Etc…

12
4.1) Manipulation de tableaux: tri
On distingue plusieurs stratégies pour trier un tableau:
1. Tri par sélection
2. Tri par insertion
3. Tri rapide
4. Tri à bulle
5. Tri par fusion
6. Tri par tas
7. Etc…

13
4.1) Manipulation de tableaux: tri
1. Tri par sélection
Consiste à :
• chercher le plus petit élément du
tableau pour le mettre en première
position,
• puis de repartir du second élément
et d'aller chercher le plus petit
élément du tableau pour le mettre
en second,
• Et ainsi de suite, jusqu’au dernier.
etc...

14
4.1) Manipulation de tableaux: tri
1. Tri par sélection
Consiste à :
• chercher le plus petit élément du
tableau pour le mettre en première
position,
• puis de repartir du second élément
et d'aller chercher le plus petit
élément du tableau pour le mettre
en second,
• Et ainsi de suite, jusqu’au dernier.
etc...

15
4.2) Manipulation de tableaux: recherche

À suivre….

16

Vous aimerez peut-être aussi