Algorithmique et structures de données I
Riadh Ben Messaoud
Université 7 novembre à Carthage
Faculté des Sciences Économiques et de Gestion de Nabeul
1ère année Licence Fondamentale IAG
1ère année Licence Appliquée IAG
Année universitaire
2009 – 2010
R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 1 / 13
Plan du cours
1 Introduction
2 Environnement algorithmique
3 Variables
4 Structures conditionnelles
5 Structures itératives
6 Tableaux
7 Sous-programmes
8 Mode de passage de paramètres
R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 2 / 13
Plan du cours
1 Introduction
2 Environnement algorithmique
3 Variables
4 Structures conditionnelles
5 Structures itératives
6 Tableaux
7 Sous-programmes
8 Mode de passage de paramètres
R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 3 / 13
Tableaux
Utilité des tableaux
Créons un algorithme qui permet de stocker les notes de 12 étudiants et de
calculer la moyenne de ces notes.
Algorithme Moyenne Notes
Var : N1, N2, N3, N4, N5, N6, N7, N8, N9, N10, N11, N12, Moy : réel
Début
Lire (“Entrez la note de l’étudiant 1” ; N1)
Lire (“Entrez la note de l’étudiant 2” ; N2)
.
.
Lire (“Entrez la note de l’étudiant 12” ; N12)
Moy ← (N1+N2+N3+N4+N5+N6+N7+N8+N9+N10+N11+N12)/12
Ecrire (“La moyenne des notes est ” ; Moy)
Fin
Qu’en est-il lorsqu’on a à gérer quelques centaines ou quelques milliers de
notes d’étudiants ?
R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 4 / 13
Tableaux
Utilité des tableaux
I L’algorithmique nous permet de rassembler toutes ces variables en une
seule, au sein de laquelle chaque valeur sera désignée par un numéro.
I “la note numéro 1”, “la note numéro 2”, “la note numéro 8”, etc.
I On peut aussi les exprimer : “Note(1)”, “Note(2)”, “Note(8)”, etc.
Définitions
Un ensemble de valeurs portant le même nom de variable et repérées
par un nombre, s’appelle un tableau, ou encore une variable indicée.
Le nombre qui, au sein d’un tableau, sert à repérer chaque valeur
s’appelle l’indice.
Chaque fois que l’on doit désigner un élément du tableau, on fait figurer
le nom du tableau, suivi de l’indice de l’élément, entre parenthèses.
R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 5 / 13
Tableaux
Notation et utilisation algorithmique
I Dans notre exemple, on peut donc faire appel à un tableau appelé Note.
I Chaque note individuelle (chaque élément du tableau Note) sera donc
désignée Note(0), Note(1), etc.
I En général, les indices des tableaux commencent à 0 et non pas à 1.
I La ième élément du tableau Note dans le tableau correspond à Note(i - 1).
F Le quatrième étudiant à eu une note égale à 17,5.
I L’opération d’affectation : Note(3) ← 17,5
0 1 2 3 4 5 6 7 8 9 10 11
17,5
R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 6 / 13
Tableaux
Notation et utilisation algorithmique
Déclaration d’un tableau
Un tableau est déclaré en précisant le nombre et le type de valeurs qu’il
contiendra.
Conventions
les “cases” d’un tableau sont numérotées à partir de zéro, autrement dit, le
plus petit indice est zéro.
lors de la déclaration d’un tableau, on précise la plus grande valeur de
l’indice.
Var : Note(11) : réel
R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 7 / 13
Tableaux
Notation et utilisation algorithmique
I L’algorithme de calcul de la moyenne des 12 notes devient :
Algorithme Moyenne Notes
Var : Note(11), Moy : réel ; i : entier
Début
Pour i de 0 à 11 Faire
Ecrire (“Entrez la note de l’étudiant ” ; i + 1)
Lire (Note(i))
Fin Pour
Moy ← 0
Pour i de 0 à 11 Faire
Moy ← Moy + Note(i)
Fin Pour
Moy ← Moy /12
Ecrire (“La moyenne des notes est ” ; Moy)
Fin
R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 8 / 13
Tableaux
Notation et utilisation algorithmique
Important
L’indice qui sert à désigner les éléments d’un tableau peut être exprimé
directement comme :
un nombre en clair I Note(4) ;
une variable I Note(i) ;
ou une expression calculée I Note((i–1)/2).
Dans un tableau, la valeur d’un indice doit toujours :
être égale au moins à 0 ;
être un nombre entier. L’élément Note(3,5) n’existe jamais ;
être inférieure ou égale au nombre d’éléments du tableau. Si le tableau
Note a été déclaré comme ayant 12 éléments, l’utilisation de Note(32)
déclenchera automatiquement une erreur.
R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 9 / 13
Tableaux
Notation et utilisation algorithmique
Attention
Ne pas confondre l’indice d’un élément d’un tableau avec le contenu de cet
élément. La troisième maison de la rue n’a pas forcément trois habitants, et la
vingtième vingt habitants. En notation algorithmique, il n’y a aucun rapport entre
i et Maison(i).
R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 10 / 13
Tableaux
Exemples
Écrire un algorithme qui déclare et remplisse un tableau de 7 valeurs réelles en les
mettant toutes à zéro.
Algorithme Remplissage Tableau
Var : Truc(6) : réel ; i : entier
Début
Pour i de 0 à 6 Faire
Truc(i) ← 0
Fin Pour
Fin
Truc()
0 1 2 3 4 5 6
0 0 0 0 0 0 0
R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 11 / 13
Tableaux
Exemples
Écrire un algorithme qui déclare et remplisse un tableau contenant les six voyelles
de l’alphabet latin.
Algorithme Voyelles Alphabet
Var : Voyelle(5) : chaı̂ne
Début
Voyelle(0) ← “a”
Voyelle(1) ← “e”
Voyelle(2) ← “i”
Voyelle(3) ← “o”
Voyelle(4) ← “u”
Voyelle(5) ← “y”
Fin
Voyelle()
0 1 2 3 4 5
“a” “e” “i” “o” “u” “y”
R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 12 / 13
Plan du cours
1 Introduction
2 Environnement algorithmique
3 Variables
4 Structures conditionnelles
5 Structures itératives
6 Tableaux
7 Sous-programmes
8 Mode de passage de paramètres
R. Ben Messaoud (FSEGN) Algorithmique I 2009 – 2010 13 / 13