Informatique Algorithme Notions Générales Phase de résolution d’un problème Pour résoudre un problème, on doit passer par plusieurs étapes ou phase avant d’exécuter le problème conçu pour exécuter la solution : 1. phase d’analyse 2. phase de spécification 3. phase de traduction 4. phase d’exécution L’enchaînement de ces phases est donné par le schéma suivant : Enoncé du problème Phase d’analyse Un problème est généralement décrit dans le langage naturel (écrit, oral, papier, voix). L’étape d’analyse consiste à décrire la solution du problème à partir de l’énoncé en fournissant un modèle d’analyse. Celui-ci décrit la solution dans un formalisme constitué en suite d’étapes. Chaque étape énumère les actions à réaliser pour aboutir à la solution. Il existe deux méthodes d’analyse : la méthode ascendante la méthode descendante. La méthode ascendante Elle consiste à composer des algorithmes élémentaires déjà existant pour aboutir à la solution du problème posé. Cela représente une maîtrise et une expérience pour pouvoir utiliser la boite à outils des algorithme élémentaires. La méthode descendante On subdivise le problème posé en sous-problème. Si ceux-ci ont des solutions connus ou trivial on arrête la subdivision, sinon on continu. On constitue alors un arbre hiérarchisé en niveaux de difficultés. L’exécution du programme consiste alors à suivre les solutions décomposées une à une en remontant les branches de l’arbre. Ce qui donne une suite d’étapes composée d’action. Cette hiérarchie se prête bien à l’exécution séquentielle sur machine (l’architecture matériel exécutant les instructions en ordre séquentiel). Récemment cette méthode est critiqué par l’apparition de nouvelles techniques tel que : POO (Programmation orienté objet) 1982 IA (intelligence artificielle) 1990 RN (réseaux de neurones) 1990 Exemples 1 – Schéma d’analyse de la préparation d’une omelette : 2 – Schéma d’analyse du calcul de la moyenne d’un élève qui passe un examen de trois matières mathématiques – français – informatique avec les coefficients 3, 2, 5. Phase de spécification Le modèle d’analyse décrit la solution dans un niveau sémantique trop élevé par rapport au opération informatiques. La spécification consiste à élaborer d’une manière précise et complète un algorithme à partir du modèle d’analyse. C’est la phase de production d’un algorithme. L’algorithme décrira la solution du problème en terme informatique (formalisme algorithmique). Phase de traduction Pour pouvoir exécuter notre algorithme sur une machine particulière, il faut traduire l’algorithme dans un langage évolué (c, c++, delphi, vb…). C’est l’étape de codage. Il faut repecter les règles syntaxiques et sémantiques du langage choisi. Phase d’exécution La phase de traduction produit un programme, celui-ci doit être exécuter pour obtenir les résultats escomptés. Cette exécution passe par les étapes suivantes : l’édition de texte. La compilation : recherche d’erreur. L’éditeur de liens L’exécution pour obtenir les résultats. Définition et syntaxe générale L’algorithme est la méthode la plus simple et la plus complète pour décrire la solution d’un problème informatique en une suite d’étapes et d’actions. Un algorithme est décrit selon un formalisme algorithmique constitué d’un ensemble de mots clés (afficher, lire, si alors…). Un algorithme est défini pour un nom et est composé de deux parties : la partie déclaration qui regroupe tous les objets de données manipulés dans l’algorithme la partie corps constituée de traitement (actions) réalisé sur les objets donnés. Syntaxe Algorithme : Nom de l’algorithme Déclaration Liste des objets de données Début Liste des traitements Fin : Nom de l’algorithme Ces mots clés : algorithme, déclaration, début, fin… sont toujours soulignés.