NOTION D’ALGORITHME ENSAM - Casablanca Année universitaire 2017-2018 API2 Plan

NOTION D’ALGORITHME ENSAM - Casablanca Année universitaire 2017-2018 API2 Plan Définition Qu’est ce qu’un bon algorithme Représentation des algorithmes Notions de données Les instructions de base Expressions & Opérateurs Les structures conditionnelles 2 Les structures conditionnelles Les structures répétitives Les tableaux Organigramme Procédures & Fonctions Récursivité Définition: Un algorithme est une suite finie de règles à appliquer dans un ordre déterminé à un nombre fini de données pour arriver, en un nombre fini d'étapes, à une résolution 3 pour arriver, en un nombre fini d'étapes, à une résolution d’un problème. Le rôle de l'algorithme est fondamental. En effet, sans algorithme, il n'y aurait pas de programme (qui n'est jamais que sa traduction dans un langage compréhensible par l'ordinateur). Définition: 4 De plus, les algorithmes sont fondamentaux en un autre sens: ils sont indépendants à la fois de l'ordinateur qui les exécute, des langages dans lequel ils sont énoncés et traduits. Qu’est ce qu’un bon algorithme: C’est un schéma de résolution possédant les caractéristiques suivantes. Correct : s’il répond au problème posé. Précis : s’il fourni exactement les résultats attendus. Rapide : s’il utilise un temps d’exécution minimal. 5 Rapide : s’il utilise un temps d’exécution minimal. Efficace : s’il utilise le moins d’espace mémoire possible. Qu’est ce qu’un bon algorithme: Claire et lisible : s’il est facile à lire en vu de le maintenir et le développer. Résistant : s’il est capable de détecter les cas de mauvaises utilisations. 6 Représentation des algorithmes : Un algorithme est utilisé pour désigner des instructions en langage naturelle, grâce à des structures et des mots clés. Un algorithme est écrit en utilisant un langage de description d’algorithme (LDA). Un algorithme se compose de trois parties : L’en-tête : Comprend le nom de l’algorithme 7 L’en-tête : Comprend le nom de l’algorithme Les déclarations : Comprend les listes suivantes : La liste des constantes La liste des variables Le corps : Contient les instructions à exécuter. Exemple : Un algorithme qui calcul la surface d’un rectangle Algorithme Surface_d_rectangle ; Variables Longueur, Largeur, Surface : réel ; Début Ecrire (‘Donner la longueur :’) ; Lire (Longueur) ; 8 Lire (Longueur) ; Ecrire (‘Donner la largeur :’) ; Lire (Largeur) ; SurfaceLongueur * Largeur ; Ecrire (‘La surface du rectangle est :’, Surface) ; Fin . Notions de données Les algorithmes agissent sur des données, qui peuvent varier ou rester constantes. Les données peuvent être de types différents : numérique, chaîne de caractères, ou booléen (valeurs logiques : vrai ou faux). 9 faux). Chaque donnée est identifiée par un nom (identifiant) unique qui la définit (la rend reconnue) dans l’algorithme. Une constante est une donnée dont la valeur reste inchangée tout le long de l’algorithme. On ne peut jamais modifier sa valeur et celle-ci doit donc être précisée lors de la définition de la donnée. Notions de données: Les constantes 10 précisée lors de la définition de la donnée. Notions de données: Les variables Une variable est une donnée dont la valeur peut être modifiée par une opération dans l’algorithme. Une variable est aussi un espace mémoire, la modification de la valeur de la variable modifié aussi le contenue de la zone mémoire associé. 11 associé. Notions de données Donc à toute variable est associés un identifiant, un type, un espace mémoire, et une valeur. 12 Les types de données : Types numériques : Type Entier : un type qui accepte des valeurs comme : -5, -2, 0, 1, 10, 2006, etc. Type Réel : un type qui accepte des valeurs comme : -5, 2.6, 0.125, 107, 2.5x1031, etc. 13 0.125, 107, 2.5x1031, etc. Les types de données : Type alphanumérique : Type caractère : un type qui accepte les caractères. Si une variable C est de type caractère, alors elle accepte des valeurs comme : ‘a’, ‘A’, ‘1’, ‘?’, ‘*’,’/’, ‘ ’, etc. 14 Type chaîne de caractères : Une variable de ce type peut contenir une suite de caractères comme : ‘Lecteur CD-ROM’, ‘MPSI 3’, ‘A’, ‘CPGE Khansa’, etc. Les types de données : Type logique (booléen) : Une variable de type booléen est une variable qui ne peut contenir que soit vrai, ou faux. Donc les données de type booléen sont des valeurs de vérités, 15 Les instructions de base Lecture – Ecriture (Entrée/Sortie): Les instructions de lecture et d’écriture permettent à l’ordinateur de communiquer avec le monde extérieur. 16 communiquer avec le monde extérieur. Les instructions de base Lecture : est l’opération de base qui consiste à lire des données tapées au clavier. Chaque donnée lue est stockée dans une variable. Syntaxe : Lire(x) 17 Lire(x) Permet de lire une valeur donnée par l’utilisateur et la stocker dans la variable x. Si l’utilisateur a écrit 2 alors la valeur de x sera 2. Les instructions de base Ecriture : est l’opération qui permet à l’algorithme de communiquer des messages à l’utilisateur en les affichant à l’écran. Syntaxe : Ecrire (‘bonjour’) 18 Ecrire (‘bonjour’) Permet d’afficher le message : bonjour Ecrire (‘la valeur de x est ‘, x) Si la valeur de x est 5 cet instruction permet d’afficher le message : la valeur de x est 5 Les instructions de base Affectation : L’affectation est une attribution d’une valeur à une variable. L'action d'affectation modifie la valeur de la variable, et donc le 19 L'action d'affectation modifie la valeur de la variable, et donc le contenu de la mémoire de la machine.  Syntaxe : nom de variable valeur ; nom de variable expression ; Action : "Met le résultat du calcul de l'expression dans la variable". Remarque importante : Il faut respecter le type de chaque variable, donc on ne peut pas affecter à une variable qui est de type T ype1 une expression qui renvoi une valeur de type T ype2. 20 une valeur de type T ype2. Exemple : nom est de type Chaîne de caractères X1 est de type entier : X1 nom est une instruction fausse. Nom 3 est aussi une instruction fausse. Expressions & Opérateurs Une expression est un ensemble de valeurs, reliées par des opérateurs, et équivalente à une seule valeur. Un opérateur est un signe qui relie deux valeurs pour produire un 21 Un opérateur est un signe qui relie deux valeurs pour produire un résultat. Opérateurs numériques + Addition - soustraction * multiplication / division ^ puissance Expressions & Opérateurs Opérateur alphanumérique : & Cet opérateur permet de concaténer ou de joindre deux chaînes de caractères. 22 La structure conditionnelle Définition Elle exprime le choix entre deux séquences d’action en fonction de la valeur d’une condition ou expression logique 23 Syntaxe Si condition alors instruction1 sinon instruction2 ; finsi 24 finsi Structure conditionnelle à choix multiple C’est une structure qui permet de choisir un choix parmi plusieurs cheminements proposés. 25 Structure conditionnelle à choix multiple Syntaxe : Selon ( expression entière ou caractère ) Cas choix1 : instruction1 ; cas choix2 : instruction2 ; ... 26 ... cas choixN : instructionN ; [autrement instruction] Finselon Exemple : Calcul d’une facture Ecrire un algorithme qui calcule le prix toute taxe comprise (PTTC) d’un article, à partir du prix total hors taxe (PTHT) et selon le code de la TVA . 27 28 Les structures répétitives Les structures répétitives sont utilisées lorsque nous avons une instruction ou un bloc d’instructions qui se répètent un certain nombre de fois . 29 nombre de fois . En algorithmique, nous disposons de trois structures Tant que ……………….Faire …… Répéter ………………Jusqu’à …. Pour ………………..Faire ……… Structure POUR Cette structure permet une répétition d’instructions, le NOMBRE DES RÉPÉTITIONS étant CONNU avant la première exécution. Une variable va servir de test pour l'exécution de la boucle. Cette variable est initialisée au démarrage de la boucle puis évolue, de façon automatique, après chaque itération. 30 façon automatique, après chaque itération. Syntaxe Pour <variable de test> = <valeur de départ> à <valeur d’arrivée> Instructions Fin Pour 31 Exercice 0 Ecrire l’algorithme qui permet de calculer S: S=1+2+3+………….+N 32 Exercice 1 Ecrire l’algorithme qui permet de calculer S: S=1+1/2+1/3+1/4+……………….+1/n 33 Exercice 2 Ecrire un algorithme qui demande un nombre de départ, et qui calcule sa factorielle. NB : la factorielle de 8, notée 8 !, vaut 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 34 Exercice 3 Calculer Un U1=1 ; U2=2 Un=2*Un-1 + 3*Un-2 Pour n >2 35 Un=2*Un-1 + 3*Un-2 Pour n >2 Structure TANT QUE Cette structure permet de répéter un groupe d’instructions, le NOMBRE DES RÉPÉTITIONS étant INCONNU avant la première exécution de la boucle. La condition doit être remplie pour que les instructions soient exécutées (y compris la première fois) : ce type de condition est appelé CONDITION DE CONTINUATION. 36 appelé CONDITION DE CONTINUATION. Syntaxe Tant Que < condition de continuation > FAIRE Instructions à exécuter si la condition est remplie Fin Tant Que 37 Fin Tant Que Exercice: Ecrire un algorithme qui demande un nombre compris entre 10 et 20, jusqu’à ce que la réponse convienne. En cas de réponse uploads/Ingenierie_Lourd/ cours-algorithmique-ensam-2017-2018.pdf

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