You are on page 1of 13

Les Tableaux

Sance 6

Anne universitaire 2011/2012 Semestre 1

http://www.cours-asd.eu/ 1
lments de contenu

LES TABLEAUX UNIDIMENTIONNELS


 Positionnement du problme
 Dfinition
 Dclaration
 Rsolution d'un problme avec les tableaux
LES TABLEAUX BIDIMENTIONNELS
 Positionnement du problme
 Dfinition
 Dclaration
 Exemples
2
Les Tableaux unidimensionnels
Positionnement du problme
Supposons que nous souhaitons dterminer, partir de 20
notes d'lves (fournies en donnes), combien d'entre elles
sont suprieures 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.

Mais, il faudrait de nouveau consulter ces notes pour


dterminer combien d'entre elles sont suprieures la
moyenne. Il est donc ncessaire de mmoriser ces notes. Il ne
serait pas raisonnable d'utiliser 20 variables diffrentes. Le
tableau offre une solution ce problme.

3
Les Tableaux unidimensionnels
Dfinition
Un tableau est une structure linaire de donnes constitue
d'un nombre fini d'lments de mme type. Un tableau
possde un identificateur et chaque lment du tableau est
repr par un indice prcisant sa position au sein du tableau.

Tableau Notes
Note [1] Note [2] Note [3] Note [20]
1 2 3 .. 20

indice

4
Les Tableaux unidimensionnels
Dfinition
Tableau Notes
Note [1] Note [2] Note [3] Note [20]
1 2 3 .. 20

indice
Un indice peut tre une expression arithmtique par exemple : NOTE[i+2],
NOTE[2*i+j]

On notera un lment i du tableau T de la manire suivante T[i]


1er lment : T[1]
2ime lment T[2]
3ime lment T[3] etc.

Un lment du tableau est assimilable une variable et prend, un instant


donn, une valeur et une seule. De mme, 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 lments entiers. Calculer la
somme de ses lments.

Dbut
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 lments entiers. Compter le
nombre d'lments nuls.
Dbut
lire (M)
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
Dclaration
Dans tous les langages, le Traducteur (compilateur ou
interprteur) doit ncessairement connatre le nombre
d'lments d'un tableau (sa taille).

Cette information lui permet de rserver l'emplacement


mmoire correspondant. De mme, comme pour une variable,
il faut prciser quel est le type d'un tableau et donc, le type de
tous ses lments.
Syntaxe
T ( tableau [indiceInitial..indiceFinal] de
type_element)

indiceInitial est toujours infrieure indiceFinal

Type_element : les lments d'un tableau sont toujours


caractriss par leur type (entier, rel, chane de caractre,
8
etc..)
Les Tableaux unidimensionnels
Dclaration
Exemple
Var
i, j (entier)
T1 (Tableau [1..10] de entier)
T2 (Tableau [0..10] de rel)
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 rels, 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'lments qui vont tre placs dans le tableau est


dtermin par l'utilisateur, il faut prvoir une taille assez grande pour
satisfaire les besoins de l'application 9
Les Tableaux unidimensionnels
Rsolution d'un problme avec les tableaux
Revenons notre problme initial:
dterminer, partir de 20 notes d'lves (fournies en
donnes), combien d'entre elles sont suprieures la
moyenne de la classe.

Solution

Algorithme Statistiques_Moyennes
Var
i (int)
Moyenne_Classe (rel)
Tab_Notes (Tableau [1..20] de rel) //pour mmoriser les 20 notes
Nb_Notes_Sup (int) // contiendra le nombre de notes suprieures la
moyenne de la classe

10
Les Tableaux unidimensionnels
Rsolution d'un problme avec les tableaux
Dbut
// initialisation des variables
Moyenne_Classe 0
Nb_Notes_Sup 0
// saisie des notes et mmorisation dans le tableau
Pour i de 1 20 faire
Ecrire ("Donner la ", i , "me note SVP")
Lire (Tab_Notes[i]) // la ime note est mmorise dans la case i du tableau
Moyenne_Classe Moyenne_Classe + Tab_Notes[i]/20
Fin pour
// Calcul du nombre de notes suprieurs la moyenne de la classe
Pour i de 1 20 faire
si (Tab_Notes[i] > Moyenne_Classe ) alors
Nb_Notes_Sup Nb_Notes_Sup + 1
fin si
Fin pour
// Affichage du rsultat demand
Ecrire ("Le nombre de notes suprieurs la moyenne de la classe est :",
Nb_Notes_Sup )
11
Les Tableaux unidimensionnels
Rsolution d'un problme avec les tableaux

Remarque : Nous pouvons aussi contrler le fait que la note soit comprise entre 1
et 20
// saisie avec contrle
Pour i de 1 20 faire

Rpter
crire ("Donner la ", i , "me note SVP")
Lire (Tab_Notes[i]) // la ime note est mmorise 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
Num compte: C56
Travail faire
montant de la transaction 123

crire l'algorithme qui traite les deux types de transactions (dpt et


retrait) sur N comptes bancaires.
Les N comptes des clients de la banque sont enregistrs dans deux
tableaux, un tableaux de numro de comptes NUMERO et un tableau de
solde SOLDE.

Remarques:

1) SOLDE[I] est le solde du compte NUMERO[I]


2) On lit au dpart le numro de compte et le montant de la transaction et
son code puis on met jour le solde correspondant au numro de compte
du client
Les codes de transactions sont:
D: dpt
E: retrait
13
F: fin des oprations

You might also like