K. Zabo Les structures de contrôle Centre Universitaire Professionnalisé 1 L3-M

K. Zabo Les structures de contrôle Centre Universitaire Professionnalisé 1 L3-M1-M2-INFORMATIQUE-TELECOMS Chapitre 2: Les structures de contrôle: notions fondamentales  Introduction  Les structures conditionnelles  Les boucles  La démarche itérative Introduction En programmation procédurale comme en algorithmique (qui respecte les contraintes fondamentales de la programmation!), l'ordre des instructions est primordial. Le processeur exécute les instructions dans l'ordre dans lequel elles apparaissent dans le programme. On dit que l'exécution est séquentielle. Une fois que le programme a fini une instruction, il passe à la suivante. Tant qu'une instruction n'est pas terminée, il attend avant de continuer. Par exemple, une instruction de saisie va attendre que l'utilisateur rentre une valeur au clavier avant de continuer. Parfois, il est nécessaire que le processeur n'exécute pas toutes les instructions, ou encore qu'il recommence plusieurs fois les mêmes instructions. Pour cela, il faudra casser la séquence. C'est le rôle des structures de contrôle. Il existe deux grands types de structures de contrôle: - les structures conditionnelles vont permettre de n'exécuter certaines instructions que sous certaines conditions - les structures répétitives, encore appelées boucles, vont permettre de répéter des instructions un certain nombre de fois, sous certaines conditions I. Les structures conditionnelles A. Présentation Les structures conditionnelles permettent d'exécuter des instructions différentes en fonction de certaines conditions. Une condition (encore appelée expression conditionnelle ou logique) est évaluée, c'est à dire qu'elle est jugée vrai ou fausse. Si elle est vraie, un traitement (une ou plusieurs instructions) est réalisé; si la condition est fausse, une autre instruction va être exécutée, et ensuite le programme va continuer normalement. Il existe 2 types principaux de structures conditionnelles K. Zabo Les structures de contrôle Centre Universitaire Professionnalisé 2 L3-M1-M2-INFORMATIQUE-TELECOMS - les structures alternatives (Si…Alors…Sinon) - les structures conditionnelles au sens strict (Si…Alors) Dans le déroulement d'un algorithme, on doit souvent choisir entre deux actions, suivant une condition concernant la valeur de certaines données. La structure alternative va permettre d'effectuer des choix. Supposons que nous ayons besoin, dans un programme, d'écrire un message précisant si la valeur d'une variable, nommée a, est positive ou négative. Pour cela on va utiliser la structure alternative Afficher "entrez un nombre" Saisir n Si n > 0 Alors //dans le cas où l’expression n>0 est vraie Afficher "valeur positive" Sinon //dans le cas où l’expression n>0 est fausse Afficher "valeur négative ou nulle" Finsi Si la condition n < 0 mentionnée après le mot Si est vraie, on exécute ce qui figure après le mot Alors; si la condition est fausse, on exécute ce qui figure après le mot Sinon. La syntaxe générale de cette structure est la suivante: Si<condition> Alors <traitement1> Sinon <traitement2> Finsi Pour une meilleure lisibilité du programme, on décale le Alors et le Sinon par rapport au Si. On faire apparaître un trait vertical Si et Finsi. Pour l'instant cela peut paraître superflu, mais en fait quand les programmes se compliquent, ces règles d'écriture facilitent grandement leur relecture. Rappelons que les traitements apparaissant après les mots Alors et Sinon peuvent être constitués d'une instruction simple, comme dans notre premier exemple, mais aussi d'un ensemble d'instructions, appelé bloc d'instruction. Exemple de structure alternative avec bloc d'instruction Nous voulons un programme qui mémorise et affiche la somme ou le produit de 2 nombres, suivant le choix de l'utilisateur. Ce programme doit saisir les deux nombres voulus ainsi que la lettre représentant l'opération à effectuer. Si la lettre est s (comme somme), il calcule et affiche la somme, et si la lettre est p (ou tout autre caractère), le programme doit calculer et afficher le produit. K. Zabo Les structures de contrôle Centre Universitaire Professionnalisé 3 L3-M1-M2-INFORMATIQUE-TELECOMS Programme choix var nb1,nb2, res: entiers op : caractère Début Afficher "Entrez deux nombres" Saisir nb1, nb2 Afficher "entrez la première lettre de l'opération voulue" Saisir op Si op = "s" Alors res nb1 + nb2 afficher "la somme est", res bloc n°1 Sinon res nb1 * nb2 afficher "le produit est", res Finsi bloc n°2 Fin B. Les expressions conditionnelles Une expression conditionnelle (ou expression logique, ou expression booléenne) est une expression dont la valeur est soit VRAI soit FAUX. Il existe plusieurs types d’expressions conditionnelles. 1. Les comparaisons simples Dans nos deux exemples, les conditions que nous avons rencontré (a < 0) et (op ="s") sont des conditions simples. Une condition simple est une comparaison de deux expressions de même type. (a<0 type entier ou réel, op = "s" type caractère) Les symboles de comparaison utilisable en algorithmique sont: Pour les comparaisons de caractères, on utilise l'ordre ASCII, qui respecte l’ordre alphabétique. Une lettre placée avant une autre dans l'ordre alphabétique sera inférieure à l'autre. "a" est inférieur à "b", mais "s" est supérieur à "m". Attention, une condition simple ne veut pas dire une condition courte. Une condition simple peut être la comparaison de deux expressions comme: (a + b - 3) * c ≤ (5 * y –2) / 3  Application K. Zabo Les structures de contrôle Centre Universitaire Professionnalisé 4 L3-M1-M2-INFORMATIQUE-TELECOMS Supposons que nous voulions afficher la valeur absolue de la différence entre deux nombres entiers. Ces nombres entiers seront notés x et y. Nous voulons donc afficher x – y si x est plus grand que y et y – x sinon. Nous écririons pour ce faire: Si x > y Alors Afficher x – y Sinon Afficher y – x Finsi 2. Les conditions complexes Les conditions (ou expressions conditionnelles) peuvent aussi être complexes, c'est à dire formées de plusieurs conditions simples ou variables booléennes reliées entre elles par les opérateurs logiques et, ou, non. Exemples: Si a < 0 et b < 0 Alors… Si (a +3 = b et c < 0) ou (a = c *2 et b ≠ c) Alors …  Et Une condition composée de deux conditions simples reliées par et est vraie si les deux conditions sont vraies. La condition a < 0 et b < 0 est vraie si a < 0 est vraie et si b < 0 est vraie  Ou Une condition composée de deux conditions simples séparées par ou est vraie si au mois l'une des conditions simples est vraie. a <0 ou b < 0 est vraie si a < 0 ou si b < 0 ou si a et b sont négatifs.  Non Une conditions précédée par non est vraie si la condition simple est fausse et inversement. non (a < 0) est vraie si a >=0 L'usage des parenthèses permet de régler d'éventuels problèmes de priorités des opérateurs logiques. K. Zabo Les structures de contrôle Centre Universitaire Professionnalisé 5 L3-M1-M2-INFORMATIQUE-TELECOMS 3. Les variables booléennes Les variables booléennes, comme les expressions conditionnelles, sont soit vraies, soit fausses. On peut donc affecter une expression conditionnelle à un booléen et on peut aussi trouver une variable booléenne à la place d’une expression conditionnelle. Les variables booléennes et les expressions conditionnelles sont équivalentes. A chaque fois que l’on peut trouver une expression conditionnelle, on peut aussi trouver une variable booléenne. Ex : Programme intervalles Var appartient : booléen nb : réel Début Afficher « veuillez entrer un nombre réel » Saisir nb appartient = (nb<10 ET nb> 5) OU (nb >15 ET nb <20) Si appartient Alors « Le nombre appartient aux intervalles définies » Sinon « Le nombre n’appartient pas aux intervalles définies » Finsi Fin Ce programme saisit un nombre et affiche si ce nombre est compris dans les intervalles 510 ou 15-20 II. La structure Si…Alors (conditionelle) Cette structure est utilisée si on veut exécuter une instruction seulement si une condition est vraie et ne rien faire si la condition est fausse. Elle évite d’écrire Sinon rien. La syntaxe d'une structure conditionnelle est la suivante: Si <condition> Alors <traitement> Finsi  Exemple: Dans un programme de calcul d'une facture, on veut effectuer une remise de 1% si le montant de la facture dépasse 1000F. Supposons que la variable qui contient le montant de la facture s'appelle mont. On veut écrire l'algorithme qui affiche le montant à payer. Si le montant est inférieur à 1000F, on veut juste afficher le montant tel quel. Mais si le montant est supérieur à 1000F, il faut prendre en compte la remise et calculer le nouveau montant. K. Zabo Les structures de contrôle Centre Universitaire Professionnalisé 6 L3-M1-M2-INFORMATIQUE-TELECOMS Le morceau d'algorithme concerné est: Si mont > 1000 Alors mont = mont * 0.9 Finsi Afficher mont Le programme effectue la réduction seulement si le montant est supérieur à 1000F. Sinon, il ne fait aucun traitement particulier et passe à l'instruction suivante. Dans tous les cas, le montant est affiché. III. Les structures répétitives ou boucles Les structures répétitives aussi appelées boucles, permettent de répéter un traitement ( c'est à dire une instruction simple ou composée) autant de fois qu'il est nécessaire: soit un nombre déterminé de fois, soit tant qu'une condition est vraie. Il existe trois grands types principaux de structures répétitives: - la structure Tant que…Faire, qui permet d'effectuer une instruction tant qu'une condition est satisfaite uploads/Ingenierie_Lourd/ chapitre-2-structure-de-controle.pdf

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