Chapitre 1 INTRODUCTION A L'ALGORITHME Objectif :Ce cours d'informatique Introd
Chapitre 1 INTRODUCTION A L'ALGORITHME Objectif :Ce cours d'informatique Introduction à l'algorithme à pour objectif de faire connaître le but du cours d'algorithmique Éléments de contenu : Qu'est ce qu'une application informatique ? Comment arriver d'un problème réel à un programme pouvant être exécuté par ordinateur Liens entre ALGORITHMIQUE et STRUCTURES DE DONNEES Intérêt de l'algorithmique Informatiser une application, facturation de la consommation d'eau, par exemple, c'est faire réaliser par ordinateur, une tâche qui était réalisée par l'Homme. Pour faire exécuter une tâche par ordinateur, il faut tout d'abord, détailler 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 si élémentaire et simple à exécuter, pouvant être codée en un programme dans un langage compréhensible par ordinateur. Toute suite d'étapes si élémentaire et simple à exécuter s'appelle un ALGORITHME. Un programme c'est un algorithme codé dans un langage compréhensible par ordinateur à l'aide d'un compilateur (traducteur). Définitions L'algorithme est le résultat d'une démarche logique de résolution d'un problème pour la mise en œuvre pratique sur ordinateur et afin d'obtenir des résultats concrets il faut passer par l'intermédiaire d'un langage de propagation. Un algorithme décrit une succession d'opérations qui, si elles sont fidèlement exécutées, produiront le résultat désiré. Un algorithme est une suite d'actions que devra effectuer un automate pour arriver en un temps fini, à un résultat déterminé à partir d'une situation donnée. La suite d'opérations sera composée d'actions élémentaires appelées instructions. 1-a) Qu'est ce que l'Algorithmique ? C'est la logique d'écrire des algorithmes. Pour pouvoir écrire des algorithmes, il faut connaître la résolution manuelle du problème, connaître les capacités de l'ordinateur en terme d'actions élémentaires qu'il peut assurer et la logique d'exécution des instructions. Les étapes de résolution d'un problème 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 : 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. Structure d'un algorithme ALGORITHME nom_de_l'algorithme CONST {Définition des constantes} TYPE {Définition de types} VAR {Déclaration de variables} DEBUT {Suite d'instructions} FIN 1-b) Rappel des notions de : · Constante, · Type, · Variable. 1-c) Exemple 1 ALGORITHME afficher DEBUT Ecrire("La valeur de 3*5 est ", 3*5) FIN Cet algorithme permet d'afficher sur l'écran la phrase suivante : La valeur de 3*5 est 15 Exemple 2 On veut écrire l'algorithme qui permet de saisir 3 notes d'un étudiant dans trois matières, étant donnés les coefficients respectifs 2, 3 et 1. Résolution A partir de l'énoncé du problème, nous recherchons la solution par une démarche en 2 phases. On doit comprendre comment le résoudre manuellement, Définir ce qu'on a besoin comme données, quelles est la démarche à suivre (formules de calcul) pour arriver aux résultats. Pour notre problème, nous connaissons les coefficients et la formule de calcul (åNi*Ci / åCi), nous avons besoins des notes de chaque matière dans l'ordre, et enfin nous pouvons communiquer le résultat à l'utilisateur. ALGORITHME MOYENNE CONST C1=2 C2=3 C3=1 VAR N1, N2, N3 : REEL MOY : REEL DEBUT {Affichage message : Invitation de l'utilisateur à introduire des données} ECRIRE(" Donner trois valeurs réelles ") {Saisie des notes} LIRE(N1, N2, N3) {Calcul de la moyenne} MOY¬ (N1*C1+N2*C2+N3*C3) / le du résultat sur l'écran} ECRIRE(" La moyenne est = ", MOY) FIN Remarque : Le texte entre les accolades est purement explicatif, il sert à rendre l'algorithme plus lisible. Chapitre 3 Les structures Conditionnelles 1.1.Introduction Souvent les problèmes nécessitent l'étude de plusieurs situations qui ne peuvent pas être traitées par les séquences d'actions simples. Puisqu'on a plusieurs situations, et qu'avant l'exécution, on ne sait pas à quel cas de figure on aura à exécuter, dans l'algorithme on doit prévoir tous les cas possibles. Ce sont les structures conditionnelles qui le permettent, en se basant sur ce qu'on appelle prédicat ou condition. 1.2. Notion de PREDICAT Un prédicat est un énoncé ou proposition qui peut être vrai ou faux selon ce qu'on est entrain de parler. En mathématiques, c'est une expression contenant une ou plusieurs variables et qui est susceptible de devenir une proposition vraie ou fausse selon les valeurs attribuées à ces variables. Exemple : (10 < 15) est un prédicat vrai (10 < 3) est un prédicat faux 1.3. Evaluation d'une expression logique Une condition est une expression de type logique. Ils lui correspondent deux valeurs possibles VRAI et FAUX qu'on note par V ou F. Considérons deux variables logiques A et B. Voyons quels sont les opérateurs logiques et leurs ordres de priorités. 1-a) Notons que (A = faux) <=> non A (A = vrai) <=> A Les opérateurs logiques sont : La négation : "non" L'intersection : "et" L'union : "ou" 1-b) Notation et Ordre de priorité des opérateurs logiques 1. non : ¬ 2. et : ^ 3. ou : v 1-c) 1-d) Tableaux d'évaluations La négation d'une condition A Non A Vrai Faux Faux Vrai L'intersection de deux conditions A et B Vrai Faux Vrai Vrai Faux Faux Faux Faux L'union de deux conditions A ou B Vrai Faux Vrai Vrai Vrai Faux Vrai Faux Théorème de DE MORGAN ¬(A ^ B) ↔ ¬A v ¬B ¬(A v B) ↔ ¬A ^ ¬B 1.4. La structure conditionnelle SI Syntaxe SI <Condition> ALORS <suite d’action(s)-1> [SINON <suite d’actions(s)-2>] FINSI Format Organigramme · La <condition> est un prédicat, qui peut être vrai ou faux, selon les valeurs des paramètres la constituant. · Si la condition est vérifiée (sa valeur est vrai), c'est la <suite d'actions-1> qui sera exécutée. Ensuite, le système passe à l'exécution juste après le FINSI. · Dans le cas contraire, lorsque la condition n'est pas vérifiée (valeur de la condition est faux), c'est la <suite d'actions-2> qui s'exécute, en cas où celle ci existe (facultative). Si elle n'existe pas, le système passe directement à l'instruction qui suit le FINSI. · Les suites d'actions 1 et 2, peuvent être des actions simples ou même des structures conditionnelles. 1-e) Exemple 1 Lire un nombre réel, et dire s'il est positif ou strictement négatif. ALGORITHME POS-NEG VAR A : réel DEBUT ECRIRE("Donner un nombre ") LIRE(A) SI (A < 0) ALORS ECRIRE(A, " est négatif ") SINON ECRIRE(A, " est positif ") FINSI FIN Autrement : ALGORITHME POS-NEG-1 VAR A : réel B : logique DEBUT ECRIRE("Donner un nombre ") LIRE(A) B ¬ (A < 0) SI (B) ALORS ECRIRE(A, " est négatif ") SINON ECRIRE(A, " est positif ") FINSI FIN Dans cet exemple, on a déterminé uniquement les cas de positivité ou de négativité, et on n'a pas déterminé le cas où A est nulle. ALGORITHME POS-NEG-NUL VAR A : réel DEBUT ECRIRE("Donner un nombre ") LIRE(A) SI (A < 0) ALORS ECRIRE(A, " est négatif ") SINON {A >= 0} SI (A > 0)ALORS ECRIRE(A, " est positif ") SINON {A = 0} ECRIRE (A, "est nulle") FINSI FINSI FIN 1-f) Exemples 1) Ecrire l'algorithme qui permet de déterminer si un entier lu est pair ou impair. 2) Ecrire l'algorithme qui permet de saisir deux nombres A et B et de déterminer si la valeur de A est supérieure, inférieure ou égale à B. 1.5. La structure conditionnelle SELON Cette structure conditionnelle est appelée aussi à choix multiple ou sélective car elle sélectionne entre plusieurs choix à la fois, et non entre deux choix alternatifs (le cas de la structure SI). Syntaxe SELON (sélecteur) FAIRE Cas <liste de valeurs-1> : <suite d'action (s)-1> [Cas <liste de valeur-2> : <suite d'action (s)-2> ………. ] [SINON : <suite d'action (s)-n> ] FINSELON Le sélecteur peut être une variable de type scalaire ou une expression arithmétique ou logique. La structure SELON évalue le "sélecteur", passe à comparer celui ci respectivement avec les valeurs dans les listes. En cas d'égalité avec une valeur, les actions correspondantes, qui sont devant cette valeur seront exécutées. Devant "Cas", il peut y avoir une seule valeur, une suite de valeurs séparées par des virgules et/ou un intervalle de valeurs. Après avoir traiter la suite d'actions correspondante, l'exécution se poursuit après le FINSELON. Remarque 1. Le sélecteur doit avoir le même type que les valeurs devant les cas. 2. Le type de ces valeurs ne doit être, ni réel ni chaîne de caractères. 1-g) Exemple Ecrire l'algorithme qui permet de saisir un numéro de couleur de l'arc-en- ciel et d'afficher la couleur correspondante : 1: rouge, 2 : orangé, 3 : jaune, 4 : vert, 5 : bleu, 6 : indigo et 7 : violet. Chapitre 4 Les structures repetitives 1.1. Introduction Dans les problèmes quotidiens, on ne traite pas uniquement des séquences d'actions, sous ou sans conditions, mais il peut être fréquent d'être obligé d'exécuter un traitement (séquence d'actions), plusieurs fois. En effet, pour saisir les N notes d'un étudiant et calculer sa moyenne, on est amené à saisir N variables, puis faire uploads/Philosophie/ cours 18 .pdf
Documents similaires










-
30
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Fev 14, 2022
- Catégorie Philosophy / Philo...
- Langue French
- Taille du fichier 0.2656MB