ALGORITHMIQUE
A.U. 2020-2021
(SUPPORT DE COURS)
Réseaux et Telcommunication
INSTITUT UNIVERSITAIRE PROFESSIONNEL
(IUP)
Pr. Moustapha Mohamed Saleck E-mail : saleck,moustapha@gmail,com
2
Chapitre V
Les Tableaux
3
Tableaux : introduction
▪ Supposons que l'on veut calculer le nombre d’étudiants ayant
une note supérieure à 10 pour une classe de 20 étudiants.
▪ Jusqu’à présent, le seul moyen pour le faire, c’est de déclarer
20 variables désignant les notes N1, …, N20:
• La saisie de ces notes nécessite 20 instructions lire(Ni).
• Le calcul du nombre des notes>10 se fait par une suite de
tests de 20 instructions Si :
nbre ← 0;
Si (N1 >10) alors nbre ←nbre+1 FinSi
…
Si (N20>10) alors nbre ←nbre+1 FinSi
cette façon n’est pas très pratique
4
Les Tableaux
▪ C’est pourquoi, les langages de programmation offrent la
possibilité de rassembler toutes ces variables dans une
seule structure de donnée appelée tableau qui est facile à
manipuler.
▪ Un tableau est un ensemble d'éléments de même type
désignés par un identificateur unique;
▪ Une variable entière nommée indice permet d'indiquer la
position d'un élément donné au sein du tableau et de
déterminer sa valeur.
5
Les Tableaux
▪ La déclaration d'un tableau s'effectue en précisant le type
de ses éléments et sa dimension (le nombre de ses éléments)
▪ En pseudo code :
variable tableau identificateur[dimension] : type
Exemple :
variable tableau notes[20] : réel
▪ On peut définir des tableaux de tous types : tableaux
d'entiers, de réels, de caractères, de booléens, de chaînes de
caractères, …
6
Les Tableaux
▪ Les tableaux à une dimension ou vecteurs :
variable tableau tab[10] : entier
▪ Ce tableau est de longueur 10, car il contient 10 emplacements.
▪ Chacun des dix nombres du tableau est repéré par son rang,
appelé indice.
▪ Pour accéder à un élément du tableau, il suffit de préciser
entre crochets l'indice de la case contenant cet élément. Pour
accéder au 5ème élément (22), on écrit : tab[4]
7
Les Tableaux
▪ Pour accéder au ième élément, on écrit tab[i-1] (avec 0<=i<10)
▪ Selon les langages, le premier indice du tableau est soit 0,
soit 1. Le plus souvent c'est 0 (c'est ce qu'on va utiliser en
pseudo_code).
▪ Dans ce cas, tab[i] désigne l'élément i+1 du tableau tab.
Remarques
▪ Un grand avantage des tableaux est qu'on peut traiter les
données qui y sont stockées de façon simple en utilisant des
boucles.
▪ Les éléments d’un tableau s’utilisent comme des variables.
8
Tableaux : accès et modification
▪ Les instructions de lecture, écriture et affectation
s'appliquent aux tableaux comme aux variables.
Exemples :
x ← tab[0];
La variable x prend la valeur du premier élément du tableau
(45 selon le tableau précédent).
tab[6] ← 43;
Cette instruction a modifié le contenu du 7ème élément du
tableau (43 au lieu de 49).
9
Relation entre tableaux et boucles
▪ Les boucles sont extrêmement utiles pour les algorithmes
associés aux tableaux.
▪ Pour parcourir les éléments du tableau selon l’ordre
croissant (ou décroissant) des indices, on utilise des
boucles.
▪ Le traitement de chacun des éléments étant souvent le
même, seule la valeur de l’indice est amenée à changer.
▪ Une boucle est donc parfaitement adaptée à ce genre de
traitements.
10
Les Tableaux : Exemple 1
▪ Pour le calcul du nombre d'étudiants ayant une note supérieure à 12
avec les tableaux, on peut écrire :
Constante N=20 : entier
Variables i, nbre : entier
tableau notes[N] : réel
Début
nbre ← 0;
Pour i←0 à N-1 faire
Si (notes[i] >12) alors
nbre ←nbre+1;
FinSi
FinPour
écrire ("le nombre de notes supérieures à 12 est : ", nbre);
Fin
11
Les Tableaux : Exemple 2
▪ Le programme suivant comporte la déclaration d’un tableau de
20 réels (les notes d’une classe), on commence par effectuer la
saisie des notes, et en suite on calcul la moyenne des 20 notes
et on affiche la moyenne
….
Constante Max =20: entier
variables tableau Notes[Max], i, somme, n : entier
moyenne : réel
Début
écrire("entrer le nombre de notes :");
lire(n);
12
Les Tableaux : Exemple 2
/* saisir les notes */
Pour i ← 0 à n-1 faire
ecrire("entrer une note :");
lire(Notes[i]);
Finpour
/* calculer la moyenne des notes */
somme ← 0 ;
Pour i ← 0 à n-1 faire
somme ← somme + Notes[i] ;
finPour
moyenne = somme / n;
/* affichage de la moyenne */
écrire("la moyenne des notes est :", moyenne)
fin
13
Tableaux : saisie et affichage
▪ Saisie et affichage des éléments d'un tableau :
Constante Max=200 : entier
variables i, n : entier
tableau Notes[max] : réel
écrire("entrer la taille du tableau :") ;
lire(n);
/* saisie */
Pour i ← 0 à n-1 faire
écrire ("Saisie de l'élément ", i + 1);
lire (T[i] );
FinPour
/* affichage */
Pour i ← 0 à n-1 faire
écrire ("T[",i, "] =", T[i]);
FinPour
Fin
14
Les tableaux : Initialisation
▪ Le bloc d’instructions suivant initialise un à un tous les
éléments d'un tableau de n éléments :
▪ InitTableau
début
Pour i ← 0 à n-1 faire
tab[i] ← 0;
Finpour
Fin
15
Tableaux : Exercice
▪ Que produit l’algorithme suivant ?
Variable Tableau F[10], i : entier
Début
F[0] ← 1;
F[1] ← 1;
écrire(F[0], F[1]);
Pour i ← 2 à 9 faire
F[i] ← F[i-1]+F[i-2];
écrire(F[i]);
Finpour
Fin