Algorithmique TOUHTOUH Samira Ecole Nationale des Sciences Appliquées d’El Jadi

Algorithmique TOUHTOUH Samira Ecole Nationale des Sciences Appliquées d’El Jadida samira.touhtouh@gmail.com 1 Plan  Introduction  Informatisation d’un problème : Langage algorithmique  Les variables  Les constantes Fonctions d’entrée-sortie  Les structures Les tableaux  Les fonctions Les fichiers 2 Plan  Introduction  Informatisation d’un problème : Langage algorithmique  Les variables  Les constantes Fonctions d’entrée-sortie  Les structures de contrôle  Les fonctions Les tableaux Les fichiers 3 I. Introduction  Introduction à l’algorithme • Histoire Le mot algorithme vient du mot latinisé du mathématicien « Al- Khawarismi », après la traduction du livre « kitâb- aljabr wa al- muqâbala » par Gherardo di cremona sous le titre « Dixit Algorismi ». • Définition générale Une séquences d’instructions logique à suivre pour obtenir un résultat donné. 4 5 Exemple 1 : Comment accéder à L’ENSA? 1. Réussir le bac 2. Candidater 3. Passer le concours 4. Réussir le concours 5. Déposer un dossier d’inscription Exemple 2 : Préparer un café au lait 1. Préparer le café 2. Préparer le lait 3. Mélanger les deux 6 L’ordre des opérations a son importance, mais dans certains cas plusieurs ordres sont possibles. Parfois, il faut décomposer les actions trop complexes. Exemple : Préparer un café au lait 1. Préparer le café 2. Préparer le lait 3. Mélanger les deux Etape élémentaire : Préparer le café 1. Préparer la cafetière 2. Remplir d’eau 3. Mettre le filtre 4. Mettre le café 5. Brancher la cafetière 6. Lancer la cafetière 7 En informatique : Procédure de calcul bien défini qui prend en entrée une valeur, ou un ensemble de valeurs, et qui donne en sortie une valeur, ou un ensemble de valeurs. Exemple : Algorithme d’Euclide Calculer le PGCD de deux entiers a et b. 8 1. Ordonner a et b tel que a≥b 2. Calculer leur différence 3. Remplacer a par c c a-b  Exécuter avec a=40 et b=12 9 Fin 4 b a : 11 Etape 4 b 4 a : 10 Etape 4 b a c : 9 Etape 4 b 8 a : 9 Etape 8 b a c : 8 Etape 4 b 12 a : 7 Etape 4 b a c : 6 Etape 12 b 16 a : 5 Etape 16 b a c : 4 Etape 12 b 28 a : 3 Etape 28 b a c : 2 Etape 12 b 40 a : 1 Etape                               Exemple 2 Exécuter avec a=100 et b=40 10  Un algorithme est dit correct si, pour chaque instance en entrée, il se termine en produisant la bonne sortie,  Un algorithme incorrect risque de ne pas se terminer pour certaines instances en entrée, Un algorithme incorrect risque de se terminer sur une réponse autre que celle désirée,  Un algorithme peut être spécifié en langage humain ou en langage informatique. L’unique obligation est que la spécification fournisse une description précise de la procédure de calcul à suivre. 11 Plan  Introduction  Informatisation d’un problème : Langage algorithmique  Les variables  Algorithme  Les constantes  Les structures  Les fonctions 12 II. Langage algorithmique 13 Énoncé du problème Algorithme Programme Langage naturel Langage algorithmique Langage de programmation  Le langage algorithmique est différent du langage de programmation. Langage de programmation 14 Langages de bas niveau Liés au processeur Langages de haut niveau Langages évolués CC++ Java Le langage algorithmique exprime les instructions résolvant un problème donné indépendamment des particularités d’un langage de programmation. En générale on utilise deux types de notations pour représenter les algorithmes: • L’organigramme • Le pseudo-code 15 L’organigramme est un schéma fonctionnel qui présente les différentes parties d’un algorithme les unes à la suite des autres en utilisant des symboles graphiques pour visualiser l’exécution de l'algorithme et le cheminement des données. 16 Exemple : somme de deux nombres A et B 17  L’écriture d’un algorithme avec un organigramme est rapidement abandonnée. La lisibilité devient rapidement difficile pour les algorithmes assez long.  le pseudo-code est purement conventionnel, aucune machine n’est censée le reconnaître. Exemple : Somme de deux nombres A et B Algorithme somme_de_deux_nombres Variables A, B, somme en entier Début Lire A Lire B somme A+B Ecrire ‘’La somme de A et B est :’’ , somme Fin 18  Les différents éléments d’un algorithme sont : • Données : ce qui doit être donné à l’algorithme • Résultats : ce que doit produire l’algorithme • L’algorithme : les grandes étapes des traitements et calculs 19 Exemple : Calculer le PGCD de a et b. 20 Données Algorithme Résultats Données : a et b deux entiers positifs Résultat : PGCD de a et b  Structure d’un algorithme Nom de l’algorithme // partie en-tête qui précise le nom de l’algorithme Déclaration des variables // partie déclaration des variables Début // partie traitement des données Algorithme (définir les actions à suivre pour résoudre un problème donné) Fin 21 Exemple 1 : Ecrire un algorithme qui permet d’afficher « Bonjour ». Algorithme algo_bonjour Début écrire ‘’bonjour‘’ Fin 22 Exemple 2 : Ecrire un programme qui demande un nombre à l’utilisateur, puis qui calcule et affiche le carré de ce nombre, 23 Plan  Introduction  Informatisation d’un problème : Langage algorithmique  Les variables  Les constantes  Les structures  Les fonctions Les tableaux Les fichiers 24 II. Les variables • Dans un programme informatique, on va avoir en permanence besoin de stocker provisoirement des valeurs. • Il peut s’agir de données issues du disque dur, fournies par l’utilisateur (frappées au clavier), etc.. • Ces données peuvent être de plusieurs types : des nombres, du texte, etc. • Pour stocker une information au cours d’un programme, on utilise une variable. • Une variable est une boîte, que le programme (l’ordinateur) va repérer par une étiquette. • Une variable désigne un emplacement mémoire désigner par une adresse binaire qui permet de stocker une valeur. 25 Déclaration et utilisation des variables (les données) La première chose à faire avant de pouvoir utiliser une variable est de créer cette boîte et de lui donner une étiquette. C’est ce qu’on appelle la déclaration des variables. Une variable est désignée par : Un nom unique qui la désigne Un type de définition unique Une valeur attribuée et modifiée au cours du déroulement de l’algorithme. 26  Le nom-le type-la valeur  Nom d’une variable. • Le nom d’une variable permet de l’identifier de manière unique au cours de l’algorithme. Les règles à respecter pour nommer les variables : • Le nom d’une variable commence par une minuscule. • Le nom d’une variable ne comporte pas d’espace, • Si le nom de la variable est composé de plusieurs mots, il faut faire commencer chacun deux par une majuscule. 27  Les variables utilisées au cours de l’exécution de l’algorithme sont déclarées après le nom de l’algorithme. Il suffit d’indiquer le nom de la variable suivi de son type, séparés par deux points « : »,  La structure d’un algorithme (déclarant une variable nommé V et de type entier) est la suivante : Algorithme nom_de_l’algorithme // partie en-tête Variables V : entier // partie des déclarations des variables Début // partie traitement Bloc d’instructions Fin 28 Exemple : Calculer et écrire le double d’un nombre réel donné (exemple : 7). • L’algorithme nous informe qu’un nombre réel est donné (exemple 7) et que un autre nombre réel sera calculé (7x2 = 14) puis affiché. • Introduisons donc deux variables associées respectivement à la donnée et au résultat. La structure de l’algorithme est la suivante : Algorithme double Variables nombre, résultat : réel Début nombre 7 résultat nombrex2 écrire résultat Fin 29 • Déroulement de l’exemple : 30 Algorithme double Variables nombre, résultat : réel nombre = ? résultat =? Début nombre =? résultat=? nombre 7, nombre = 7 résultat = ? résultat nombrex2; nombre = 7 résultat = 14 écrire résultat résultat = 14 Fin Les variables n’existent plus • L’algorithme se déroule de manière séquentielle et ligne après ligne. • Au départ, lors de la déclaration, les valeurs sont inconnues : leur valeur est indiquée par « ? ». • L’existence des variables n’a de sens que le temps de l’exécution de l’algorithme. 31 Types des variables Type réel - le type entier • Les variables de types numériques utilisées en algorithme ont comme domaine usuels ceux fournis par les mathématiques : réel et entier. • Le type de codage choisi pour un nombre va déterminer : - Les valeurs maximales et minimales des nombres pouvant être stockés dans la variable. - La précision de ces nombres (dans le cas de nombres (décimaux) 32 • Les langages offrent plusieurs types numériques, le tableau ci- dessous présente les plus rencontrés : 33 Type numérique Plage Byte (octet) O à 255 Entier simple -32 768 uploads/Ingenierie_Lourd/ algorithmique-touhtouhf.pdf

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