Vous êtes sur la page 1sur 2

Anne universitaire 2005-2006

NTE 3 : Algorithme et programmation


Licence de sciences conomiques et de gestion : 2e anne
Pierre-Henri GOUTTE

SANCE 8 : STRUCTURES RPTITIVES ET TABLEAUX


Objectif de la sance : Se familiariser avec lemploi des structures rptitives pour travailler de manire
efficace sur les tableaux une et deux dimensions.

B. Exercices
La ville de Lyon veut analyser les tempratures sur la presqule chaque heure. Pour cela, deux
tableaux sont crs, lun contenant les heures auxquelles sont mesures les tempratures, lautre les
tempratures effectivement mesures.
crire un algorithme qui permet :

de dfinir le type de tableau TABLENTIERS permettant de saisir heures et tempratures

de dclarer le tableau TAB_HEURES, le tableau TAB_TEMPERATURES et le tableau


TAB_ECARTS

I. TABLEAU UNE DIMENSION (VECTEUR)


A. Principes
Rappel : Chaque lment dun tableau est identifi par le nom du tableau et son rang dans la suite
des valeurs du tableau.
Si lon veut associer une instruction chaque lment dun vecteur de N valeurs, il faut donc
rpter N fois linstruction en faisant varier chaque fois lindice de llment :
Lecture

Affectation
SOMME:= SOMME + TABNOTES (1)

crire TEMPERATURELYON (1)

SOMME:= SOMME + TABNOTES (2)

crire TEMPERATURELYON (2)

Lire VILLE_NAISSANCE (3)

SOMME:= SOMME + TABNOTES (3)

crire TEMPERATURELYON (3)

..
SOMME:= SOMME + TABNOTES (N)

de lire les diffrentes tempratures constates pendant la journe

de mesurer et d'diter lcart de temprature entre chaque relev effectu (TAB_ECARTS)

de calculer et dditer la temprature moyenne constate ce jour Lyon (MOYENNE)

dditer lheure laquelle la temprature la plus leve a t constate (HEUREMAX)

II. TABLEAU DEUX DIMENSIONS (MATRICE)

Lire VILLE_NAISSANCE (2)


..

daffecter comme lments du tableau TAB_HEURES les diffrentes heures de la journe.

criture

Lire VILLE_NAISSANCE (1)

Lire VILLE_NAISSANCE (N)

..

A. Principes
Rappel : Chaque lment dune matrice est identifi par le nom du tableau, le rang de l'lment
dans la colonne et le rang de l'lment dans la ligne.

crire TEMPERATURELYON (N)

Exemple : Le tableau GRILLE_NOTES reprsente les notes de 3 tudiants pour 5 matires. Il


Objectif : La structure rptitive indice permet de grer un tableau d'une manire la fois plus
concise et aisment gnralisable : elle permet de rpter autant de fois que dsir une instruction et on
emploie les valeurs successives du compteur comme indices du tableau.
Exemples : Pour lire le Tableau VILLE_NAISSANCE, on peut crire l'algorithme suivant
Pour INDICE allant de 1 N ' N est connu de l'utilisateur
crire ("Entrer la ville de rang ", INDICE)
Lire (VILLE_NAISSANCE (INDICE) ' INDICE varie de 1 N : chaque lment du tableau est lu
Fin Pour
De mme pour crire les diffrents lments du tableau TEMPERATURE_LYON
Pour INDICE allant de 1 N ' N est connu de l'utilisateur
crire (TEMPERATURE_LYON (INDICE) ' INDICE varie de 1 N : chaque lment est dit
Fin Pour
Enfin, pour calculer la somme des lments d'un tableau,
Pour INDICE allant de 1 N ' N est connu de l'utilisateur
SOMME:= SOMME + TABNOTES (INDICE) ' Chaque lment du tableau est somm
Fin Pour
Imprim le dimanche 13 novembre 2005

contient les valeurs suivantes :

Matires
Indice matire >
1
2
3
4
5
1
10,5
11
16
11
Indice
tudiants
2
5,5
8
2
11,5
tudiant!
3
15
12
14
Pour accder un lment du tableau, il faut indiquer lidentificateur du tableau suivi, entre
parenthses, du rang de llment dans la premire dimension (ligne ou colonne), d'une virgule, puis du
rang de ce mme lment dans la deuxime dimension (colonne si je choisis ligne comme premire
dimension, ligne si je choisis colonne comme premire dimension).
Principe gnral : Pour associer une instruction l'ensemble des lments d'une matrice, il faut
employer deux structures rptitives indices, imbriques l'une dans l'autre. La premire structure gre au
choix l'indice des lignes ou celui des colonnes et la seconde l'indice des colonnes ou celui des lignes.
Lecture du tableau donn en exemple :
Pierre-Henri GOUTTE

Structures rptitives et Tableaux

page 2 sur 4

Pour INDICELIGNE allant de 1 3


Pour INDICECOLONNE allant de 1 5
crire ("Entrer la note l'intersection de la ligne " ; INDICELIGNE ; " et de la colonne "; INDICECOLONNE)
Lire (GRILLE_NOTES (INDICELIGNE, INDICECOLONNE)
Fin Pour
Fin Pour

Attention ! Il faut inverser l'ordre des structures imbriquer, mais ne pas inverser l'ordre des indices du
tableau.
B. Exercice
La ville de Lyon veut saisir chaque heure les tempratures sur la presqule et ce, pour tous les jours
de la semaine. Pour cela, deux tableaux sont crs, lun contenant les heures auxquelles sont mesures les

criture du tableau donn en exemple :


Pour INDICELIGNE allant de 1 3
Pour INDICECOLONNE allant de 1 5
crire (GRILLE_NOTES (INDICELIGNE, INDICECOLONNE) ; Chr (10)
Fin Pour
crire (Chr (13))
Fin Pour
Chr (10) dite une tabulation et Chr (13) un retour la ligne, ce qui permet une dition correcte du

tempratures (TAB_HEURES), lautre les tempratures effectivement mesures chaque heure et chaque
jour de la semaine (TAB_TEMPERATURES)
crire un algorithme qui permet :

tableau.

de dclarer le tableau TAB_HEURES et le tableau TAB_TEMPERATURES

daffecter les heures au tableau TAB_HEURES

de demander l'utilisateur d'entrer toutes les tempratures constates durant la semaine

de calculer et d'diter dans un tableau (TAB_MOYENNE_JOUR) la temprature moyenne de


chaque jour

Affectations :

Si l'on veut sommer toutes les valeurs de la matrice, pour calculer une moyenne gnrale, il faut

la semaine pour chaque heure de la journe

alors employer deux structures rptitives imbriques.


Pour INDICELIGNE allant de 1 3
Pour INDICECOLONNE allant de 1 5
SOMME := SOMME + (GRILLE_NOTES (INDICELIGNE, INDICECOLONNE)
Fin Pour
Fin Pour
MOYENNE := SOMME / 15
Si l'on veut sommer les notes obtenues par chaque tudiant pour calculer sa moyenne, il faut

Si l'on veut sommer les notes obtenues dans chaque matire pour calculer la moyenne par matire, il

III. EXERCICE COMPLMENTAIRE


Luniversit vous propose dcrire un algorithme permettant aux chargs de travaux dirigs de
calculer la moyenne de chacun de leur groupe.
1)

Pour INDICECOLONNE allant de 1 5


Pour INDICELIGNE allant de 1 3
SOMME := SOMME + (GRILLE_NOTES (INDICELIGNE, INDICECOLONNE)
Fin Pour
MOYENNE := SOMME / 3
Fin Pour
Pierre-Henri GOUTTE

Structures rptitives et Tableaux

page 3 sur 4

crire un algorithme qui demande au charg de TD dentrer le nombre de ses tudiants (celui-

ci doit tre compris entre 20 et 45), dentrer la srie de notes, de calculer et dafficher la moyenne du
groupe.
2)

Modifier lalgorithme prcdent selon les rgles suivantes : non seulement lalgorithme

calcule et affiche la moyenne, mais il calcule et affiche le nombre dtudiants ayant une note suprieure
ou gale la moyenne (10).

faut employer deux structures rptitives imbriques, mais calculer la moyenne chaque changement de
colonne.

de mesurer, puis diter ans un tableau l'cart de temprature entre chaque heure d'une mme
journe, et ce pour tous les jours de la semaine (ECART_JOURS).

employer deux structures rptitives imbriques, mais calculer la moyenne chaque changement de ligne
Pour INDICELIGNE allant de 1 3
Pour INDICECOLONNE allant de 1 5
SOMME := SOMME + (GRILLE_NOTES (INDICELIGNE, INDICECOLONNE)
Fin Pour
MOYENNE := SOMME / 5
Fin Pour

de calculer et d'diter dans un tableau (TAB_MOYENNE_HEURES) la temprature moyenne de

3)

Modifier lalgorithme prcdent selon la rgle suivante : il est impossible lutilisateur

dentrer une note infrieure zro ou suprieure vingt.


4)

Modifier lalgorithme prcdent selon la rgle suivante : lalgorithme peut tre employ,

plusieurs reprises, pour calculer la moyenne et le nombre dtudiants ayant une note suprieure ou gale
10.
Pierre-Henri GOUTTE

Structures rptitives et Tableaux

page 4 sur 4

Vous aimerez peut-être aussi