CHAPITRE : NOTION D’ALGORITHME Objectifs: A la fin de ce chapitre, l’élève sera

CHAPITRE : NOTION D’ALGORITHME Objectifs: A la fin de ce chapitre, l’élève sera capable de : - Définir les termes : algorithme, algorigramme, variable, fonction, procédure, algorithmique - Enoncer les étapes de résolution d’un problème - Donner la structure générale d’un algorithme - Formaliser un algorithme - Ecrire un algorithme I. LES ETAPES DE RESOLUTION D’UN PROBLEME Face à un problème quelconque, nous devons nous poser au préalable un certain nombre de questions. La réponse à ces questions facilitera la résolution du problème c'est-à-dire aboutir à un résultat. Les étapes de résolution d’un problème sont les suivantes : - Comprendre l’énoncé du problème - Décomposer le problème en sous-problèmes plus simple à résoudre - 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. - Elaboration d'un algorithme. II. LES ETAPES DE RESOLUTION D’UN PROBLEME EN LANGAGE ALGORITHMIQUE Certains de nos problèmes demandent des efforts énormes aussi bien cognitifs que psychomoteurs. Alors, pour alléger ce problème l’Homme a souvent recourt à la machine afin de lui faciliter certaines tâches. Mais pour y arriver nous devons nous poser un certains nombres de question d’où la notion d’algorithme. II.1 Définition d’un algorithme C’est une suite d’opérations ordonnées et finies dont l’intérêt est la résolution d’un problème précis. II.2 LES CARACTERISTIQUES D’UN BON ALGORITHME Un bon algorithme doit être : - Défini sans ambigüité. - Se termine après un nombre fini d’opérations. - Manipule les objets qui doivent être définis de façon très précise. II.3 FORMALISME D’UN ALGORITHME Un algorithme est défini par : • Son nom ; • La déclaration des variables et des constantes ; • La déclaration des fonctions et des procédures ; • Le corps de l’algorithme est constitué des actions du traitement. Il est délimité par les termes DEBUT et FIN. Remarque : Afin de permettre une plus grande visibilité, il faudrait utiliser des commentaires délimités par les sigles /*commentaires*/ Un commentaire sur une seule ligne est précédé de // III. LE FORMALISME GENERAL D’UN ALGORITHME Un algorithme est écrit en utilisant un Langage de Description d’Algorithme (LDA). L’algorithme ne doit pas être confondu avec le langage proprement dit. Il comprend les parties suivantes : En-tête Déclarations des variables Déclarations des fonctions, procédures Corps de l’algorithme III.1 L’en-tête Il permet tout simplement d’identifier l’algorithme. La syntaxe est la suivante : Algorithme nom de l’algorithme ; Exemple d’entête : Algorithme préparer_gâteau ; Autres exemples Algorithme Calcul_surface_cercle ; Algorithme somme_entier ; III.2 Déclaration des variables, constantes La déclaration : c’est une liste exhaustive des objets, grandeurs utilisés et manipulés dans le corps de l’algorithme. Cette liste est placée en début d’algorithme. a) Déclaration des constantes Elles représentent des objets (nombre, caractères,…) dont la valeur ne peut pas être modifiée pendant l’exécution de l’algorithme. Le mot clé est const ou constante. La syntaxe est la suivante: const NomConstante = Valeur Exemple : Const pi = 3.14 Const N = 100 b) Déclaration des variables Elles représentent les objets (des nombres, des caractères, des chaînes de caractères, des booléennes ;…) dont la valeur peut être modifiée au cours de l’exécution de l’algorithme. Le mot clé permettant d’effectuer la déclaration d’une variable est Var. la syntaxe est la suivante : Var Nomdelavariable : Type de la variable ; Exemples : Var i : entier ; var nb : réel ; var lettre : caractère ; Var trouve : Booléen ; var rayon : réel ; var nom : chaine de caractères; c) Les types d’objets ou types de base Les types sont des caractéristiques des constantes et variables utilisées dans l’écriture d’un algorithme. On distingue cinq types de base : Le type entier Le type réel Le type caractère Le type chaine de caractères Le type booléen III.2 Déclaration des fonctions, procédures a) Déclaration de la fonction Une fonction est un bloc d’instructions nommée et paramétrée, réalisant une certaine tâche. Elle admet zéro, un ou plusieurs paramètres et renvoie toujours un résultat. La syntaxe de déclaration d’une fonction est la suivante : fonction nom_fonction (paramètre1 : type,…, paramètre n : type): type valeur ; Exemple : Fonction moyenne (note1 : entier, note2 : entier, note3 : entier) : réel ; Début (note1 + note2 + note3) / 3 ; moyenne Fin fonction ; b) Déclaration de la procédure Tout comme une fonction, une procédure est un ensemble d’ordre accomplissant une tâche particulière, mais ne renvoie pas des résultats. La syntaxe de déclaration d’une procédure est la suivante : procedure nom de la procédure (paramètre1 : type,…, paramètre n : type) ; Exemple : procedure moyenne2 (note1 : entier, note2 : entier, note3 : entier) ; Var M : réel ; Début (note1 + note2 + note3) / 3 ; M Fin IV. L’ALGORIGRAMME L’algorigramme est une représentation graphique de l’algorithme. L’algorithme peut être décrit sous forme graphique (algorigramme ou organigramme) ou sous forme littérale (notation algorithmique). Exemple : L’algorithme d’Euclide Donné ci-après sous forme d'organigramme, l'algorithme d'Euclide permet de trouver le plus grand diviseur commun de deux nombres. V. LES STRUCTURES ALGORITHMIQUES L’algorithmique est la science des algorithmes. Elle s’intéresse à l’art de construire des algorithmes ainsi qu’à caractériser leur validité, leur robustesse, leur réutilisabilité, leur complexité ou leur efficacité. IV.1 QUELQUES INSTRUCTIONS SIMPLES OU INSTRUCTIONS DE BASE Les instructions de base en algorithmique sont les suivantes : L’affectation Cette instruction permet d’attribuer une valeur à une variable. La syntaxe est la suivante : Identificateur de la variable valeur à affecter ; Exemple : a 2 ; (se lit a reçoit 2) somme n1 + n2 + n3 ; (se lit somme reçoit la valeur de la somme n1 + n2 + n3) L’affichage Elle permet d’afficher un résultat à l’écran. La syntaxe est la suivante : Ecrire (‘‘message à afficher à l’écran’’) ; ou Afficher (‘‘message à afficher à l’écran’’) ; Exemple : Ecrire (‘‘Veuillez saisir au clavier les trois notes de l’élève’’) ; Ecrire (‘‘la somme totale des notes est de :’’) ; La lecture ou la saisie au clavier Elle permet de lire la valeur d’une variable saisie. La syntaxe est la suivante : Lire (identificateur de la variable) ; Exemple : Lire (a) ; Lire (nom) ; Lire (rayon) ; L’incrémentation / la décrémentation L’incrémentation consiste à augmenter la valeur d’une variable tandis que la décrémentation consiste à diminuer la valeur d’une variable. La syntaxe de l’incrémentation est la suivante : identificateur de la variable identificateur de la variable + valeur à ajouter La syntaxe de la décrémentation est la suivante : identificateur de la variable identificateur de la variable - valeur à ajouter NB : il faut noter que la décrémentation et l’incrémentation modifient la valeur de la variable initiale. Exemple : compteur compteur +1 ; (incrémentation) Pas Pas – 2 ; (décrémentation) IV.2 LES STRUCTURES LINEAIRES Elle est caractérisée par une suite d’instructions à exécuter successivement dans l’ordre énoncé. Les actions successives sont mentionnées les unes après les autres. EXEMPLE D’ALGORITHME : Ecrire un algorithme qui permet de calculer la somme de deux nombres réels. Algorithme Somme_Nombre ; /* ici c’est le nom de l’algorithme */ /* déclaration des variables du problème */ Var a, b : réel ; s : réel ; /* Maintenant nous allons débuter avec le déroulement de l’algorithme proprement dit avec le mot clé Début*/ Début Ecrire (‘Saisir le nombre a ‘) ; Lire (a) ; Ecrire (‘Saisir le nombre b ‘) ; Lire (b) ; s ← a + b ; /*affectation d’une valeur à la variable s*/ Ecrire (‘la somme de ces deux nombres est :’, s) ; /*Affichage de la valeur de s*/ Fin IV.2.1 La structure alternative Si…Alors… Sinon Dans cette structure, l’exécution d’une des deux actions distinctes ne dépend que du résultat d’un test effectué sur la condition qui peut être une variable ou un événement. • Si la condition est vérifiée, seule la première action est exécutée ; • Si la condition n’est pas vérifiée, seule est effectuée la deuxième action. Exemple d’application : algorithme qui calcule la racine carrée d’un nombre réel positif (utilisation de la structure alternative si...Alors…sinon). Algorithme Racine_Carrée ; Var : x: réel ; r: réel ; Début Ecrire (‘Saisir le nombre x‘) ; Lire (x) ; Si (x < 0) Alors Ecrire (‘x est négatif’) ; Sinon r ← racine (x) ; Écrire (‘la racine carrée de ‘, x,’est :’, r) ; FinSi Fin IV.2.2 Les structures répétitives ou itératives Les structures répétitives sont encore désignées sous le nom de boucle. a) La structure Répéter action Jusqu’à condition La séquence d’actions est exécutée au moins une fois et est répétée tant que la condition reste vraie. On sort de la boucle dès lors que le test de la condition s’avère faux. b) La structure Tant que condition faire action Contrairement à la boucle répéter….Jusqu’à, la structure Tant que permet de tester d'abord la condition et la séquence d’actions est exécutée tant que la condition est vraie. c) La structure : uploads/Ingenierie_Lourd/ chapitre-algo.pdf

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