Niveaux: 1A Equipe ALGO Année universitaire: 2021/2022 Module: ALGORITHMIQUE 1

Niveaux: 1A Equipe ALGO Année universitaire: 2021/2022 Module: ALGORITHMIQUE 1 Chapitre 3:Les Structures de Contrôle Répétitives (Itératives) Plan Introduction Les structures itératives à condition d’arrêt Les structures itératives complètes 2 Introduction 3 Certains problèmes nécessitent l’exécution d’une ou plusieurs actions de manière répétitive un certain nombre de fois. 4 Problématique On veut écrire un algorithme qui calcule et affiche la moyenne d’un étudiant qui dispose de 3 notes ayant le même coefficient. Début Lire(N1,N2,N3) Moy (N1+N2+N3)/3 Ecrire(Moy) Fin Maintenant, si on veut faire le même traitement pour deux étudiants. Début Lire(N1,N2,N3) Moy (N1+N2+N3)/3 Ecrire(Moy) Lire(N1,N2,N3) Moy (N1+N2+N3)/3 Ecrire(Moy) Fin 5 Problématique Si on a N étudiants, on aura un algorithme qui sera constitué par N blocs d’actions identiques. Que peut-on dire d’un tel algorithme ? - Algorithme de Taille Importante - Algorithme lourd lors de l’exécution - Algorithme manquant de lisibilité - Algorithme difficile à maintenir, si jamais on fera une erreur au niveau des notes. On est en présence d’un algorithme de qualité Médiocre. 6 Solution Utiliser une structure capable de représenter le traitement (Saisie des notes, Calcul de la moyenne et Affichage) Une seule fois et de pouvoir l’exécuter autant de fois que l’on dispose d’étudiants. Utiliser les Structures Répétitives appelées également Structures Itératives ou encore les Boucles. On distingue 3 schémas de représentation d’une Boucle : Le Schéma Répéter ..…… Jusqu’à Le Schéma Tant que Le Schéma Pour EXEMPLE 1 Un élève veut vider son cartable qui contient 5 cahiers. Si on analyse cet exemple, on verra qu’il y a un traitement (tirer un cahier) qui va se répéter un nombre connu de fois (égale à 5) Voici un exemple de solution Pour i allant de 1 à 5 tirer un cahier Fin Pour Exemples Introductifs 7 EXEMPLE 2 Un élève veut vider son cartable qui contient un nombre inconnu des cahiers. Si on analyse cet exemple on verra qu’il y a deux méthodes possibles: Méthode 1 •On vérifie si le cartable n’est pas vide (la condition de répétition du traitement) si oui on va tirer un cahier (le traitement à faire) sinon on ne va rien faire et on va répéter ça jusqu’à ce que le cartable soit vide. On peut résumer ça en: Tant que ( cartable non vide) Tirer un cahier Fintantque Exemples Introductifs 8 Méthode 2 •On tire un cahier (On a supposé dès le début que le cartable n’est pas vide) puis on vérifie si le cartable est vide ou non, sinon on répète le même traitement jusqu’à ce qu’il soit vide. on peut résumer ça en: Répéter Tirer un cahier Jusqu’à (cartable vide) D’après ces exemples, on peut dire qu’il existe deux types de structures itératives: ▪Structure itérative complète où le nombre d’itérations est connu à l’avance. ▪Structure itérative à condition d’arrêt où le nombre d’itérations n’est pas connu à l’avance. 9 Exemples Introductifs Le Schéma REPETER Définition Il s’agit d’un traitement qui s’exécute et qui continue à s’exécuter jusqu’à ce qu’une condition logique devienne vraie ; cette condition logique est appelée condition d’arrêt. Syntaxe Répéter <traitement + Maj variables_Condition > Jusqu’à (cond_d’arrêt_atteinte) 10 Le Schéma REPETER Remarques ▪On utilise cette structure de répétition si le nombre de répétitions est inconnu. ▪L’arrêt du traitement est généré si la(les) condition(s) d’arrêt = VRAI. ▪Le traitement itératif s’exécute au moins une seule fois quelle que soit la situation. ▪Le schéma Répéter n’impose pas l’initialisation des variables de la condition logique. ▪ATTENTION : N’oubliez-pas de mettre à jour les variables de la condition logique au niveau du traitement de la boucle, sinon on risque d’avoir une Boucle INFINIE !!! 11 Le Schéma REPETER Exécution - Étape 0 : Initialiser les variables de la condition d’arrêt. - Étape 1 : Exécuter le traitement de la boucle. - Étape 2 : Mettre à jour les variables de la condition d’arrêt. - Étape 3 : Tester la condition d’arrêt Si Vraie Alors Aller à l’étape 4 Sinon Aller à l’étape 1 - Étape 4 : Sortir de la boucle et continuer l’exécution de l’algorithme après JUSQU’A. 12 Application 1: Écrire un algorithme qui lit un entier N et qui afficher la somme des N termes SN = 1+2+3+4+…….+N Exercices d’application 13 Algorithme SommeN VARIABLE N, I, S : Entier DEBUT LIRE(N) S 0 I 1 REPETER S S + I I I + 1 JUSQU’A (I>N) ECRIRE (‘S=‘, S) FIN Le schéma TANT QUE Définition Il s’agit d’un traitement qui ne peut s’exécuter que si une condition logique est satisfaite ; le traitement continue alors à s’exécuter et ne s’arrêtera que lorsque cette condition cessera d’être vraie. Cette condition logique est appelée Condition d’exécution. Syntaxe <Initialisation_Variables_Condition> Tant que (Condition_Exécution_Vraie) Faire <Traitement + Maj Variables_Condition> Fin tantque 14 Le schéma TANT QUE Remarques ▪On utilise cette structure de répétition si le nombre d’itération est inconnu à l’avance. ▪L’arrêt du traitement est généré si la(les) condition(s) d’exécution = FAUX. ▪Le traitement itératif s’exécute zéro ou plusieurs fois. ▪Le schéma Tant que Impose l’initialisation des variables de la condition logique. ▪ATTENTION : N’oubliez-pas de mettre à jour les variables de la condition logique au niveau du traitement de la boucle, sinon on risque d’avoir une Boucle INFINI !!! 15 Le Schéma TANT QUE Exécution - Étape 0 : Initialiser les variables de la condition d’exécution. - Étape 1 : Tester la condition d’exécution Si Vraie Alors Aller à étape 2 Sinon Aller à étape 4. - Étape 2 : Exécuter le traitement de la boucle. - Étape 3 : Mettre à jour les variables de la condition d’exécution et Aller à Étape1. - Étape 4 : Sortir de la boucle et continuer l’exécution de l’algorithme après Fin Tant que. 16 Application 2 Reprendre l’exercice précédent en utilisant le schéma TANT QUE. Exercices d’application 17 Algorithme SommeN VARIABLE N, I, S : Entier DEBUT LIRE(N) S 0 I 1 TANT QUE (I<=N) FAIRE S S + I I I + 1 FIN TANT QUE ECRIRE (‘S=‘, S) FIN Le schéma POUR Syntaxe Pour nomvar Allant de Vi à Vf (Pas=p) Faire <traitement> FinPour 18 Définition Il s’agit d’un traitement qui s’exécute et qui continue à s’exécuter sur une plage de valeurs connue à l’avance. Le traitement s’arrêtera lorsque la variable de la boucle POUR n’appartient plus à l’intervalle de valeurs. La boucle POUR est utilisée lorsque le nombre d’itérations est connu à l’avance 19 Remarques • nomvar : Compteur, doit être de type entier • Vi et Vf : valeur initiale et valeur finale de nomvar • P : Valeur du pas ; c’est la valeur utilisée pour incrémenter nomvar. • L’exécution de la boucle se termine lorsque nomvar dépasse la valeur de Vf. • Une boucle POUR peut être exécutée une ou plusieurs fois (Vf – Vi +1 fois). • Dans un schéma POUR, l’incrémentation du compteur est automatique en fonction de la valeur du Pas P. • On peut utiliser un « Pas » différent de 1, dans ce cas il faut ajouter l’option ( P = constante) Le schéma POUR Le schéma POUR Exécution Pour i allant de 1 à 3 faire Ecrire (‘’ Bonjour!’’) Fin pour 1 i=1 2 i<=3? 3 4 i=i+1 N° Traitement Traitement Explication 1 i=1 2 Vérification de la condition (i<=3)? VRAI 3 Bonjour 4 i=2 5 Vérification de la condition (i<=3)? VRAI 6 Bonjour 7 i=3 8 Vérification de la condition (i<=3)? FAUX 1 2 3 3 4 2 4 2 20 Exemple 1: Pour i allant de 1 à 5 faire Ecrire (i * 100) Fin pour Exécution : i = 1 2 3 4 5 6 Résultat 100 200 300 400 500 21 Le schéma POUR Pour i allant de 5 à 1 (pas = -1) faire Ecrire (i * 100) Fin pour Exécution : i = 5 4 3 2 1 0 Résultat 500 400 300 200 100 22 Le schéma POUR Exemple 2: Exercice d’application 23 Application 3 Reprendre l’exercice précédent en utilisant le schéma POUR. Algorithme SommeN VARIABLE N, I, S : Entier DEBUT LIRE(N) S 0 POUR I Allant de 1 à N Faire S S + I FIN POUR ECRIRE (‘S=‘, S) FIN Comparaison des Trois Schémas Itératifs 24 Critère Schéma REPETER (I) Schéma TANT QUE (II) Schéma POUR (III) Nbre d’itérations connu à l’avance Pas nécessairement Pas nécessairement OUI Nbre de traitements de la boucle Au moins 1 fois 0 ou plusieurs fois (Vf-Vi+1) fois Appellation de la condition Condition d’Arrêt Condition d’Exécution Intervalle Mise à jour de la variable de la condition de la boucle Indispensable dans le traitement Indispensable dans le traitement Automatique en fonction de la valeur du PAS Initialisation des variables de la condition de la boucle Pas nécessairement Indispensable avant de tester la condition logique Borne inférieure de l’intervalle Passage d’un schéma à un autre (I) (II) : OUI (I) (III) : NON (II) (I) : uploads/Ingenierie_Lourd/ chapitre-3-les-structures-de-controle-repetitives.pdf

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