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 / 16
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 / 16
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 / 16
Exemple introductif Indiquer, à un enfant, comment monter un escalier dont le nombre de marches est inconnu : Première solution : 1 monter la première marche, 2 monter la deuxième marche, 3 monter la troisième marche, 4... jusqu à arriver à la dernière marche. Répéter monter une marche Jusqu à (arriver à la dernière marche) R. Ben Messaoud (FSEGN) Algorithmique I 2009 2010 4 / 16
Exemple introductif Indiquer, à un enfant, comment monter un escalier dont le nombre de marches est inconnu : Deuxième solution : Tant qu il y a une marche. 1 monter la première marche, 2 monter la deuxième marche, 3 monter la troisième marche, 4... Tant que (Il y a une marche) Faire monter une marche Fin Tant que R. Ben Messaoud (FSEGN) Algorithmique I 2009 2010 5 / 16
La structure d une boucle En algorithmique, il y a deux formes possibles pour une structure itérative : Structure Répéter Répéter Instructions Jusqu à Booléen Structure Tant que Tant que Booléen Faire Instructions Fin Tant que Un booléen est une expression dont la valeur est VRAI ou FAUX. Elle peut-être : 1 une variable de type booléen ; 2 une condition. R. Ben Messaoud (FSEGN) Algorithmique I 2009 2010 6 / 16
La structure d une boucle Description de la structure Répéter : Répéter Instructions Jusqu à Booléen Arrivée à la première ligne Répéter, la machine exécute la série d instructions jusqu à ce qu elle rencontre la ligne Jusqu à : Si le booléen a pour valeur FAUX, alors la machine réexécute la série d instructions. Si le booléen a pour valeur VRAI, alors la machine sort de la structure itérative et exécute les instructions situées après le Jusqu à. R. Ben Messaoud (FSEGN) Algorithmique I 2009 2010 7 / 16
La structure d une boucle Description de la structure Tant que : Tant que Booléen Faire Instructions Fin Tant que Arrivée à la première ligne Tant que, la machine examine le booléen : Si le booléen a pour valeur VRAI, alors la machine exécute la série d instructions jusqu à ce qu elle rencontre la ligne Fin Tant que. Elle retourne ensuite sur la ligne du Tant que. Si le booléen a pour valeur FAUX, alors la machine sort de la structure itérative et exécute les instructions situées après le Fin Tant que. R. Ben Messaoud (FSEGN) Algorithmique I 2009 2010 8 / 16
La structure Répéter VS. la structure Tant que Structure Répéter Répéter Instructions Jusqu à Booléen Structure Tant que Tant que Booléen Faire Instructions Fin Tant que Arrivée à la première ligne Répéter, quelque soit la valeur du booléen, le programme rentre dans la boucle. La machine exécute au moins une fois la série d instructions de la boucle. La machine effectue au moins une itération dans la boucle. Arrivée à la première ligne Tant que, pour rentrer dans la boucle, la valeur du booléen doit être VRAI. La machine peut ne jamais exécuter la série d instructions de la boucle. La machine peut ne jamais effectuer d itération dans la boucle. R. Ben Messaoud (FSEGN) Algorithmique I 2009 2010 9 / 16
La structure Répéter VS. la structure Tant que Exemple : L enfant se trouve à la fin de l escalier (il n y a plus de marches à monter)... Répéter monter une marche Jusqu à (arriver à la dernière marche) Tant que (Il y a une marche) Faire monter une marche Fin Tant que La structure Tant que est plus appropriée que la structure Répéter dans ce cas de figure. R. Ben Messaoud (FSEGN) Algorithmique I 2009 2010 10 / 16
La structure Pour Indiquer, à un enfant, comment monter un escalier dont le nombre de marches est connu : Nombre de marches = 4 : 1 monter la première marche, 2 monter la deuxième marche, 3 monter la troisième marche, 4 monter la quatrième marche, Nombre 0 Tant que Nombre <= 4 Faire Nombre Nombre + 1 monter une marche Fin Tant que D une manière équivalente : Pour Nombre de 1 à 4 Faire monter une marche Fin Pour R. Ben Messaoud (FSEGN) Algorithmique I 2009 2010 11 / 16
La structure Pour En algorithmique, il y a une forme possible pour une structure itérative avec un nombre d itérations déterminé : Structure Répéter Pour Compteur de Valeur Initiale à Valeur Finale Faire Instructions Fin Pour Arrivée à la première ligne Pour, la machine affecte la Valeur Initiale à la variable Compteur. Ensuite, elle exécute la série d instructions. Arrivée à la ligne Fin Pour, la valeur de la variable Compteur est incrémentée (augmentée) de 1 : Si la valeur de Compteur est comprise entre Valeur Initiale et Valeur Finale, alors la machine réexécute la série d instruction. Sinon, la machine sort de la boucle Pour et exécute les instructions situées après le Fin Pour. R. Ben Messaoud (FSEGN) Algorithmique I 2009 2010 12 / 16
La structure Pour Important La structure Pour est un cas particulier de Tant que : celui où le programmeur peut dénombrer à l avance le nombre d itérations nécessaires. Autrement dit, une structure Pour est employée dans les situations où l on doit procéder à un traitement sur les éléments d un ensemble dont le programmeur connaît d avance la quantité. R. Ben Messaoud (FSEGN) Algorithmique I 2009 2010 13 / 16
L imbrication des structures itératives Structures successives Pour Truc de 1 à 4 Faire Ecrire ( Il est passé par là ) Fin Pour Pour Trac de 1 à 4 Faire Ecrire ( Il est passé par là ) Fin Pour Structures imbriquées Pour Truc de 1 à 4 Faire Ecrire ( Il est passé par là ) Pour Trac de 1 à 4 Faire Ecrire ( Il est passé par là ) Fin Pour Fin Pour Des boucles peuvent être imbriquées ou successives. Les boucles ne peuvent jamais être croisées. Cela n aurait aucun sens logique. R. Ben Messaoud (FSEGN) Algorithmique I 2009 2010 14 / 16
L imbrication des structures itératives Exemples d imbrication de boucles : Tant que Booléen Faire Instructions 1 Pour Compteur de Valeur Initiale à Valeur Finale Faire Instructions 2 Fin Pour Instructions 3 Fin Tant que Pour Compteur de Valeur Initiale à Valeur Finale Faire Instructions 1 Répéter Instructions 3 Jusqu à Booléen Instructions 2 Fin Pour R. Ben Messaoud (FSEGN) Algorithmique I 2009 2010 15 / 16
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 16 / 16