Module algorithmique et programmation Valentin LEONARDI [email protected] Bureau 19B https://sites.google.com/site/leonardivalentin/home 1 Algorithmique & programmation - Notions d'algorithme et de programme I - Notions d’algorithme et de programme. 2 Algorithmique & programmation - Notions d'algorithme et de programme Introduction L’ordinateur est présent dans quasiment tous les domaines : Arts Divertissements Cinéma (montage, effets spéciaux). Musique (composition, mixage, mastering). Jeux vidéos. Internet. Vie courante Administration. Importance de la programmation nécessaire à toutes ces tâches. 3 Algorithmique & programmation - Notions d'algorithme et de programme Introduction Qu’est-ce que la programmation ? « Ensemble des activités liées à la définition, l'écriture, la mise au point et l'exécution de programmes informatiques » (Larousse). Sert à faciliter une tâche répétitive et/ou laborieuse Traiter un gros volume de données. Programmer un réveil. … Nécessité de créer de nouveaux programmes pour répondre à de nouveaux besoins 4 Par un non-informaticien : formalisation en français. Par un informaticien : langage compréhensible par lui et la machine. Algorithmique & programmation - Notions d'algorithme et de programme Introduction Qu’est-ce que la programmation ? « Ensemble des activités liées à la définition, l'écriture, la mise au point et l'exécution de programmes informatiques » (Larousse). Sert à faciliter une tâche répétitive et/ou laborieuse Traiter un gros volume de données. Programmer un réveil. … Nécessité de créer de nouveaux programmes pour répondre à de nouveaux besoins 5 Par un non-informaticien : formalisation en français. ALGORITHMIQUE Par un informaticien : langage compréhensible par lui et la machine. PROGRAMMATION Algorithmique & programmation - Notions d'algorithme et de programme Introduction Un programme est une suite d’instructions exécutées par le processeur. Codage hexadécimal : très peu intuitif et quasi inutilisable pour les programmeurs. 6 Algorithmique & programmation - Notions d'algorithme et de programme I - Notions d’algorithme et de programme. Les langages de programmation 7 Algorithmique & programmation - Notions d'algorithme et de programme Langage de programmation Pourquoi un langage de programmation ? L’ordinateur ne sait exécuter qu’un certain nombre d’opérations élémentaires. L’ordinateur ne comprend que le langage machine. Nécessité d’un langage commun entre le programmeur et l’ordinateur 8 Utilisable sur n’importe quel ordinateur. Destiné à formuler un algorithme. Comporte une syntaxe et une sémantique. Exemples : C, C++, Pascal, Delphi, Fortran, Java, PHP, … Algorithmique & programmation - Notions d'algorithme et de programme Langage de programmation Quel que soit le langage de programmation, il est nécessaire de le traduire en langage machine Compilation : 1. 2. Interprétation : 9 L’ensemble du programme (en langage de programmation) est traduit en langage machine. La suite d’instructions ainsi obtenue est exécutée par l’ordinateur. Les instructions (en langage de programmation) sont traduites l’une après l’autre en langage machine et exécutées directement. Traduction et exécution à la volée. Algorithmique & programmation - Notions d'algorithme et de programme I - Notions d’algorithme et de programme. Méthodologie 10 Algorithmique & programmation - Notions d'algorithme et de programme Méthodologie D’un problème à un programme, les principales étapes de conception Traduction Création de Langage algorithmique en Traduction langage de programmationl’exécutable Analyse Besoins en langage algorithmique Compilation ou interprétation Compréhension des besoins 11 Algorithmique & programmation - Notions d'algorithme et de programme Méthodologie D’un problème à un programme, les principales étapes de conception Traduction Langage algorithmique enCréation de l’exécutable Besoins en langage langage de programmation algorithmique Compilation ou interprétation Traduction Analyse Compréhension des besoins 12 Algorithmique & programmation - Notions d'algorithme et de programme Méthodologie D’un problème à un programme, les principales étapes de conception Traduction Traduction Langage algorithmique en langage de programmation Besoins en langage algorithmique Analyse Création de l’exécutable Compilation ou interprétation Compréhension des besoins 13 Algorithmique & programmation - Notions d'algorithme et de programme Méthodologie D’un problème à un programme, les principales étapes de conception Création de l’exécutable Compilation ou interprétation Langage algorithmique en langage de programmation Traduction Traduction Besoins en langage algorithmique Analyse Compréhension des besoins 14 Algorithmique & programmation - Notions d'algorithme et de programme Méthodologie Algorithme : Une suite finie d’instructions élémentaires. Est écrit dans un langage universel. Est indépendant d’un langage de programmation. Sert à résoudre une tâche. Programme : 15 Vient en aval de l’algorithme. Est écrit dans un langage de programmation. Traduction de l’algorithme. Est indépendant de l’architecture de l’ordinateur. Algorithmique & programmation - Notions d'algorithme et de programme Méthodologie Propriétés d’un algorithme : Apporte une solution correcte au problème à résoudre. Indépendant d’un langage de programmation. Pour un problème il peut y avoir plusieurs algorithmes ou aucun. 16 Algorithmique & programmation - Notions d'algorithme et de programme