04/01/2019
Université Abdelmalek Essaâdi
Ecole nationale des sciences appliquées d’Al Hoceima
(ENSAH)
Algorithmique Les tableaux
Préparé et présenté par
Mr. Ouazzani Chahdi
Année universitaire: 2018/2019
1 04-Jan-19 2
Algorithme Moyenne
1-Présentation Variable note, som, moy : Réel
On veut élaborer un algorithme Moyenne_Notes qui permet de N, i : Entier
calculer la moyenne d’une série de notes saisie au clavier. Il doit Début
aussi afficher cette série en sa totalité. Ecrire("Donnez la taille de la série :")
On commencera par l’opération la plus simple, c’est le calcul de la Lire(N)
moyenne, pour cela : Som 0
Tout d’abord, on doit demander à l’utilisateur la taille de la
Pour i allant de 1 Jusqu’à N Faire
série; Ecrire("Donnez la note ", i)
Lire(note)
On invite l’utilisateur à saisir les notes de la série et au fur et à
mesure, on calcule la somme. Som som + note
FinPour
On calcule la moyenne.
moy som/N
Et finalement, on affiche le résultat à l’écran.
Ecrire("La moyenne est : ", moy)
On commence par un premier algorithme Moyenne : Fin
3 4
Maintenant, si on veut en plus du calcul de la moyenne, afficher La solution est de trouver une structure qui nous permet
les notes de la série à l’écran, on doit procéder comment ? d’enregistrer cette série de notes sans connaitre à l’avance le
Pour que ça soit réalisable, on doit tout d’abord enregistrer les nombre N.
notes saisies. De tel sorte que le traitement lié à une note sera écrit une seule
Et pour les enregistrer, on aura besoin de N variables, par exemple, fois dans l’algorithme et par la suite appliqué à toutes les notes
si N = 4, alors on aura besoin des variables note1, note2, note3, de la série.
note4. Cette structure consiste à rassembler toutes les notes de la série
Le problème, c’est que le nombre N n’est pas connu à l’avance, en une seule variable, par exemple Notes.
alors on ne peut pas savoir à l’avance le nombre de variable à Et par la suite, chaque note sera récupérée par un indice i, par
manipuler. exemple Notes[0], Notes[1], Notes[2],….
Et si on suppose que N est connu à l’avance, par exemple 30, alors Cette structure n’est rien autre qu’un Tableau.
on aura besoin des variables note1, not2, … , note30. En algorithmique il existe deux types de tableaux les plus utilisés :
Et dans ce cas là, le traitement pour une note sera réécrit 30 fois
Tableaux à une seul dimension;
dans le même algorithme.
Tableaux à deux dimensions.
5 6
Pr. OUAZZANI CHAHDI 1
04/01/2019
2-Définition 3-Tableau à une seule dimension
Un tableau est une structure de données regroupant un ensemble En algorithmique, un tableau d’une seule dimension sert à
de variables de même type, désignées par un même nom et représenter un vecteur de données de même type.
distinguées les unes des autres par leurs numéros appelés indices. 3.1- Déclaration
Cette structure permet d'effectuer un même traitement sur des Syntaxe : Tableau NomTableau[Taille] : Type
données de même types.
• NomTableau : le nom du tableau
Exemple: • Taille : un entier naturel représentant le nombre d’éléments du
Les indices du tableau Notes
tableau
• Type : le type des éléments du tableau
0 1 2
Tableau Exemple:
Notes 12 13.8 10 …………. 18.5
Tableau T[10] : Entier : tableau de 10 éléments de type Entier;
Notes[0] Notes[1] Notes[2] Tableau tab[5] : Caractère : Tableau de 5 éléments de type Caractère;
La déclaration d’un tableau à une seule dimension est placée dans
Les éléments du tableau Notes le bloc de déclaration d’un algorithme.
7 8
3.2- Accès aux éléments 3.3- Saisie et parcours des éléments
Pour accéder à l’élément de l’indice i dans un tableau T, on utilise On considère un tableau T de N éléments de type X.
la syntaxe T[i]. Pour la saisie des éléments, on utilise la boucle suivante :
Les indice d’un tableau de N éléments varient de 0 à N-1. Pour i allant de 0 Jusqu’à N-1 Faire
Exemple: Lire(T[i])
On considère un tableau T de 5 éléments de type entier : FinPour
0 1 2 3 4 Pour l’affichage des éléments, on utilise la boucle suivante :
4 7 3 8 11 Pour i allant de 0 Jusqu’à N-1 Faire
Ecrire(T[i], " ")
Ce tableau contient 5 éléments qui sont : 4, 7, 3, 8 et 11; FinPour
Ses indices commence de 0, il sont 0, 1, 2, 3 et 4;
Le premier élément du tableau est T[0]; Exemple:
Le dernier élément du tableau est T[4]; Ecrivez un algorithme Affichage_Tableau qui lit 10 valeurs
T[1] = 7 et T[3] = 8; entières au clavier et puis les affiche à l’écran.
4 se trouve à l’indice 0 et 3 se trouve à l’indice 2.
9 10
Algorithme Affichage_Tableau Ecrivons l’algorithme Moyenne_Notes :
Variable i : Entier Algorithme Notes_Moyenne
Variable som, moy : Réel
Tableau T[10] : Entier N, i : Entier
Début Tableau Notes[50] : Entier
Pour i allant de 0 Jusqu’à 9 Faire
Début
Ecrire("Donnez N (N <= 50) :")
Ecrire("Donnez la valeur ", i+1) Lire(N)
Lire(T[i]) Som 0
Pour i allant de 0 Jusqu’à N-1 Faire
FinPour Ecrire("Donnez la note ", i+1)
Ecrire("Les valeurs que vous avez saisies Lire(Notes[i])
Som som + Notes[i]
sont : ") FinPour
Pour i allant de 0 Jusqu’à N-1 Faire moy som/N
Ecrire(T[i] , " ") Ecrire("La moyenne est : ", moy)
Ecrire("Les notes que vous avez saisies sont :")
FinPour Pour i allant de 0 Jusqu’à N-1 Faire
Fin Ecrire(Notes[i], " ")
FinPour
11 12 Fin
Pr. OUAZZANI CHAHDI 2
04/01/2019
4.1- Déclaration
4-Tableau à deux dimensions
Syntaxe : Tableau NomTableau[N,M] : Type
En algorithmique, un tableau à deux dimensions sert à représenter
• NomTableau : le nom du tableau
une matrice de données de même type.
Il se compose d’un nombre de lignes N et de colonnes M. • N : un entier naturel représentant le nombre de lignes;
• M : un entier naturel représentant le nombre de colonnes;
Les colonnes du tableau
• Type : le type des éléments du tableau.
0 1 ………… M Exemple:
0 ……………………... Tableau T[3, 4] : Entier : tableau de type Entier de 3 lignes et de 4
colonnes;
1 ……………………...
Tableau tab[2, 5] : Caractère : Tableau de type Caractère, de 2 lignes
Les lignes
. . . ……………………... .
et de 5 colonnes;
. .
du tableau
. .
. ……………………... .
. .
. ……………………... . La déclaration d’un tableau à deux dimensions est placée dans le
.
. bloc de déclaration d’un algorithme.
N ……………………...
13 14
4.2- Accès aux éléments 4.3- Saisie et parcours des éléments
On considère un tableau T de type X, de N lignes et de M
Pour accéder à l’élément de l’indice (i,j) dans un tableau T, on
colonnes.
utilise la syntaxe T[i, j]. Pour la saisie et l’affichage des éléments on utilise une imbrication
Les indices d’un tableau à deux dimensions de N lignes et de M de deux boucles Pour…Jusqu’à… :
colonnes varient de (0,0) à (N-1, M-1). Saisie :
Pour i allant de 0 Jusqu’à N-1 Faire
Exemple:
Pour j allant de 0 Jusqu’à M-1 Faire
On considère un tableau T de type Entier, de 3 lignes et de 4 Lire(T[i, j])
colonnes. FinPour
Ses indices sont (0,0), (0,1), … , (2,3) FinPour
Le premier élément du tableau est T[0,0] Affichage:
Le dernier élément est T[2, 3] 0 1 2 3 Pour i allant de 0 Jusqu’à N-1 Faire
Pour j allant de 0 Jusqu’à M-1 Faire
27 se trouve à l’indice (1,1). 0 2 9 0 10
1 7 27 6 18 Ecrire(T[i, j])
FinPour
2 1 8 3 13
FinPour
15 16
Exemple:
Ecrivez un algorithme Affichage_Matrice qui remplie une matrice de 10
lignes et de 8 colonnes par des valeurs entières saisies au clavier, puis
les affiche à l’écran,
Algorithme Affichage_Matrice
Variable i, j : Entier
Tableau T[10, 8] : Entier
Début
Pour i allant de 0 Jusqu’à 9 Faire
Pour j allant de 0 Jusqu’à 7 Faire
Ecrire("Donnez la valeur (",i,",",j,")")
Lire(T[i,j])
FinPour
FinPour
Pour i allant de 0 Jusqu’à 9 Faire
Ecrire("Les éléments de la ligne ", i+1)
Pour j allant de 0 Jusqu’à 7 Faire
Ecrire(T[i,j], " ")
FinPour
FinPour
17 Fin
Pr. OUAZZANI CHAHDI 3