Langage algorithmique Philippe HOARAU 1/10 LANGAGE ALGORITHMIQUE 1 Introduction
Langage algorithmique Philippe HOARAU 1/10 LANGAGE ALGORITHMIQUE 1 Introduction Alors qu’ils n’existaient pas il y a 50 ans, les ordinateurs ont aujourd’hui envahi notre environnement. Bien que très puissant par la quantité d’informations qu’il peut engranger et le grand nombre d’opérations qu’il peut exécuter par seconde, un ordinateur n'est qu'une machine capable d'exécuter automatiquement une série d'opérations simples qu'on lui a demandé de faire. Pour résoudre un problème à l'aide d'un ordinateur, il faut: 1. analyser ce problème: définir avec précision les résultats à obtenir, les informations dont on dispose, ... 2. déterminer les méthodes de résolution: il s'agit de déterminer la suite des opérations à effectuer pour obtenir à partir des données la solution au problème posé. Cette suite d'opérations constitue un algorithme. Parmi tous les algorithmes fournissant la solution, il faudra choisir le plus efficace. 3. formuler l'algorithme définitif: cette étape doit faciliter la résolution sur ordinateur par l'expression de l'algorithme dans un formalisme adéquat (langage de description d'algorithme: LDA, organigramme, arbre programmatique, ...). 4. traduire l'algorithme dans un langage de programmation adapté. L’Encyclopédia Universalis donne la définition suivante de l’Algorithme : « Un algorithme est une suite de règles à appliquer dans un ordre déterminé à un nombre fini de données pour arriver, en un nombre fini d’étapes, à un certain résultat, et cela indépendamment des données. » Le mot algorithme provient du nom d’un célèbre mathématicien arabe de la première moitié du IXe siècle : MUHAMMAD IBN MUSA AL KHWARISMI. Les algorithmes sont fondamentaux au sens où ils sont indépendants à la fois de l’ordinateur qui les exécutent et des langages dans lequel ils sont traduits. 2 Qualités d’un algorithme Pour obtenir un bon programme il faut partir d’un bon algorithme qui doit posséder entre autres, les qualités suivantes : Etre clair, facile à comprendre par tous ceux qui le lisent. Etre le plus général possible pour répondre au plus grand nombre de cas possibles. Etre d’une utilisation aisée même par ceux qui ne l’ont pas écrit (Messages pour l’introduction des données…) Etre conçu de manière à limiter le nombre d’opérations à effectuer et la place occupée en mémoire. Une des meilleures façons de rendre un algorithme clair et compréhensible est d’utiliser un langage de description structuré n’utilisant qu’un petit nombre de structures indépendantes du langage de programmation utilisé. Langage algorithmique Philippe HOARAU 2/10 3 Eléments représentatifs du langage algorithmique 3.1 Les MOTS On distingue trois familles de mots : Les mots CLES Les mots INSTRUCTIONS Les mots DELIMITEURS 3.1.1 MOTS CLES Les mots clés définissent la structure algorithmique utilisée Exemples de mots clés : - SI … ALORS… SINON… : définissent un structure ALTERNATIVE - REPETER… JUSQU'A… : définissent une structure ITERATIVE Un mot clé est toujours suivi : Soit d’une expression conditionnelle écrite entre guillemets Soit d’un ou plusieurs mots instructions Exemple : - SI « condition 1 » - ALORS - mot instruction 1 - mot instruction 2 - SINON - REPETER - mot instruction 3 - mot instruction 4 - JUSQU'A « condition 2 » - FIN SI 3.1.2 MOTS INSTRUCTIONS Se sont des verbes d’action qui caractérisent la nature des opérations à effectuer sur une ou plusieurs données. Un mot instruction est toujours suivi entre guillemets : De la désignation de l’objet sur lequel il s’applique . Exemple : - LIRE « Capteur S1 » Eventuellement de la description de l’opération à appliquer à l’objet. Exemple : - FAIRE « Compteur = Compteur – 1 » 3.1.3 MOTS DELIMITEURS Les mots délimiteurs fixent : Les bornes d’ENTRÉE et de SORTIE de l’algorithme Les bornes d’ENTRÉE et de SORTIE des différentes structures utilisées dans l’algorithme si ces bornes ne sont pas définies par la structure elle même. DEBUT et FIN sont les seuls mots délimiteurs et peuvent être suivi éventuellement d’un mot clé. Exemple : FIN SI Langage algorithmique Philippe HOARAU 3/10 4 Représentation des algorithmes 4.1 Représentation LITTERALE Aux règles de représentation littérales précédemment définies nous ajouterons les règles d’écriture suivantes afin de faciliter la lecture de l’algorithme : L’écriture sera indentée 1 afin de faire apparaître l’algorithme comme un réseau principal comportant une borne d’entrée et une borne de sortie et chacune des structures qui le constitue comme un sous réseau présentant aussi une entrée et une sortie. Règles : Le dernier sous réseau ouvert doit être le premier fermé Le nombre de fermetures doit être égal au nombre d’ouvertures Le rang de la dernière paire de mots délimiteurs représente le degré de complexité de l’algorithme. - DEBUT - DEBUT - DEBUT - DEBUT - …. - …. - FIN - DEBUT - …. - …. - FIN - FIN - FIN - FIN 4.2 Représentation GRAPHIQUE ou ALGORIGRAMME La représentation graphique permet une lecture aisée des algorithmes mais présente toutefois l’inconvénient de consommer une place importante. Elle utilise les symboles de la norme NF Z 67-010 dont les principaux sont les suivants : Début, Fin Début, fin ou interruption d’un organigramme Embranchement Pour représenter une décision ou un aiguillage après un test Renvoi Utilisé deux fois pour assurer la continuité d’un organigramme scindé Traitement Opération ou groupe d’opérations sur des données Commentaire Pour donner des indications marginales Entrée / Sortie Mise à disposition d’une information ou enregistrement d’une information Liaison Le sens général des liaisons doit être : - de haut en bas - de gauche à droite Procédé prédéfini Portion de programme considérée comme une simple opération 1 Indenter : Tabuler le texte en insérant des espaces au début de chaque nouvelle structure afin de la mettre en évidence. Rang 0 Rang 1 Rang 2 Rang 3 Le sous réseau de rang 3 est ici composé de deux structures algorithmiques de même niveau Algorithme de complexité d’ordre 3 Indentation Langage algorithmique Philippe HOARAU 4/10 5 Structures algorithmiques fondamentales 5.1 Structure LINEAIRE ou SEQUENTIELLE C'est une SUITE D'ACTIONS à exécuter successivement dans l'ordre de leur énoncé Algorithme LITTERAL Algorithme GRAPHIQUE Structure GRAFCET - Instruction 1 - Instruction 2 - … - Instruction n Séquence Les mots instructions sont écrits au même rang sur des lignes successives. EXEMPLE - DEBUT - FAIRE "AC=1" - FAIRE "EV=1" - OUVRIR "Vanne 2" - FIN 5.2 Structures ITERATIVES Par ITERATION on désigne toute répétition de l'exécution d'un traitement. Trois types de structures itératives sont à distinguer: La structure REPETER…. JUSQU'A… La structure REPETER… TANT QUE… La structure POUR… A… REPETER… Dans les deux premier cas, le nombre de répétitions n'est pas connu à l'avance et dépend d'un ou plusieurs évènements extérieurs. Dans le dernier cas, le nombre de répétitions est connu à l'avance, il est CONSIGNE. 5.2.1 Structure " REPETER… JUSQU'A…" Algorithme LITTERAL Algorithme GRAPHIQUE Structure GRAFCET - REPETER - Instruction 1 - Instruction 2 - Instruction n - JUSQU'A "Condition vraie" Reprise de séquence En anglais: REPEAT… UNTIL… Le traitement est exécuté une première fois dès l'entrée dans la structure, il se répète jusqu'à ce que la condition soit vérifiée. Instruction 1 DEBUT Instruction 2 Instruction n FIN 1 2 3 FAIRE AC=1 DEBUT FAIRE EV=1 OUVRIR Vanne FIN Instruction 1 DEBUT Instruction 2 Instruction n FIN Condition 1 2 3 4 Langage algorithmique Philippe HOARAU 5/10 EXEMPLE A l’apparition d’un défaut on provoque simultanément la mise sous tension : D’un signal lumineux H1 D’un avertisseur sonore H2 L’arrêt de l’avertisseur sonore se fait lorsque l’opérateur acquitte le défaut par une action sur le bouton poussoir S1 - DEBUT - FAIRE "H1=1" - REPETER - FAIRE "H2=1" - JUSQU'A « S1=1 » - FAIRE « H2=0 » - FIN 5.2.2 Structure " REPETER… TANT QUE…" Algorithme LITTERAL Algorithme GRAPHIQUE Structure GRAFCET - REPETER - Instruction 1 - Instruction 2 - Instruction n - TANT QUE "Condition vraie" Reprise de séquence En anglais: REPEAT… WHILE… Le traitement est exécuté une première fois dès l'entrée dans la structure, il se répète tant que la condition est vérifiée. Les deux structures itératives « REPETER… JUSQU'A… » et « REPETER… TANT QUE… » sont strictement équivalentes EXEMPLE (même exemple que précédemment) A l’apparition d’un défaut on provoque simultanément la mise sous tension : D’un signal lumineux H1 D’un avertisseur sonore H2 L’arrêt de l’avertisseur sonore se fait lorsque l’opérateur acquitte le défaut par une action sur le bouton poussoir S1 - DEBUT - FAIRE "H1=1" - REPETER - FAIRE "H2=1" - TANT QUE « S1=0 » - FAIRE « H2=0 » - FIN FAIRE « H1=1 » FAIRE « H2=1 » FIN « S1=0 » FAIRE « H2=0 » FAIRE « H1=1 » FAIRE « H2=1 » FIN « S1=1 » FAIRE « H2=0 » DEBUT Instruction 1 DEBUT Instruction 2 Instruction n FIN DEBUT Condition 1 2 3 4 Langage algorithmique Philippe HOARAU 6/10 5.2.3 Structure " POUR… A… REPETER…" Algorithme LITTERAL Algorithme GRAPHIQUE Structure GRAFCET - POUR V=Vi A V=Vf Pas=P - REPETER - Instruction 1 - Instruction 2 - Instruction n - FIN POUR Reprise de séquence En anglais: FOR… TO… uploads/Ingenierie_Lourd/ algorithm-e 1 .pdf
Documents similaires
-
22
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jui 09, 2022
- Catégorie Heavy Engineering/...
- Langue French
- Taille du fichier 0.0726MB