Les Tableaux

Computer Science - Data Structures · exam

Browse all programmation documents

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