LES NOTIONS DE BASE SUR L’ALGORITHME EN GROS L’algorithme est une suite logique (séquence) des instructions (opérations ou des règles) visant à la résolution d’un problème en un temps finie (c’est-à-dire une suite logique qui a un début et une fin). Il fut fondé sur la thèse de Church et d’Alonso en 1936 à Princeton. Le rôle de l'algorithme est fondamental, sans algorithme, il n'y aurait pas de programme. De plus, les algorithmes sont fondamentaux en un autre sens : ils sont indépendants à la fois de l'ordinateur qui les exécute, des langages dans lequel ils sont énoncés et traduits. D’où chaque programme informatique est doté d’un algorithme. En tant que informaticien (Concepteur, Développeur ou Programmeur), il est important de connaitre l’algorithme parce qu’il est la base du fonctionnement de tout système. CEUX DONT VOUS DEVRIEZ AVOIR L’algorithme est une notion à la foi technique ainsi que pratique. D’où, il nous faut des outils nécessaires pour créer de bons algorithmes. Créer des algorithmes justes sur nos papiers brouillons ne suffise pas, il nous faut encore le tester dans des ordinateurs, smartphones moyennant des IDE spécialisés… But d’un algorithme Une question demeure cependant : Pourquoi l’algorithme ? La réponse est simple : C’est pour expliquer le chemin à suivre envie de résoudre un problème sans la moindre ambiguïté, en utilisant : Un langage simple : des instructions (pas élémentaires); Une suite finie d'actions à entreprendre en respectant une chronologie impose; L’écriture algorithmique : un travail de programmation à visée universelle. Qualités d'un algorithme : Tout programme fournit à l'ordinateur n'est que la traduction d'un algorithme dans un langage de programmation mis au point pour résoudre un problème donné. Pour obtenir un bon programme, il faut partir d'un bon algorithme. Il doit, entre autres, posséder les qualités suivantes : a) b) c) d) Etre clair c’est à dire pas des complications et des zones d’ombre ; Etre facile à comprendre par tous ceux qui le lisent (structure et documentation) ; Etre d'une utilisation aisée même par ceux qui ne l'ont pas écrit (être compréhensible); Etre conçu de manière à limiter le nombre d'opérations à effectuer et la place occupée en mémoire. NOTICE !!! Une des meilleures façons de rendre un algorithme clair et compréhensible est d'utiliser une programmation structurée n'utilisant qu'un petit nombre de structures indépendantes du langage de programmation utilisé. Une technique d'élaboration d'un bon algorithme est appelée méthode descendante (top down). Elle consiste à considérer un problème dans son ensemble, à préciser les données fournies et les résultats à obtenir puis à décomposer le problème en plusieurs sous problèmes (Descartes) plus simples qui seront traités séparément et éventuellement décomposés eux-mêmes de manière plus fine. PROCEDURE Construction d’un algorithme Un algorithme se présente en général sous trois formes suivantes : a. Début (En tête) Le début c’est Begin en anglais, il marque le début ou le commencement du programme ou d’algorithme. C’est l’entête parce qu’il est l’élément incontournable dans la construction de l’algorithme. C’est au début (Begin) on déclare des variables. Déclaration des variables Une variable est une zone de mémoire dont le contenu peut changer pendant l’exécution du programme ; Ces variables sont des plusieurs types : (texte, numérique, date, entier, décimal, etc...). La déclaration des variables décrit dans le détail, les éléments que l’on va utiliser dans l’algorithme, La première chose à faire avant de pouvoir utiliser une variable est de créer la boîte et de lui coller une étiquette. Ceci se fait tout au début de l’algorithme, avant même les instructions proprement dites. C’est ce qu’on appelle la déclaration des variables. Le nom de la variable (l’étiquette de la boîte) obéit à des impératifs changeant selon les langages. Toutefois, une règle absolue est qu’un nom de variable peut comporter des lettres et des chiffres, mais qu’il exclut la plupart des signes de ponctuation, en particulier les espaces. Exemple : A = 2 Dans cet exemple, nous affectons le chiffre 2 dans la variable A. D’où la variable A aura 2 comme valeur. Dans l’exemple, A est une variable dans quelle on a, a affecté (attribué, associés) les valeurs a comme valeur 2. Le corps Dans le corps de l’algorithme se passe l’initialisation ou le traitement des données en moyennant les variables déclarés au début. Ce traitement a lieu pour initialiser les variables et ses valeurs qui ont été introduit au début de l’algorithme, pour fin fournir les résultats attendues en sortie. Dans l’initiation on récupère les données introduit (soit déclaré au début du programme (algorithme)) et/ou on les initialise, dans la zone mémoire pour pouvoir enfin le traiter… Traitement des données Un traitement c’est une opération effectuer sur les données (c’est-à-dire le faite de pouvoir récupérer les données représenté sous forme des variables en entrées (soit au début du programme), les transformer pour enfin les restituer sous formes des éléments en sorties ou soit le stocker dans un mémoire. Pour le traitement on effectue les opérations nécessaires pour répondre au problème posé. b. Sortie La sortie c’est la fin, il va de la même manière que l’entrée. Dans l’entrée on introduit les données qui seront plus tard affiché comme le résultat à la fin (sortie) de l’algorithme. La constante Un constant est un variable dont sa valeur ne change pas au cours de l’exécution du programme. Un constant peut être un nombre (constant numérique), un caractère (suite des caractères). SYNTAXE GENERALE D’UN ALGORITHME Un syntaxe définisse ou décrit la manière d’écrire ou de placer des instructions dans un langage de programmation. ALGO identificateur Déclaration des variables globale Début Déclaration des variables locale REM les instructions instruction1 instruction2 instruction n… Fin Cette figure ci haute décrit la manière dans laquelle les variables et les instructions seront placés dans l’algorithme. Trois étapes sont importantes (voir construction d’un algorithme) : le Début, Corps et Fin. Toutes les instructions seront dans le corps de l’algorithme, qui prendra en compte de toutes les variables du niveau global. Exemple Ecrire un algorithme qui affiche Salut !!! Début afficher("Salut !!!") Fin Ce petit algorithme affiche : "Salut !!!" comme résultat en sortie. L’instruction qui nous permet d’afficher, c’est « Afficher » qui se traduit par « Imprint » en anglais, soit « echo » pour le php. Entre le début et la fin c’est le processus du traitement ou de l’initialisation… EXERCICE 1- Ecrire un algorithme devant donner l’état de l’eau. Selon sa température on doit pouvoir choisir entre trois réponses possibles (solide, liquide ou gazeuse). ALGO Température Variable Temp en Entier Variables A, B en Booléen Début Ecrire "Entrez la température de l’eau :" Lire Temp A Temp=< 0 B Temp=<1s Si A Alors Ecrire "C’est la glace" Sinon Si B Alors Ecrire "C’est du liquide" Sinon Ecrire "C’est de la vapeur" Fin Si Fin Dans l’algorithme ci-dessus l’Instruction ‘’Ecrire’’ nous permet ‘’affecter ou d’attribuer’’ des valeurs dans nos trois ‘’Variables’’ déclarer au début A, B, C. Ces variables sont liées à la température pour enfin afficher l’état de la matière (glace, liquide, solide). Il est conditionnel d’où la présence de Si. Le si nous permet de tester une opération, qui sera soit Vrai (1) ou faux (0). 2- Choisir une lettre d’alphabet avec des chiffres entre 10 à 15, l’additionner par 5, puis ajouter le résultat à lui-même, encore une fois… J’espère que vous allez aimer parce que c’est très facile… ALGO L’addition d’un nombre Moi je choisie la chiffre 11 pour la lettre X BEGIN Write "Saisi la valeur de X" Read X X ==11 If 11 Then Write 11+11=22; 22+22 =44 Else Return Begin End if END OU Debut Si X=11 Alors 11+11=22 ; 22+22=44 Sinon Retour au début Fin Si Fin Dans cette exemple, lorsque je choisi un chiffre (par exemple 11) pour X, j’attribue une valeur à la variable X, ce c’est qu’on appelle affectation des variables. D’où j’affecte (ajouter, donner, attribuer la valeur 11 dans la variable X), puis ce valeur sera à additionner par 11 pour obtenir 22, Qui sera doubler pour obtenir 44 (22+22) comme résultat final. X est une variable dont la valeur qu’on est attribué est 11… CONCLUSION L’algorithme est la base de la programmation informatique. C’est grâce elle (algorithme) que tout programme fonctionne. Lorsque nous travaillons sur nos applications (logiciels ou programmes), ordinateurs ou téléphones, nous exécutons des algorithmes (programmes) liées dans ces machines, c’est elle qui dit à la machine ce qu’il doit faire (suite logique des opérations ou (des règles). On ne peut jamais être un bon développeur (programmeur) sans pourtant ne pas connaitre l’algorithme. Pour bien concevoir, développer ou programmer en informatique, il faut être un très bon analyste. Nous programmons à base des problèmes, qui seront ensuite schématisé ou synthétisés par des algorithmes. Une idée, Un plus Merci d’avance pour avoir lue ce tutoriel. Il est entièrement technique et pratique. N’hésiter surtout pas de nous écrire en bas de la page ou sur nos pages réseaux sociaux en cas de petit problème ou difficulté liée au tutoriel ou en d’autre chose concernant l’informatique.