Cours d'algorithmique - Test : Instructions conditionnelles

Tests: instructions conditionnelles

Les instructions conditionnelles servent à n'exécuter une instruction ou une séquence d'instructions que si une condition est vérifiée
On utilisera la forme suivante:
Si condition alors
              instruction ou suite d'instructions1
Sinon
              instruction ou suite d'instructions2
Finsi
la condition ne peut être que vraie ou fausse
  • si la condition est vraie, se sont les instructions1 qui seront exécutées
  • si la condition est fausse, se sont les instructions2 qui seront exécutées
la condition peut être une condition simple ou une condition composée de plusieurs conditions
La partie Sinon n'est pas obligatoire, quand elle n'existe pas et que la condition est fausse, aucun traitement n'est réalisé

On utilisera dans ce cas la forme simplifiée suivante:
Si condition alors
 instruction ou suite d'instructions1
Finsi 

Exemples

Exemple (Si…Alors…Sinon)

Algorithme AffichageValeurAbsolue (version1)
Variable x : réel
Début
             Ecrire (" Entrez un réel : “)
             Lire (x)
             Si (x < 0) alors
                       Ecrire ("la valeur absolue de ", x, "est:",-x)
             Sinon
                      Ecrire ("la valeur absolue de ", x, "est:",x)
             Finsi
Fin

Exemple (Si…Alors)

Algorithme AffichageValeurAbsolue (version2)
Variable x,y : réel
Début
             Ecrire (" Entrez un réel : “)
             Lire (x)
             y← x
             Si (x < 0) alors
                         y ← -x
             Finsi
                        Ecrire ("la valeur absolue de ", x, "est:",y)
Fin

Exercice 

Écrire un algorithme qui demande un nombre entier à l'utilisateur, puis qui teste et affiche s'il est divisible par 3
Algorithme Divsible_par3
Variable n : entier
Début                      
                         Ecrire " Entrez un entier : "
         Lire (n)
         Si (n%3=0) alors                                   
                                  Ecrire (n," est divisible par 3")
         Sinon
                                 Ecrire (n," n'est pas divisible par 3")
         Finsi
        Fin

Conditions composées 

Une condition composée est une condition formée de plusieurs conditions simples reliées par des opérateurs logiques:
ET, OU, OU exclusif (XOR) et NON

Exemples : 

- x compris entre 2 et 6 : (x > 2) ET (x < 6)
- n divisible par 3 ou par 2 : (n%3=0) OU (n%2=0)
- deux valeurs et deux seulement sont identiques parmi a, b et c :
(a=b) XOR (a=c) XOR (b=c)
L'évaluation d'une condition composée se fait selon des règles présentées généralement dans ce qu'on appelle tables de vérité

Tables de vérité


Tests imbriqués

Les tests peuvent avoir un degré quelconque d'imbrications
  Si condition1 alors
Si condition2 alors
instructionsA
Sinon
instructionsB
           Finsi
Sinon
Si condition3 alors
instructionsC
Finsi
Finsi

Tests imbriqués: exemple (version 1)

Variable n : entier
  Début
Ecrire ("entrez un nombre : ")
Lire (n)
  Si (n < 0) alors
                      Ecrire ("Ce nombre est négatif")
         Sinon
                   Si (n = 0) alors
                                Ecrire ("Ce nombre est nul")
Sinon
                                Ecrire ("Ce nombre est positif")
Finsi
  Finsi
Fin

Tests imbriqués: exemple (version 2)

Variable n : entier
Début
        Ecrire ("entrez un nombre : ")
        Lire (n)
        Si (n < 0) alors Ecrire ("Ce nombre est négatif")
        Finsi
        Si (n = 0) alors Ecrire ("Ce nombre est nul")
        Finsi
        Si (n > 0) alors Ecrire ("Ce nombre est positif")
        Finsi
 Fin
Remarque : dans la version 2 on fait trois tests systématiquement alors que dans la version 1, si le nombre est négatif on ne fait qu'un seul test
Conseil :  utiliser les tests imbriqués pour limiter le nombre de tests et placer  d'abord les conditions les plus probables

Tests imbriqués: exercice

Le prix de photocopies dans une reprographie varie selon le nombre demandé:  0,5 DH la copie pour un nombre de copies inférieur à 10, 0,4DH pour un nombre compris entre 10 et 20 et 0,3DH au-delà.
Ecrivez un algorithme qui demande à l’utilisateur le nombre de photocopies effectuées, qui calcule et affiche le prix à payer

Tests imbriqués: corrigé de l'exercice

Variables copies : entier
                prix : réel
 Début
         Ecrire ("Nombre de photocopies : ")
Lire (copies)
Si (copies < 10) Alors
                          prix ← copies*0.5
Sinon Si (copies) < 20
                                 prix ← copies*0.4
                        Sinon
                                 prix ← copies*0.3
                        Finsi
Finsi                    
       Ecrire (“Le prix à payer est : ”, prix)
Fin

Comments

Post a Comment