LES ALGORITHMES Définition L’algorithmique est la technique des algorithmes. Un algorithme est la description d’un traitement selon une logique ou un formalisme rigoureux. Il prépare la programmation L’algorithme manipule des données, que l’on nomme variables, décrit des opérations de calcul ou de transfert de données et s’articule grâce à des ordres de contrôle (faire ceci à telle condition). Par similitude avec les programmes, les opérations et les ordres de contrôle qui composent un algorithme sont souvent appelés instructions. Un algorithme est formé d’instructions types combinées entre elles. 1. Structure générale d’un algorithme Un algorithme comprend 4 sections : - L’en-tête : Algorithme +nom de l’algorithme - La Déclaration et l’initialisation des variables, constantes et structures (noms attribués et leur type) - Le traitement proprement dit avec début et fin de l’algorithme - Les déclarations de fonctions et procédures (sous-traitement) de portée générale qui sont réutilisés dans plusieurs algorithmes différents) a) Déclaration des variables et constantes, et affectation de valeurs Dans un algorithme il est nécessaire de stocker provisoirement des valeurs. Il peut s’agir de données issues du disque dur (lire), fournies par l’utilisateur (écrire), ou de résultats obtenus par le programme, intermédiaires ou définitifs. Ces données peuvent être de plusieurs types (des nombres, du texte, etc.). Les valeurs attribuées aux variables peuvent être modifiées au cours de l’exécution de l’algorithme. Les constantes en revanche, sont définies une fois pour toute à l’intérieur de l’algorithme (avant les variables) et ne peuvent pas être modifiées par l’utilisateur. Une constante correspond à un paramètre. ex : CONSTANTES Taux = 0,10 VARIABLES CA : Réel PU : Réel ou CA, PU, Qté : Réel (si les variables sont du même type Qté : Réel Les variables et les constantes sont définies dans la partie déclarative par 2 caractéristiques essentielles : - L’identificateur : c’est le nom de la variable ou de la constante. (Il est composé de lettres et de chiffres) - Le type : il détermine la nature de la variable ou de la constante (entier, réel, booléen, chaîne de caractères,…) 1 Les Algorithmes ©G.Bouverot b) Les différents types de constantes et variables Entier 45 - 28 Partie entière d’un nombre Réel (simple ou double) 4,30 – 20² Nombre à virgule Booléen VRAI ou FAUX Valeur logique Caractère ‘A’, 7, ‘s’, ‘*’, ‘!’ Un seul caractère Chaîne de caractères ‘lampe de chevet’ Un texte de longueur fixe chaine(15) ou variable donc sans indication c) L’affectation Elle permet d’affecter une valeur à une variable. Syntaxe : Identificateur de la variable expression Ou := Ex : CA PU*Qté...................La variable CA est affecté par le calcul PU*Qté d) Les opérateurs Différent peut également se représenter : <> * e) Les procédures et fonctions Pour alléger l’écriture d’un programme, il est possible de rédiger des procédures qui sont appelées dans le corps du programme et des fonctions personnalisées chargées d’effectuer des calculs plus ou moins complexes. - Une procédure exécute un traitement mais ne renvoie pas de valeur - Une fonction renvoie des valeurs pouvant être exploitées dans le corps du programme. Une procédure, comme une fonction, peut accepter des paramètres d’entrée. La valeur de ces paramètres est alors utilisée à l’intérieur de la procédure ou de la fonction. 2 Les Algorithmes ©G.Bouverot Exemple : algorithme permettant d’identifier l’utilisateur du programme (prénom) et affecter un message de bienvenue (procédure accueil). On veut créer une fonction calculant la prime sur chiffre d’affaires (primeCA). En-tête Algorithme CALCULPRIME Déclarations VAR CA : Réel DEBUT DEBUT Corps de l’algorithme Accueil() SAISIR « Saisissez le Chiffre d’affaires », CA AFFICHER «Votre prime est de »& CVCHAINE(PrimeCA(CA)) FIN PROCEDURE Accueil() ‘Cette procédure ne comporte aucun argument VARIABLES Pren : Chaîne SAISIR « Saisissez votre prénom », Pren AFFICHER « Bonjour »&Pren FIN PROCEDURE FONCTION PrimeCA(CAFF : Réel) :Réel CONSTANTES TauxPrime = 0,10 Si CAFF >=10000 ALORS PrimeCA CAFF*TauxPrime SINON PrimeCA 0 FIN SI FIN FONCTION *CVCHAINE renvoie une valeur de type chaîne CVNOMBRE renvoie une valeur numérique 3 Les Algorithmes ©G.Bouverot 2. Les structures algorithmiques Les opérations élémentaires relatives à la résolution d’un problème peuvent, en fonction de leur enchaînement être organisées suivant différentes structures algorithmiques. SI……FIN SI SI Condition ALORS Exécuter les actions si la condition est VRAIE SINON Exécuter les conditions si la condition est FAUSSE FIN SI STRUCTURE ALTERNATIVE Elle permet d’exécuter des actions obéissant à une condition déterminée SELON……. CAS…… FIN SELON SELON variable CAS Valeur1 : Action si Variable contient la valeur Valeur1 CAS Valeur2, Valeur3 : Action si Variable contient la valeur Valeur2 ou Valeur3 CAS SINON Action si Variable ne contient aucune des valeurs figurant dans les CAS précédents FIN SELON 4 Les Algorithmes ©G.Bouverot La boucle REPETER…….JUSQU’A Condition REPETER Actions à exécuter JUSQU'A Condition STRUCTURE ITERATIVE Elle vise à décrire des traitements répétitifs La boucle TANT QUE condition….FIN TANT QUE qui s’arrêtent lorsqu’une condition TANT QUE déterminée est remplie. Actions à exécuter tant que la condition est vraie FIN TANT QUE Les actions sont exécutées au moins une fois quelque soit la condition. La boucle POUR ……..… FIN POUR Elle permet d’exécuter une suite d’actions un nombre déterminé de fois. Le nombre d’itérations est connu à l’avance. Ex : Table multiplication de 1 Algo Table_ mult_1 VARIABLES I :entier DEBUT POUR I := 1 JUSQU'A 10 AFFICHER CVCHAINE(I)& « X 1= »& CVCHAINE(I*1) FIN POUR Il est bien entendu possible d’imbriquer les différentes structures 5 Les Algorithmes ©G.Bouverot