Les Tableaux
Séance 6
Année universitaire 2020/2021 – Semestre 1
1
Éléments de contenu
LES TABLEAUX UNIDIMENTIONNELS
◼ Positionnement du problème
◼ Définition
◼ Déclaration
◼ Résolution d'un problème avec les tableaux
LES TABLEAUX BIDIMENTIONNELS
◼ Positionnement du problème
◼ Définition
◼ Déclaration
◼ Exemples
2
Les Tableaux unidimensionnels
Positionnement du problème
Supposons que nous souhaitons déterminer, à partir de 20
notes d'élèves (fournies en données), combien d'entre elles
sont supérieures à la moyenne de la classe.
S'il ne s'agissait que de calculer la moyenne de ces notes,
nous ayons calculé la somme, en les cumulant dans une
variable, au fur et à mesure de leur lecture.
il
Mais,
faudrait de nouveau consulter ces notes pour
déterminer combien d'entre elles sont supérieures à la
moyenne. Il est donc nécessaire de mémoriser ces notes. Il ne
serait pas raisonnable d'utiliser 20 variables différentes. Le
tableau offre une solution à ce problème.
3
Les Tableaux unidimensionnels
Définition
Un tableau est une structure linéaire de données constituée
d'un nombre fini d'éléments de même type. Un tableau
possède un identificateur et chaque élément du tableau est
repéré par un indice précisant sa position au sein du tableau.
Tableau Notes
Note [1] Note [2] Note [3]
…
Note [20]
1 2 3 .. 20
Advertisement
indice
4
Les Tableaux unidimensionnels
Définition
Tableau Notes
Note [1] Note [2] Note [3]
…
Note [20]
1 2 3 .. 20
indice
Un indice peut être une expression arithmétique par exemple : NOTE[i+2],
NOTE[2*i+j]
On notera un élément i du tableau T de la manière suivante T[i]
1er élément : T[1]
2ième élément T[2]
3ième élément T[3] etc.
Un élément du tableau est assimilable à une variable et prend, à un instant
donné, une valeur et une seule. De même, il peut faire l'objet d'une affectation,
il peut figurer dans une expression ou dans une action de lecture et écriture.
5
Les Tableaux unidimensionnels
Exemple 1
Soit un tableau T ayant N éléments entiers. Calculer la
somme de ses éléments.
…
Début
lire (N)
pour i de 1 à N faire
lire T[i]
fin pour
S 0
pour i de 1 à N faire
S S + T[i]
fin pour
écrire (S)
Fin
6
Les Tableaux unidimensionnels
Exemple 2
Soit un tableau Tab ayant M éléments entiers. Compter le
nombre d'éléments nuls.
Début
lire (M)
Advertisement
pour i de 1 à M faire
lire (Tab[i])
fin pour
NB 0
pour i de 1 à M faire
Si Tab[i] = 0 alors
NB NB + 1
fin si
fin pour
écrire (NB)
Fin
7
Les Tableaux unidimensionnels
Déclaration
Dans tous les langages,
interpréteur) doit nécessairement
d'éléments d'un tableau (sa taille).
le Traducteur
(compilateur ou
le nombre
connaître
l'emplacement
Cette information lui permet de réserver
mémoire correspondant. De même, comme pour une variable,
il faut préciser quel est le type d'un tableau et donc, le type de
tous ses éléments.
Syntaxe
T
(
type_element)
[indiceInitial..indiceFinal]
tableau
de
indiceInitial est toujours inférieure à indiceFinal
Type_element : les éléments d'un tableau sont toujours
caractérisés par leur type (entier, réel, chaîne de caractère,
etc..)
8
Les Tableaux unidimensionnels
Déclaration
Exemple
Var
i, j (entier)
Advertisement
T1 (Tableau [1..10] de entier)
T2 (Tableau [0..10] de réel)
Remarques:
•Le Tableau T1 comporte 10 cases pouvant contenir des entiers, les
indices de ces cases varient de 1 à 10
•Le Tableau T2 comporte 11 cases pouvant contenir des réels, les
indices de ces cases varient de 0 à 10
•La taille du tableau ne peut pas changer dans le corps de
l'algorithme
•Si le nombre d'éléments qui vont être placés dans le tableau est
déterminé par l'utilisateur, il faut prévoir une taille assez grande pour
satisfaire les besoins de l'application
9
Les Tableaux unidimensionnels
Résolution d'un problème avec les tableaux
Revenons à notre problème initial:
déterminer, à partir de 20 notes d'élèves (fournies en
données), combien d'entre elles sont supérieures à la
moyenne de la classe.
Solution
Algorithme Statistiques_Moyennes
Var
i (int)
Moyenne_Classe (réel)
Tab_Notes (Tableau [1..20] de réel) //pour mémoriser les 20 notes
Nb_Notes_Sup (entier) // contiendra le nombre de notes supérieures à la
moyenne de la classe
10
Les Tableaux unidimensionnels
Résolution d'un problème avec les tableaux
Début
// initialisation des variables
Moyenne_Classe 0
Nb_Notes_Sup 0
// saisie des notes et mémorisation dans le tableau
Pour i de 1 à 20 faire
Ecrire ("Donner la ", i , "ème note SVP")
Lire (Tab_Notes[i]) // la ième note est mémorisée dans la case i du tableau
Moyenne_Classe Moyenne_Classe + Tab_Notes[i]/20
Fin pour
// Calcul du nombre de notes supérieurs à la moyenne de la classe
Pour i de 1 à 20 faire
si (Tab_Notes[i] > Moyenne_Classe ) alors
Advertisement
Nb_Notes_Sup Nb_Notes_Sup + 1
fin si
Fin pour
// Affichage du résultat demandé
Ecrire ("Le nombre de notes supérieurs à la moyenne de la classe est :",
Nb_Notes_Sup )
11
Les Tableaux unidimensionnels
Résolution d'un problème avec les tableaux
Remarque : Nous pouvons aussi contrôler le fait que la note soit comprise entre 1
et 20
// saisie avec contrôle
Pour i de 1 à 20 faire
Répéter
Écrire ("Donner la ", i , "ème note SVP")
Lire (Tab_Notes[i]) // la ième note est mémorisée dans la case i du tableau
Jusqu'à (Tab_Notes[i] >=0 et Tab_Notes[i] <= 20 )
Moyenne_Classe Moyenne_Classe + Tab_Notes[i]/20
Fin pour
12
Travail à faire
Num compte: C56
montant de la transaction 123
Écrire l'algorithme qui traite les deux types de transactions (dépôt et
retrait) sur N comptes bancaires.
Les N comptes des clients de la banque sont enregistrés dans deux
tableaux, un tableaux de numéro de comptes NUMERO et un tableau de
solde SOLDE.
Remarques:
1) SOLDE[I] est le solde du compte NUMERO[I]
2) On lit au départ le numéro de compte et le montant de la transaction et
son code puis on met à jour le solde correspondant au numéro de compte
du client
Les codes de transactions sont:
D: dépôt
E: retrait
F: fin des opérations
13