cours-TD-algorithme

December 20, 2016 | Author: Latifa El Alami | Category: N/A
Share Embed Donate


Short Description

Download cours-TD-algorithme...

Description

Cours ALGORITHMIQUE

Elies JEBRI

Chapitre I. INTRODUCTION.................................................................................................... 1 I.1. Intérêt de l’algorithmique ................................................................................................ 2 I.2. Définitions........................................................................................................................ 2 Qu’est ce que l’Algorithmique ? ........................................................................................ 2 I.3. Les étapes de résolution d’un problème........................................................................... 2 I.4. Structure d’un algorithme ................................................................................................ 3 Rappel des notions de :....................................................................................................... 3 Exemple 1 ........................................................................................................................... 3 Chapitre II. LES ACTIONS ALGORITHMIQUES SIMPLES ................................................. 5 II.1. 0. Concepts de base ........................................................................................................ 5 II.2. 1. L’affichage : ECRIRE ................................................................................................ 5 Exemples ............................................................................................................................ 5 II.3. 2. La saisie des données : LIRE ...................................................................................... 5 II.4. 3. Les expressions arithmétiques .................................................................................... 6 II.5. 4. L’affectation ............................................................................................................... 6 Chapitre III. Les structures Conditionnelles ............................................................................ 11 III.1. Introduction ................................................................................................................. 11 III.2. Notion de PREDICAT ................................................................................................ 11 III.3. Evaluation d'une expression logique ........................................................................... 11 Notons que........................................................................................................................ 11 Notation et Ordre de priorité des opérateurs logiques...................................................... 11 Tableaux d'évaluations ..................................................................................................... 11 III.4. La structure conditionnelle SI ..................................................................................... 12 Exemple 1 ......................................................................................................................... 13 Exemples .......................................................................................................................... 14 III.5. La structure conditionnelle SELON ............................................................................ 14 Exemple ............................................................................................................................ 14 Chapitre IV. LES STRUCTURES REPETITIVES ................................................................. 17 IV.1. Introduction ................................................................................................................. 17 IV.2. La boucle POUR ......................................................................................................... 17 Syntaxe ............................................................................................................................. 17 IV.3. La boucle Répéter … Jusqu'à ...................................................................................... 19 IV.4. La boucle TANT QUE … ........................................................................................... 20 Chapitre V. Traitement des Tableaux .................................................................................... 24 V.2. 1. Les vecteurs .............................................................................................................. 24 V.3. Rappel de Déclaration d’un vecteur ............................................................................. 25 V.4. Chargement d’un Vecteur ............................................................................................ 25 V.5. Solution de l’exemple avec la notion de tableau ................. Erreur ! Signet non défini. V.6. 2. Les matrices .............................................................................................................. 27 Chapitre VI. TD ALGORITHMIQUE 1 .................................................................................. 28 Exercice 12 ....................................................................................................................... 28 Chapitre VII. LES ALGORITHMES DE TRI ......................................................................... 29 1. Tri par sélection ............................................................................................................ 29 Principe............................................................................................................................. 29 Exemple ............................................................................................................................ 29 2. Algorithme de tri par sélection et permutation............................................................. 30 VII.2. 3. Tri par la méthode des bulles ................................................................................. 31

1

Cours ALGORITHMIQUE

Elies JEBRI

CHAPITRE I. INTRODUCTION Objectif : 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

I.1.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).

I.2.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.

I.3.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.

2

Cours ALGORITHMIQUE

Elies JEBRI

Illustration du fonctionnement d'un ordinateur

 Dispositifs d’entrée : - clavier - souris, -

MEMOIRE

Données en entrée

EXECUTANT

..... Exécution



Suite de cases mémoire

Ecran ou Imprimante

Résultat Données en sortie

On peut dire que la partie EXECUTANT est le problème de l’algorithmique, et la partie MEMOIRE (stockage de donnée) concerne la matière " Structures de données ".

I.4.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) 1-d) 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.

3

Cours ALGORITHMIQUE

Elies JEBRI

 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) / (C1+C2+C3) {Affichage 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.

4

Cours ALGORITHMIQUE

Elies JEBRI

CHAPITRE II. LES ACTIONS ALGORITHMIQUES SIMPLES Objectif : Comprendre les actions algorithmiques simples et connaître leurs syntaxes Éléments de contenu :     

Concepts de base La saisie de données L'affichage L'affectation L'évaluation d'une expression arithmétique

II.1.0. Concepts de base Dans tout ce qui suit, pour présenter les syntaxes, on suit les règles suivantes :  Ce qui est entre les crochets est optionnel.  La suite des points de suspensions "…" veut dire que ce qui précède peut se répéter plusieurs fois.  Le symbole " | " veut dire : " ou bien ".  Les mots en majuscule sont des mots réservés.  Ce qui est entre accolades est un commentaire, pour la lisibilité des algorithmes.

II.2.1. L’affichage : ECRIRE Cette action permet de communiquer un résultat ou un message sur écran ou sur imprimante pour l'utilisateur. Syntaxe ECRIRE(paramètre1 [[,paramètre2]…]) Paramètre = variable | expression | constante Constante = nombre | message 1-e) Exemples ECRIRE(" La valeur de 3*2 est égale à ", 3*2)   message expression ECRIRE(" La moyenne est = ", MOY)  Variable

II.3.2. La saisie des données : LIRE L'ordre LIRE permet à l'ordinateur d’acquérir des données à partir de l’utilisateur, dans des cases mémoire bien définies (qui sont les variables déclarées). Rappel Les variables sont des cases mémoire, supposées contenir un type de données, nommées par le nom de variable.

5

Cours ALGORITHMIQUE

Elies JEBRI

Syntaxe LIRE(variable1 [[, variable2] …]) Remarques : 1. La saisie se fait uniquement dans des variables. Ce sont les cases (cellules) qui pourront accueillir les données correspondantes. 2. La donnée à introduire doit être de même type que la variable réceptrice.

II.4.3. Les expressions arithmétiques Parmi les opérateurs, on distingue les fonctions et les opérateurs. Les fonctions  La fonction DIV permet de donner le résultat de la division entière d’un nombre par un autre. 7 DIV 2  3  La fonction MOD (se lit Modulo), permet de donner le reste de la division entière d’un entier par un autre. 7 MOD 2  1  La fonction ** ou ^ permet d’élever un nombre à la puissance d’un autre. 2**3 8 Les opérateurs



Sont le "+", "-", "/", "*" et le "-" un aire.

Ordre de priorité Les opérateurs suivants sont ordonnés du plus prioritaire au moins prioritaire dans l'évaluation d'une expression arithmétique. 1- Les parenthèses 2- "- " un aire 3- Les fonctions 4- Les opérateurs de multiplication " * " et de division " / " 5- Les opérateurs d’addition " + " et de soustraction " - " Remarque Si l’ordre entre les opérateurs dans une expression est le même, on évalue l’expression de gauche à droite. Exemples 3**2+4 = 9+4=13 3**(2+4)=3**6 car les parenthèses sont plus prioritaires 17 MOD 10 DIV 3=(17MOD10)DIV3=7DIV3=2

II.5.4. L’affectation C’est l’action de charger une valeur dans une variable. Cette valeur peut elle-même être une variable, le résultat d’une expression arithmétique ou logique ou une constante. Syntaxe Variable1  variable2 | expression | constante A  B se lit " A reçoit B "

6

Cours ALGORITHMIQUE

Elies JEBRI

Le résultat de cette action est de mettre le contenu de la variable B dans la variable A. Si B était une expression, elle aurait été évaluée, ensuite sa valeur est transférée dans la variable réceptrice (à notre gauche). Remarque L’affectation ne vide pas la variable émettrice (à notre droite) de sa valeur. Par contre, le contenu de la variable réceptrice est écrasé et remplacé par la nouvelle valeur. Illustration de l’affectation Supposons qu’on ait deux récipients A et B où A contient un liquide coloré en jaune et B contient un liquide rouge. Peut-on échanger les contenus de A et de B (c.-à-d. mettre le liquide rouge dans A et le liquide jaune dans B). Résultat Cette opération n’est possible que si on utilise un troisième récipient qu’on appelle récipient auxiliaire.

Etat 0 A

Aux Aux B

Aux

Etat 1

A = Jaune B = Rouge Aux = Vide

AuxB A = Jaune B = vide Aux = Rouge

BA A = Vide B = Jaune Aux = Rouge

Etat 2

AAux A = Rouge B = Jaune Aux = Vide

Etat Final

Avec des variables réelles, cette opération d’échange de contenu se fait entre cases mémoires qui représentent les conteneurs (récipients). Problème : Echanger les valeurs de 2 variables numériques. Principe : pour éviter de perdre l’une des 2 valeurs initiales (A et B), on utilise une 3ième variable pour préserver la valeur initiale de la première variable modifiée.

7

Cours ALGORITHMIQUE

Elies JEBRI

Remarques Importantes  Toute variable utilisée dans un algorithme doit être déclarée au début de l’algorithme, une fois et une seule.  L’affectation de valeur à une variable peut être effectuée autant de fois que l’on veut au cours d’un algorithme. La valeur de la variable sera alors modifiée à chaque affectation.  Lorsqu’une variable apparaît en partie droite d’une action d’affectation, c’est que l’on suppose qu’elle contient obligatoirement une valeur. Cette valeur devra lui avoir été affectée auparavant (par initialisation ou saisie), sinon l’on dira que la valeur est indéfinie, et le résultat de l’affectation ne sera pas défini.  La variable réceptrice d’une affectation doit être de même type que de la valeur à affecter ou de type compatible. Le type est dit compatible s’il est inclus dans le type de la variable réceptrice. Exemple : REEL  ENTIER est possible mais pas l’inverse. Exemple Ecrire l’algorithme qui permet de calculer le discriminant  (delta) d’une équation du second degré.

8

Cours ALGORITHMIQUE

Elies JEBRI

TD ALGORITHMIQUE I Les actions simples Exercice 1 Soit l’algorithme suivant : ALGORITHME EQUATION2D VAR a,b,c : REEL delta : REEL DEBUT Ecrire("Donnez la valeur du premier paramètre") Lire(a) Ecrire("Donnez la valeur du second paramètre") Lire(b) Ecrire("Donnez la valeur du troisième paramètre") Lire(c) delta b2 b * b - 4a * c Ecrire(" le discriminant est =  ") Fin 1 - Décrire cet algorithme en détail (ligne par ligne), en donnant les éventuelles erreurs. 2 - Quelles sont les valeurs de delta dans les cas suivants : a=2 b=-3 c=1 a=1 b=2 c=2 Exercice 2 Ecrire l'algorithme permettant de saisir l'abscisse d'un point A et de calculer son ordonné f(x)= 2 x3 - 3x2 + 4 Evaluer le résultat en expliquant les ordres de priorité pour x=-2. Exercice 3 Ecrire l'algorithme qui permet de permuter les valeurs de A et B sans utiliser de variable auxiliaire. Exercice 4 Faire l'algorithme qui lit les coordonnées de deux vecteurs u et v, et de calculer leur norme et leur produit scalaire. Exercice 5 Ecrire l’algorithme qui permet de saisir les paramètres d’une équation du second degré et de calculer son discriminant . Exercice 6 Ecrire l’algorithme permettant de calculer et d’afficher le salaire net d’un employé. Sachant que :  Le salaire net = Salaire brut – Valeur de l’impôt – Valeur de CNSS  Salaire brut = (Salaire de base + Prime de technicité + Prime de transport + Prime des enfants) * Taux de travail  Taux de travail = Nombre de jours travaillés / 26

9

Cours ALGORITHMIQUE

    

Elies JEBRI

Prime des enfants = Prime d’un enfant * Nombre d’enfants Valeur de l’Impôt = Taux de l’Impôt * Salaire Brut Valeur de CNSS = Taux de CNSS * Salaire Brut Taux CNSS = 26,5% Taux Impôt = 2%

Indication : Décrire l’environnement de travail : toutes les variables en entrée, en sortie et de calcul.

10

Cours ALGORITHMIQUE

Elies JEBRI

CHAPITRE III. LES STRUCTURES CONDITIONNELLES III.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.

III.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

III.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-f)  

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-g) 1. non :  2. et :  3. ou :  1-h) 1-i)

Notation et Ordre de priorité des opérateurs logiques

Tableaux d'évaluations

La négation d'une condition A Vrai Faux

11

Non A Faux Vrai

Cours ALGORITHMIQUE

Elies JEBRI

L'intersection de deux conditions A et B Vrai

Vrai

Faux

Vrai

Faux

Faux

Faux

Faux

A ou B Vrai

Vrai

Faux

Vrai

Vrai

Faux

Vrai

Faux

L'union de deux conditions

Théorème de DE MORGAN  (A  B)  A  B  (A  B)  A  B

III.4. La structure conditionnelle SI Syntaxe SI ALORS [SINON ] FINSI Format Organigramme faux

vrai condition

TRAITEMENT-2

TRAITEMENT-1

FINSI    

La 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 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 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.

12

Cours ALGORITHMIQUE

Elies JEBRI

1-j) 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

13

Cours ALGORITHMIQUE

Elies JEBRI

1-k) 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.

III.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 : ………. ] [SINON : = 500. En plus, la prime des enfants est définit comme suit :  7DT pour le premier enfant,  5DT pour le deuxième enfant,  4DT pour le troisième enfant.  Pas de prime pour le reste. Exercice 3 Ecrire l'algorithme qui permet de saisir un nombre puis déterminer s’il appartient à un intervalle donné, sachant que les extrémités de l’intervalle sont fixées par l’utilisateur. Exercice 4 Ecrire l'algorithme qui permet de calculer le montant des heures supplémentaires d’un employé, sachant le prix unitaire d’une heure selon le barème suivant :  Les 39 premières heures sans supplément,  De la 40ième à la 44ième heure sont majorées de 50%,  De la 45ième à la 49ième heure sont majorées de 75%,  De la 50ième heure ou plus, sont majorées de 100%. Exercice 5 Ecrire l'algorithme qui permet de saisir la moyenne générale d’un étudiant et de déterminer son résultat et sa mention. (les conditions de rachat sont appliquées à partir de 9,75. Exercice 6 Ecrire l'algorithme qui permet de saisir les trois paramètres d'une équation du second degré, et de discuter les solutions selon les valeurs de a, b et c, lorsqu'elles sont nulles ou pas. Exercice 7 Ecrire l'algorithme qui permet de saisir le jour, le mois et l'année d'une date (Mois : numéro du mois), et de déterminer si elle est correcte ou non, et où est l'erreur. Exercice 8

15

Cours ALGORITHMIQUE

Elies JEBRI

Ecrire l'algorithme qui permet de saisir deux nombres, et un opérateur et d'évaluer l'expression arithmétique correspondante. Exercice 9 Ecrire l'algorithme CONTRAT qui permet d'aider une compagnie d'assurance à prendre une décision concernant les demandes d'affiliation en se basant sur les critères suivants : CRITERE DECISION Contrat A Contrat B Contrat refusé Expertise demandée

AGE

Bonne santé

Accident

30 -

OUI OUI NON OUI

NON OUI OUI OUI

Exercice 10 Ecrire un algorithme qui permet de saisir un numéro de mois et un jour (le contrôle n'est pas demandé) et d'afficher la période correspondante selon le tableau suivant : Période DU AU Vacances d'été 1/7 15/9 Premier trimestre 16/9 19/12 Vacances d'hiver 20/12 3/1 Deuxième trimestre 4/1 19/3 Vacances de printemps 20/3 3/4 Troisième trimestre 4/4 30/6 Exercice 11 Ecrire l'algorithme permettant de lire la valeur de la variable DEVINETTE et d’afficher parmi les messages suivants celui qui correspond à la valeur trouvée : ROUGE si la couleur vaut R ou r VERT si la couleur vaut V ou v BLEU si la couleur vaut B ou b NOIR pour tout autre caractère. Exercice 12 Ecrire l'algorithme permettant de lire la valeur de la température de l’eau et d’afficher son état : GLACE Si la température inférieure à 0, EAU Si la température est strictement supérieure à 0 et inférieure à 100, VAPEUR Si la température supérieure à 100. Exercice 13 Ecrire l'algorithme qui lit un entier positif inférieur à 999 (composé de trois chiffres au maximum) et d'afficher le nombre de centaines, de dizaines et d'unités.

16

Cours ALGORITHMIQUE

Elies JEBRI

CHAPITRE IV. LES STRUCTURES REPETITIVES IV.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 la somme et ensuite diviser la somme par N. Cette solution nécessite la réservation de l'espace par la déclaration des variables, et une série de séquences d'écriture/lecture. Ce problème est résolu à l'aide des structures répétitives. Celles ci permettent de donner un ordre de répétition d'une action ou d'une séquence d'actions une ou plusieurs fois.

IV.2. La boucle POUR Cette structure exprime la répétition d'un traitement un nombre de fois. 1-m) 1-n) Syntaxe POUR Vc DE Vi A Vf [PAS Vp] FAIRE FINFAIRE Où

Vc est une variable entière, qui compte le nombre de répétition du , Vi la valeur initiale à laquelle Vc est initialisé, Vf la valeur finale à laquelle se termine Vc, Vp la valeur du pas, c'est la valeur qu'on rajoute à Vc à chaque fin de traitement.

Remarque 1. La boucle POUR est utilisée lorsqu'on connaît le nombre de répétition du d'avance. 2. La valeur du pas peut être positive ou négative et par conséquent, il faut; au départ de la boucle; que Vi = Vf selon la positivité ou la négativité de cette valeur. 3. La valeur du pas est égale à 1 par défaut. Les étapes d'exécution de la boucle POUR 1) Initialisation de Vc par la valeur de Vi (comme si on avait VcVi) 2) Test si Vi dépasse () Vf (du côté supérieur ou inférieur, selon la positivité ou la négativité du pas). Si oui, alors la boucle s'arrête et l'exécution se poursuit après le FINFAIRE Sinon,  Exécution du ,  Incrémentation ou décrémentation de Vc par la valeur du pas,  Retour à l'étape 2. Application Ecrire l'algorithme qui permet de saisir les moyennes des N étudiants de la classe Informatique et de calculer la moyenne générale de la classe.

17

Cours ALGORITHMIQUE

Elies JEBRI

Résolution Sans les boucles, on est obligé de déclarer N variables, et d'écrire N actions LIRE. LIRE(note) S S + MOY LIRE(MOY) N S S + MOY fois ….. LIRE(MOY) S S + MOY La boucle POUR donne l'ordre à la machine d'itérer les deux actions Donc le compteur varie de 1 jusqu'à N avec un pas de 1.

LIRE(MOY) SS+ MOY N fois.

ALGORITHME MOYENNE VAR i, N : entier MOY, MC : réel DEBUT ECRIRE("Donner le nombre d'étudiants") LIRE(N) SI (N > 0) ALORS S  0 {Initialisation de S} POUR i DE 1 A N FAIRE {Le pas égale 1 par défaut} ECRIRE("Donner la moyenne de l'étudiant n°", i) LIRE(MOY) S  S + MOY {on rajoute la moyenne du iième étudiant à la somme} FIN FAIRE MC  S / N ECRIRE("La moyenne de la classe est : ", MC) SINON ECRIRE("Erreur dans le nombre d'étudiants") FINSI FIN Remarque Juste Avant le FIN FAIRE, le changement de la valeur de i se fait automatiquement. Application 1 Ecrire l'algorithme qui permet d'afficher tous les nombres pairs qui existent entre 1 et 10. 1ière solution POUR i de 2 à 10 pas 2 Faire ECRIRE(i) FINFAIRE

2ième solution POUR i de 2 à 10 Faire SI (i mod 2 = 0) ALORS ECRIRE(i) FINSI FINFAIRE

3ième solution POUR i de 1 à 5 Faire ECRIRE(2*i) FINFAIRE

Application 2 Ecrire l'algorithme qui permet d'afficher tous les nombres impairs entre 50 et 100 dans l'ordre décroissant.

18

Cours ALGORITHMIQUE

Elies JEBRI

POUR i de 99 à 50 PAS (-2) FAIRE ECRIRE(i) FIN FAIRE La valeur finale peut être 50 ou 51 car le test de sortie est i < Vf (49 < 50 ou à 51)

IV.3. La boucle Répéter … Jusqu'à Syntaxe Répéter Jusqu'à (condition d'arrêt) Cet ordre d'itération permet de répéter le une ou plusieurs fois et de s'arrêter sur une condition. En effet, lorsque la condition est vérifiée, la boucle s'arrête, si non elle réexécute le . Remarques 1. Dans cette boucle, le traitement est exécuté au moins une fois avant l'évaluation de la condition d'arrêt. 2. Il doit y avoir une action dans le qui modifie la valeur de la condition. Les étapes d'exécution de la boucle Répéter 1) Exécution du 2) Test de la valeur de la
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF