Les structures alternatives et répétitives en algorithme - Programmation Maroc

 Programmation Maroc

le chemin vers la programmation

Programmation Maroc

mercredi 27 mai 2020

Les structures alternatives et répétitives en algorithme

     
              

                       ***  Les  structures alternatives et répétitives ***


1) Les structures alternatives 
1-1) Introduction :
Contrairement  au traitement séquentiel, la structure alternative ou conditionnelle permet d’exécuter ou non une série d’instructions selon la valeur d’une condition.
1-2)  La structure    Si alors ………  sinon  …… fin si   ou    Si alors ………  fin si




                                                                                                                                   
                                                                                                                                   



Une condition est une expression  logique  ou une variable logique évaluée à  Vrai ou faux. La condition est évaluée. Si  elle est vraie, la série d’instruction(s)1 est exécutée et l’ensemble d’instruction(s) 2 est ignoré, la machine sautera directement à la première instruction située après  Fin si.
De  même, au cas où la condition  était fausse la machine saute directement à la première ligne située après le  Sinon et exécute l’ensemble d’instruction2.

Exercice d’application 1
Ecrire un algorithme  qui affiche si un nombre entier  saisi au clavier est pair ou impair 

algorithme

 













Remarque : il existe aussi un autre type de condition c’est la condition composées.

Certains problèmes exigent  de formuler des conditions qui ne peuvent être exprimées sous la forme simple, par exemple la condition  de  note  de devoir doit être inclus dans  l’intervalle [0, 20],  cette  condition est composée de deux conditions simples qui  sont   note ≥ 0    et   note 20

Exercice d’application 2
Ecrire  un algorithme qui teste une note saisi au clavier est comprise entre 0 et 20.






















Exercice 1:
Ecrire un algorithme qui demande deux nombres m et n à  l’utilisateur et l’informe ensuite si le produit  de ces deux nombres est positif ou négatif. On inclut   dans l’algorithme le cas  où le produit peut être nul.



 














Exercice 2:
Une boutique propose à ces clients, une réduction de 15% pour les montants d’achat supérieurs à 200 dh. Ecrire un algorithme permettant de saisir le prix total HT et de calculer le montant TTC  en prenant en compte la réduction et la TVA=20% .

















1-3)  Structure à choix multiples
Cette  structure conditionnelle permet de choisir le traitement à effectuer en fonction  de la valeur ou de l’intervalle de valeurs d’une variable o d’une expression.

Syntaxe :   
  













Lorsque l’ordinateur rencontre cette instruction, il vérifie la valeur de la variable de sélection (sélecteur) et il la compare aux différentes valeurs. 
Les valeurs sont évaluées  dans l’ordre, les unes après les autres, et une fois la valeur de sélecteur est vérifiée l’action associée  est exécutée. On peut utiliser une instruction Sinon  (facultative), dont l’action sera exécutée si aucune des valeurs évaluées n’a pas été remplie
 
Exercice :
Ecrire un algorithme permettant d’afficher le mois en lettre selon le  numéro saisi  au clavier.


















2) Les Structures  répétitives  
2-1) Introduction
Prenons d’une saisie au clavier, par exemple, on pose une question à laquelle doit répondre par « oui » ou « non ». 
L’utilisateur risque de taper autre chose (une autre lettre), le programme peut soit planter par une erreur d’exécution soit dérouler normalement jusqu’au bout, mais en produisant des résultats fantaisistes.
Pour éviter ce problème, on peut mettre en place un contrôle de saisie pour vérifier que les données entrées au clavier correspondent bien à celles attendues par l’algorithme.
 
















!!L’algorithme ci-dessus résout le problème si on se trompe qu’une  seule fois, et on fait entrer une valeur correcte à la deuxième demande. Sinon en cas de deuxième  erreur, il faudrait rajouter un  «  SI  ». Et ainsi de suite, on peut rajouter des  centaines  de  «  SI  »       
==> La solution à ce problème consiste à utiliser une structure répétitive.  

Une structure répétitive, encore appelée boucle, est utilisée quand une instruction ou une liste d’instruction, doit être répétée plusieurs fois. La répétition est soumise à une condition
 
2-2) La boucle Tant Que …. Faire  
La boucle Tant que permet de répéter un traitement tant que la condition est vraie.
Syntaxe :
                                                                                                                         




==> L’exécution de la boule dépend de la valeur de la condition. Si est vrai, l’algorithme exécute les instructions qui suivent, jusqu’à ce qu’il  rencontre la ligne FinTantque .Il retourne ensuite sur la ligne du Tantque, procède au même examen, et ainsi de suite. 
==> La boucle ne s’arrête que lorsque prend la valeur fausse, et dans ce cas le programme  poursuit son exécution après  FinTantQue.
Exemple:















Remarque :
Si la  structure   TantQue  contient la condition ne devient jamais fausse. Le programme tourne dans une boucle infinie et n’en sort plus.

Exemple :   


           

                        





Dans cet exemple nous avons  une boucle infinie. L’ordinateur ne s’arrêtera jamais d’afficher le message Bonsoir  car la variable i qui est testée dans la condition n’est jamais incrémenter. Alors pour  résoudre  le problème de boucle infinie dans ce cas-là, on incrémente la variable i  à  chaque tour de boucle  pour afficher   Bonsoir  10 fois exactement.  



 









Exercice1
Ecrire un algorithme qui calcule la somme  S = 1+2+3+4+……..+ 10

















Exercice2  
Ecrire un algorithme qui calcule la somme   S= 1+2+3+4+……..+ N,  où N saisi par l’utilisateur. 


















2-3)  La boucle  Pour …. Faire
La boucle  pour …. Faire  permet de répéter une liste d’instructions un nombre connu de fois. 

Syntaxe :






==> La variable compteur  est de type entier. Elle est initialisée par la valeur initiale, le compteur augmente sa valeur de 1 automatiquement à  chaque tour de boucle  jusqu’à la valeur finale.

==> Lorsque la variable compteur vaut la valeur finale, le traitement est exécuté une seule fois puis le programme sort de la boucle. 


Exemple:
Ecrire un algorithme qui affiche  Bonjour 10 fois.









Exercice1  
Ecrire un algorithme qui calcule S= 1+2+3+4+……..+ 10. Utilisant la boucle pour.















Exercice2
Ecrire un algorithme qui calcule  S= 1+2+3+4+……..+ N. Utilisant la boucle pour.




                                                                                                          










Exercice 3 
Ecrire un algorithme qui affiche la table de multiplication de 5. Utilisant la boucle pour.



           






Exercice 4
Ecrire un algorithme qui affiche la table de multiplication d’un  entier saisie par l’utilisateur, Utilisant la boucle pour.


                                                                 










2-4) La  boucle  Répéter…..jusqu’à                                                                                    
Cette boucle permet de répéter une instruction  jusqu’à ce qu’une soit vrai. 
Remarque : Cette boucle ne s’utilise en général que pour des menus, elle est dangereuse car il n’y a pas de vérification de la condition avant  d’y entrer.
Syntaxe :
   








==> La liste d’instructions est exécutée, puis la condition est évaluée. Si elle est fausse, le corps de la boucle est exécuté à nouveau puis la condition est réévaluée et si elle est  vraie, le programme sort de la boucle et exécute l’instruction qui suit Jusqu’à.
 
Exemple:
En utilisant  la boucle Répéter…..jusqu’à, on écrit  un algorithme qui affiche Bonjour  10  fois.













Exercice1
Ecrire un algorithme qui calcule la somme  S= 1+2+3+…+ 10. Utilisant la boucle Répéter jusqu’à.
















Exercice 2
Ecrire un algorithme qui affiche la table de multiplication de 8. Utilisant la boucle Répéter jusqu’à. 












Remarques :
==> Les boucles « Répéter » et « «TantQue » sont utilisées lorsqu’on ne sait pas au départ combien de fois il faudra exécuter ces boucles.
==> A la différence de la boucle « TantQue » par rapport  à la boucle « Répéter » cette
dernière  est exécutée  au moins une seule fois.
==> La condition d’arrêt de la boucle « répéter » est la négation de la condition  de poursuite de la boucle «TantQue »
==> On utilise la boucle  « Pour » quand l’on connait  le nombre d’itérations à l’avance.



                           

Aucun commentaire:

Publier un commentaire