Module Informatique 2 Dr SADOUNI Salheddine Chapitre 1 Introduction aux Algorit

Module Informatique 2 Dr SADOUNI Salheddine Chapitre 1 Introduction aux Algorithmes Algorithme Définition • Le mot « Algorithme » خوارزمest un dérivé du nom d’un illustre savant musulman Muhammad Ibn • Musa Al Khawarizmi qui vécut au 9ème siècle (2ème Hidjri), sous le règne du calife abbasside Al-Mamun. • Al Khwarizmi a exposé les méthodes de base pour l'addition, la multiplication, la division, l'extraction de l'addition, la multiplication, la division, l'extraction de racines carrées ainsi que le calcul des décimales de π. • Ces méthodes sont précises, sans ambiguïté, mécaniques, efficaces, correctes. • Ces méthodes sont des algorithmes! L’algorithmique est l’art de construire des algorithmes ! Les étapes de résolution d'un problème sont • 1. Comprendre l'énoncé du problème • 2. Décomposer le problème en sous-problèmes plus simple à résoudre • 3. Associer à chaque sous problème, une spécification : • 3. Associer à chaque sous problème, une spécification :  Les données nécessaires  Les données résultantes  La démarche à suivre pour arriver au résultat en partant d'un ensemble de données. • 4. Elaboration d'un algorithme. Exemple: Informatiser une application, facturation de la consommation d'eau • c'est faire réaliser par ordinateur, une tâche qui était réalisée par l'Homme. • Pour cela il faut tout d'abord, détailler suffisamment les étapes de résolution du suffisamment les étapes de résolution du problème, pour qu'elle soit exécutable par l'homme. • Ensuite, transférer la résolution en une suite d'étapes élémentaire et simple à exécuter. • Toute suite d'étapes si élémentaire et simple à exécuter s'appelle un ALGORITHME. Caractéristiques d’un algorithme • L'algorithme est un moyen pour le programmeur de présenter son approche du problème à d'autres personnes. • En effet, un algorithme est l'énoncé dans un • En effet, un algorithme est l'énoncé dans un langage bien défini d'une suite d'opérations permettant de répondre au problème. : Un algorithme doit donc être • Lisible: compréhensible même par un non- informaticien • De haut niveau: l'algorithme doit pouvoir être traduit en n'importe quel langage de programmation, • Précis: chaque élément de l'algorithme ne doit pas • Précis: chaque élément de l'algorithme ne doit pas porter à confusion, • Concis: un algorithme ne doit pas dépasser une page. Si c'est le cas, il faut décomposer le problème en plusieurs sous-problèmes • Structuré: un algorithme doit être composé de différentes parties facilement identifiables La Structure d’un Algorithme • une entête où apparaissent • le nom de l’algorithme • les déclarations des objets manipulés • le corps de l’algorithme qui commence par • le corps de l’algorithme qui commence par "Début" et se termine par "Fin ". • Entre ces deux mots clés se trouvent les actions ordonnées à exécuter par la machine. Structure d’un Algorithme Algorithme Nom_de_l’algorithme ; Variables Entête Liste des variables ; Début Action 1 ; Action 1 ; Action 2 ; Action 3 ; Corps …. Action n ; Fin. Notes : ! Chaque mot clé est souligné. ! Une marque de terminaison (;) est utilisée après chaque action. variable et ses caractéristiques • Une variable est une entité qui contient une information, elle possède : • Un nom (d’identifiant) • Un type qui caractérise l’ensemble des valeurs que peut prendre la variable :  Nombre Entier  Nombre flottant (réel)  Booléen (Vrai, Faux)  Caractère (alphabétique, numérique)  Chaine de caractères (mot ou phrase) • A un type donné, correspond un ensemble d'opérations définies pour ce type. Opérateur, opérande et expression • - Un opérateur est un symbole d’opération qui permet d’agir sur des variables ou de faire des “calculs” • - Une opérande est une entité (variable, constante ou expression) utilisée par un constante ou expression) utilisée par un opérateur • - Une expression est une combinaison d’opérateur(s) et d’opérande(s), elle est évaluée durant l’exécution de l’algorithme, et possède une valeur (son interprétation) et un type. Les opérateurs numériques • On retrouve tout naturellement +, -, *, / • Avec en plus pour les entiers div et mod, div : division entière mod: le reste division entière mod: le reste division entière • L’opérateur d’égalité = • l’opérateur d’inégalité ≠. • les opérateurs de comparaison <, ≤, >, ≥ Les opérateurs booléens • Les opérateurs sont non, et, ou, ouExclusif • Associativité, Commutativité et Distributivité des opérateurs "et" et "ou« • Tout comme en arithmétique les opérateurs ont • Tout comme en arithmétique les opérateurs ont des priorités. Par exemple • * et / sont prioritaires sur + et - • Pour les booléens, la priorité des opérateurs est non, et, ouExclusif et ou • Pour clarifier on peut utiliser des parenthèses Actions de base • 1- Action de Lecture • Pour transmettre les valeurs des données de chez l’utilisateur (l’être humain) vers la machine. • Lecture : Utilisateur  Machine • Lecture : Utilisateur  Machine • Syntaxe • Lecture d’une seule variable : Lire (Nom-variable); • Lecture de plusieurs (n) variables : Lire (Nom- variable-1, Nom-variable-2, …, Nom-variable-n) ; Exemple de lecture • Afin de résoudre une équation du second degré de la forme • aX2 +bX +C=0 • les valeurs des coefficients a, b et c connues par l’utilisateur doivent être transmises à l’ordinateur avant que la machine ne commence le calcul ; à savoir le calcul du discriminant delta. • Le seul moyen d’établir cette communication est le groupe d’instructions : • Le seul moyen d’établir cette communication est le groupe d’instructions : • Lire (a) ; • Lire (b) ; • Lire (c) ; • Qui peut être regroupé dans une seule instruction : • Lire (a, b, c) ; Action d’écriture (affichage) • Pourquoi ? • Pour transmettre les valeurs des résultats calculés par la machine vers l’utilisateur (l’être-humain) ; ou encore transmettre un message textuel. • Ecriture : Machine  Utilisateur • Ecriture : Machine  Utilisateur • Syntaxe • Affichage d’une seule variable : Ecrire (Nom-variable) ; • Affichage de plusieurs (n) variables : Ecrire (Nom- variable-1, … , Nom-variable-n) ; • Affichage d’un message : Ecrire ('Texte') ; Exemple d’écriture • La résolution d’une équation de second degré dans les réels donne lieu soit à des valeurs de X1 et X2 • ou à un texte dans le cas où aucune valeur ne peut être calculée : peut être calculée : • Dans le cas ou delta est supérieur ou égal à zéro : Ecrire (X1, X2) ; • Dans le cas ou delta est inférieur à zéro et donc pas de solution dans R : • Ecrire ('pas de solution dans R’) Action d’affectation • Pourquoi ? • Pour donner une nouvelle valeur (contenu) à une variable ; cette valeur peut être un résultat de calcul. • Affectation : Machine     Machine • Syntaxe • Affectation d’une valeur à une variable : • Affectation d’une valeur à une variable : • Nom-variable    valeur ; • Affectation du résultat de calcul à une variable : • Nom-variable    nom-variable1 opérateur nom-variable2 ; • Ou encore l’affectation du résultat de plusieurs calcul à une variable : • Nom-variable    nom-variable1 opérateur1 nom-variable2… opérateur-n nom-variable n ; Exemple • Exemple • La résolution d’une équation de second degré se fait par calcul du discriminant delta : • delta b*b – 4*a*c ; • delta b*b – 4*a*c ; • Dans le cas de delta > 0 la machine réalise le calcul des deux solutions X1 et X2 en exécutant les instructions : • X1 -b + √delta / 2*a ; • X2 -b - √delta / 2*a ; Exercices 01 • Ecrire un algorithme qui permet de multiplier un nombre par 2, lui ajouter 7, diviser le résultat par 2 et soustrait le nombre de départ puis afficher le résultat puis afficher le résultat Solution Exercice 01 Algorithme Exo1 ; Declaration x, y : entier ; Debut Lire (x) ; Lire (x) ; y x*2 ; y y + 7 ; y y – x ; Ecrire (y) ; Fin. Exécution de cet algorithme pour la valeur de x = 2 : Exécution de cet algorithme pour la valeur de x = 10 : 2- Soit l’algorithme suivant : • Quel est le rôle de cet algorithme ? Exécution de cet algorithme pour les valeurs x = 2.5 et y = 6.0 • Pour répondre à cette question il est nécessaire d’exécuter l’algorithme. • Le résultat est x = 6.0 et y = 2.5 • Il parait que cet algorithme permet d’échanger les valeurs de deux réels en utilisant une variable intermédiaire z. vérifier le rôle de cet algorithme • Pour vérifier ce rôle il est impératif de faire au moins une autre exécution avec d’autres valeurs. • Prenons x = 101.67 et y = -18.3 • Le résultat est x = -18.3 et y = 101.67 Exemple d’algorithme • 3- Ecrire un algorithme qui calcul le prix à payer pour une marchandise à partir d’un prix initial et d’une remise sur ce prix. La formule à appliquer est PaP = PI – uploads/Management/ 4-cours-informatique-02.pdf

  • 18
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Mar 04, 2021
  • Catégorie Management
  • Langue French
  • Taille du fichier 0.5474MB