20/09/2022 1 Chapitre 1 : Introduction à l’algorithmique Objectifs du chapitre

20/09/2022 1 Chapitre 1 : Introduction à l’algorithmique Objectifs du chapitre uAcquérir les notions nécessaires et préalables à l’algorithmique. uComprendre le cycle de création d’un programme et le rôle de l’algorithme dans ce cycle. uConnaître les caractéristiques et les conventions d’écriture d’un algorithme. 2 © K. Jebli Cours Algorithmique et Programmation 1 20/09/2022 2 I- Définitions : 3 © K. Jebli Cours Algorithmique et Programmation 1 u Le terme informatique : l’informatique est une science qui permet de traiter automatiquement les informations. u Le terme système informatique : un système informatique est un ensemble de moyens matériel et logiciels permettant de satisfaire les besoins informatiques de l’utilisateur : u Le Matériel informatique: Il s’agit des ressources matérielles qui sont exploitées pour exécuter les différents logiciels destinés à satisfaire les besoins des utilisateurs : micro-ordinateurs, imprimantes, scanners, etc. u Les Logiciels: Un logiciel est un ensemble de programmes qui répond aux besoins fréquents de l’utilisateur dans un domaine d’activités bien déterminé. 4 © K. Jebli Cours Algorithmique et Programmation 1 20/09/2022 3 u On distingue plusieurs types de logiciels tels que les logiciels de base comme le système d'exploitation ou les programmes d'application (Traitement de texte, comptabilité ...). u Le terme utilisateur : un utilisateur est une personne initiée à l’informatique et autorisée à exploiter et à manipuler les ressources du système informatique. 5 © K. Jebli Cours Algorithmique et Programmation 1 u Un programme est une liste d’instructions qu’il faut exécuter pour atteindre un objectif donné. u Un programme représente une solution à un problème donné, pour y arriver il faut passer par un cycle de programmation qui regroupe les différentes étapes de sa création. 6 © K. Jebli Cours Algorithmique et Programmation 1 20/09/2022 4 Etapes de création d’un programme Algorithme Résultats Spécifications Codage/Traduction Programmeur (Langage de programmation) Exécution Erreurs syntaxiques Erreurs sémantiques Problème (Analyse) Programme 7 © K. Jebli Cours Algorithmique et Programmation 1 Explication: Analyse d’un problème u L'analyse d'un problème posé consiste à définir les différentes étapes de sa résolution. u C'est la partie essentielle dans le processus de programmation. u Elle permet de définir le contenu d'un programme en termes de données et d’actions. u À chacun de ces derniers sera associé une spécification formelle ayant des conditions d'entrée et le(s) résultat(s) que l'on souhaiterait obtenir. u L'ensemble de ces spécifications nous donne une première solution au problème : l’algorithme. 8 © K. Jebli Cours Algorithmique et Programmation 1 20/09/2022 5 Explication : Traduction u La phase suivante consiste à traduire l’algorithme dans un langage de programmation donné. u Ce travail, quoiqu’il semble facile, exige le respect strict de la syntaxe du langage. 9 © K. Jebli Cours Algorithmique et Programmation 1 Explication : Exécution u Lors de l’étape d’exécution, soit des erreurs syntaxiques sont signalées, ce qui entraîne des corrections en général simples à effectuer, soit des erreurs sémantiques plus difficiles à découvrir. u Dans le cas d’erreur syntaxique, les retours vers le programme peuvent être fréquents. u Dans le cas d’erreur sémantique, le programme produit des résultats qui ne correspondent pas à ceux souhaités: les retours vers l’analyse (algorithme) sont alors inévitables. 10 © K. Jebli Cours Algorithmique et Programmation 1 20/09/2022 6 III- Notion d’algorithmique et de programmation : Définitions 11 © K. Jebli Cours Algorithmique et Programmation 1 u Un algorithme, dérivé du nom du mathématicien arabe «Al-Khawarizmi», qui a vécu au 9ème siècle, et qui était membre de l’académie des sciences à Bagdad . u Un algorithme est une suite d'actions que devra effectuer un ordinateur, en un temps fini, pour arriver à un résultat, à partir d'une situation donnée. u Un algorithme est une suite finie d'instructions indiquant de façon précise l'ordre dans lequel doit être effectué un ensemble d'opérations pour obtenir la solution d’un problème. u Un programme est un algorithme codé dans un langage de programmation compréhensible par l’ordinateur à l’aide d’un compilateur (traducteur). 12 © K. Jebli Cours Algorithmique et Programmation 1 20/09/2022 7 IV- Les étapes de résolution d’un problème : 13 © K. Jebli Cours Algorithmique et Programmation 1 1. Comprendre l’énoncé du problème. 2. Décomposer le problème en sous-problèmes plus simples à résoudre. 3. Associer à chaque sous problème, une spécification : u Les données nécessaires u Les données résultantes u La démarche à suivre pour arriver au résultat en partant d’un ensemble de données. 4. Elaborer l’algorithme. 14 © K. Jebli Cours Algorithmique et Programmation 1 20/09/2022 8 V- Les caractéristiques d’un algorithme : 15 © K. Jebli Cours Algorithmique et Programmation 1 1. Claire: l’algorithme ne doit pas présenter d’ambiguïtés (instruction interprétable de plusieurs manières) et facile à lire et à comprendre. 2. Correct: Il faut que l’algorithme exécute correctement les tâches pour lesquelles il a été conçu. 3. Complet: Il faut que l’algorithme considère tous les cas possibles et donne un résultat dans chaque cas. 4. Fini : l’algorithme doit se terminer quelle que soit le type de machine ainsi que le temps et la date d’exécution. 5. Efficacité : l’algorithme doit effectuer le travail demandé avec l’utilisation du minimum de ressources. 16 © K. Jebli Cours Algorithmique et Programmation 1 20/09/2022 9 VI- Avec quelles conventions écrit-on un algorithme ? 17 © K. Jebli Cours Algorithmique et Programmation 1 u Historiquement, plusieurs types de notations ont représenté des algorithmes. u Il y a eu notamment une représentation graphique, avec des carrés, des losanges, etc. qu’on appelait des organigrammes. 18 © K. Jebli Cours Algorithmique et Programmation 1 20/09/2022 10 u Aujourd’hui, cette représentation est quasiment abandonnée, pour deux raisons. 1. D’abord, parce que dès que l’algorithme commence à grossir un peu, ce n’est plus pratique du tout. 2. Ensuite parce que cette représentation favorise le glissement vers un certain type de programmation, dite non structurée (nous définirons ce terme plus tard), que l’on essaie d’éviter. 19 © K. Jebli Cours Algorithmique et Programmation 1 u C’est pourquoi on utilise généralement une série de conventions appelée « pseudo-code », qui ressemble à un langage de programmation mais sans les problèmes de syntaxe. u Ce pseudo-code est susceptible de varier légèrement d’un livre (ou d’un enseignant) à un autre. u Ce qui est normal car le pseudo-code est purement conventionnel et aucune machine n’est censée le reconnaître. 20 © K. Jebli Cours Algorithmique et Programmation 1 20/09/2022 11 Exemple de pseudo-code (algorithme) 5 algorithme qui la résolve ? • Correction • Peut-on être sûr qu'un algorithme réponde au problème pour lequel il a été conçu ? 9 MAP - UNS EXEMPLE DE LANGAGE ALGORITHMIQUE 10 MAP - UNS 21 © K. Jebli Cours Algorithmique et Programmation 1 uploads/Science et Technologie/ chapitre-1-introduction-a-l-x27-algorithmique.pdf

  • 27
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager