Laboratoire de Sciences Industrielles pour l’Ingénieur S4 - Comportement des systèmes S43 - Modélisation des systèmes multi-physiques S4313 – Comportement des systèmes numériques COURS ALGORITHME ET ALGORIGRAMME ALGORITHME Un algorithme est une série d'actes ou d'opérations élémentaires qu'il faut exécuter en séquence pour accomplir une tâche quelconque, en suivant un enchaînement strict. La méthode pour atteindre cet objectif consiste à rédiger à l'aide de mots clés (pseudo code source), la succession des opérations élémentaires. Le pseudo code source se prête bien à la description des structures complexes existant dans les langages de haut niveau. Il permet une transcription aisée en code source lorsque le langage de programmation a été choisi. Mots clés du pseudo code source Début Fin Faire Entrer Sortir Opération élémentaire réalisée Début de l'algorithme, permet de le nommer Fin de l'algorithme Exécution d'une opération Acquisition ou chargement d'une donnée Edition ou sauvegarde d'un résultat Affectation d'une valeur à une variable Opérations arithmétiques et logiques Branchement inconditionnel Branchement conditionnel Branchement conditionnel généralisé Répétition conditionnelle Répétition conditionnelle Répétition conditionnelle Répétition contrôlée Symboles d'opérateur Aller à Si…alors…[sinon] Selon cas…[autrement] Itérer…sortir si… Tant que…faire…. Répéter…jusqu'à ce que… Pour…de…à… ALGORIGRAMME Un algorigramme est une représentation graphique d'un algorithme. Il permet de représenter chaque opération élémentaire au moyen d'un symbole graphique normalisé. Il est clair mais peu adapté aux systèmes complexes. Il devra avoir les caractéristiques suivantes: Il comporte des liaisons fléchées Il est fermé Il comporte un début et une fin CPGE TSI_1 1 Symboles de traitement Symboles de test logique L'opération de test logique se fait sur une condition. Le résultat de cette condition implique un choix d'une voix parmi deux. Symboles auxiliaires Règles de construction Centrer l'algorigramme sur votre feuille Construire l'algorigramme afin que sa lecture s'effectue verticalement Eviter que les lignes de liaison entre symboles se coupent Une ligne de liaison doit toujours arriver sur le haut et au centre d'un symbole Les commentaires sont à placer de préférence à droite Les renvois de branchement sont à placer de préférence à gauche CPGE TSI_1 2 STRUCTURES ALGORITHMIQUES ELEMENTAIRES Structure séquentielle ou linéaire Elle se caractérise par une suite d'actions à exécuter successivement, dans un ordre défini. La structure linéaire n'est pas une façon de programmer en soi ; il s'agit plutôt de parties d'algorigrammes qui seront conçues de façon linéaire. ALGORITHME ALGORIGRAMME Structure conditionnelle ou alternative Elle propose un choix ; une condition va entraîner telle ou telle réaction du système. Les deux issues s'excluent mutuellement. Cette structure peut intégrer des portions de structures linéaires. La condition doit forcément s'énoncer au moyen d'une proposition logique. L'une des deux opérations peut ne pas exister, ce qui fait disparaître le Sinon. ALGORITHME ALGORIGRAMME Cas d'une sélection multiple Le "autrement" disparaît si l'opération n+1 n'existe pas. Si n est grand, l'algorigramme devient très important et mal adapté. CPGE TSI_1 3 ALGORITHME ALGORIGRAMME Structure itérative ou de répétition Il s'agit d'une structure de boucle pour laquelle on ne peut sortir que si la condition est remplie. L'opération 1 est exécutée au moins une fois. Le nombre d'exécutions de la boucle est inconnu et/ou variable. ALGORITHME ALGORIGRAMME L'opération 1 n'existe pas, la structure de la boucle se décrit alors de la façon suivante: L'opération 2 n'existe pas, la structure de la boucle se décrit alors de la façon suivante: CPGE TSI_1 4 Le nombre d'exécutions de la boucle est connu. Il s'agit d'une structure de boucle évoluée qui se répète un nombre limité de fois, défini au préalable. ALGORITHME ALGORIGRAMME EXEMPLE 1 : FOUR A MICRO-ONDES Un four à micro-ondes fonctionne pendant un temps Tf, jusqu'à ce que Tf atteigne le temps Tp programmé par l'utilisateur. ALGORITHME ALGORIGRAMME Début Mesurer Tf Tant que Tf Tp Activer micro-ondes Mesurer Tf Fin Tant que Arrêter micro-ondes Fin CPGE TSI_1 5 EXEMPLE 2 : MONTEE EN TEMPERATURE D'UNE ENCEINTE Une enceinte close doit être portée à une température de 65°C. Nous n'allons décrire que la partie de l'algorigramme qui réalise cette montée en température, et non le système de régulation intégral. Une fois la température atteinte, le traitement s'arrête. ALGORITHME ALGORIGRAMME début Début Mesurer Température Mesurer Température Faire Chauffer enceinte Mesurer Température Jusqu'à ce que température > 65°C Fin Faire T 65C oui non Fin Chauffer enceinte fin EXEMPLE 3 : REMPLISSAGE D'UNE CAISSE On veut compter le passage de bouteilles sur un tapis. Lorsque 6 bouteilles sont passées, l'arrivée de nouvelles bouteilles est stoppée. Un système annexe placera les 6 bouteilles dans une caisse, mais cette gestion ne sera pas étudiée ici. ALGORITHME ALGORIGRAMME début Nb = 1 Début Pour Nb de 1 à 6 par pas de 1 Faire …………………………….détecter bouteille …………………………….incrémenter Nb …………………Fin Faire Fin Pour Stopper arrivée bouteilles Fin Détecter bouteille Nb = 6 oui non Nb Nb + 1 Stopper bouteilles fin CPGE TSI_1 6