Algorithmique - Tableaux
Algorithmique - Tableaux
Algorithmique - Tableaux
5. Les tableaux
Sommaire
I. Tableaux statiques
Algorithme informatique
temps fini
Pseudo-code algorithmique
ALGORITHME nom_de_l’algorithme
<partie des déclarations>
DEBUT
<partie des instructions>
//commentaire
FIN
ALGORITHME nom_de_l’algorithme
<partie des déclarations>
DEBUT
séquence1
SI condition1 ALORS
séquence2
FINSI
séquence3
FIN
TANTQUE … FAIRE
POUR
RÉPÉTER … JUSQU’À
RÉPÉTER
instructions
JUSQU’À condition_arrêt
Désigné par
Son nom
N : taille du tableau
Premier indice : 0
Dernier indice : N – 1
Exemple :
VAR nombres[5] : entier
VAR lettres[26] : caractère
VAR mots[100] : chaîne
VAR absents[107] : booléen
Exemple :
nombres[0]
nombres[1]
nombres[2]
nombres[3]
nombres[4]
27 Algorithmique ESI 2021-2022
Utilisation de tableaux statiques
Pour affecter une valeur à une case du tableau, on
utilise son nom avec, entre parenthèses, l’indice
concerné puis le signe d’affectation et la valeur
Exemple :
nombres[0] 5
nombres[1] 60
nombres[2] 10
nombres[3] 0
nombres[4] 90
28 Algorithmique ESI 2021-2022
Utilisation de tableaux statiques
nombres[0] 5
nombres[1] 60
nombres[2] 10
nombres[3] 0
nombres[4] 90
0 1 2 3 4
5 60 10 0 90
Exemple
nombres[0]
nombres[i]
nombres[2*i+5]
ALGORITHME exemple_tableau
VAR tableau[10] , i : entier
DEBUT
POUR i 0 à 10
tableau[i] i
i SUIVANT
POUR i 0 à 10
Afficher(tableau[i])
i SUIVANT
FIN
ALGORITHME moyenne
VAR nombres[20] : réel
DEBUT
somme 0
POUR i 0 à 20
Afficher("Saisir le nombre numéro ", i+1)
Lire(notes[i])
i SUIVANT
POUR i 0 à 20
Afficher("Le ", i, "ème nombre est : ", nombres[i])
i SUIVANT
FIN
ALGORITHME moyenne
VAR nombres[20] : réel
DEBUT
somme 0
POUR i 0 à 20
Afficher("Saisir le nombre numéro ", i+1)
Lire(notes[i])
i SUIVANT
POUR i 20 à – 1 pas – 1
Afficher("Le ", i, "ème nombre est : ", nombres[i – 1])
i SUIVANT
FIN
Tableau dynamique
Exemple :
VAR nombres[ ] : entier
VAR lettres[ ] : caractère
VAR mots[ ] : chaîne
VAR absents[ ] : booléen
Exercice
VAR nombres[ ], min, max : réel
VAR n, nbPositifs : entier
DEBUT
nbPositifs 0
Afficher("Combien de nombre voulez-vous saisir ?")
Lire(n)
Redim nombres[n]
POUR i 0 à n
Afficher("Saisir le nombre numéro ", i)
Lire(nombres[i])
SI i = 0 ALORS
min nombres[i]
max nombres[i]
SINONSI nombres[i] < min ALORS
min nombres[i]
SINONSI nombres[i] > max ALORS
max nombres[i]
FINSI
SI nombres[i] >= 0 ALORS
nbPositifs nbPositifs + 1
FINSI
i SUIVANT
Afficher("Min = ", min, "Max = ", max, "Nb + = ", nbPositifs, "Nb − ", n − nbPositifs)
FIN
54 Algorithmique ESI 2021-2022
Exercice
Écrire un algorithme qui demande à l’utilisateur de
remplir deux tableaux (de même taille) puis qui
affiche le tableau contenant le produit des éléments
des deux
Tableau 2 5 60 10 0 90
Désigné par
Son nom
Sa taille n x m
Peut être assimilé à une matrice de n lignes et m colonnes
61 Algorithmique ESI 2021-2022
Déclaration de tableaux à 2 dimensions
Syntaxe
Exemple :
VAR nombres[5][5] : entier
VAR lettres[26][2] : caractère
VAR mots[1][10] : chaîne
VAR absents[107][30] : booléen
ALGORITHME tableau_2d
VAR notes[20][2] : réel
DEBUT
POUR i 0 à 20
Afficher("Saisir la 1ère note de l’étudiant N° ", i+ 1)
Lire(notes[i][0])
Afficher("Saisir la 2e note de l’étudiant N° ", i+ 1)
Lire(notes[i][1])
i SUIVANT
FIN
ALGORITHME tab_bool
VAR tab[5][10] : booléen
DEBUT
POUR i 0 à 5
POUR j 0 à 10
tab[i][j] VRAI
j SUIVANT
i SUIVANT
FIN
a x d e
b d x f
c e f x
Proposition ?
Parcourir le tableau
5. Les tableaux