<< Retour au sommaire

 

L’embranchement conditionnel If et les opérateurs adéquats

 

 

 

Le sommaire :

1.      Présentation ;

2.      Les opérateurs de comparaisons.

3.      Les différentes syntaxes :

3.1  Le If de base ;

3.2  Le Else ;

3.3  Le ElseIf ;

3.4  Le If imbriqué.

4.      Les opérateurs logiques.

 

Présentation

 

Le If est une structure qui permet d’orienter l’exécution du programme selon le résultat de la vérification d’une condition.

 

En français un peut littéraire ?

Si la condition est vraie, alors fait ça.

Avec le code PureBasic ?

If condition

 traitement

EndIf

 

Détail de la première ligne :

La structure conditionnelle débute toujours par le mot clé If.

Ensuite, vient la condition qui est une comparaison entre données, et bien sûr, ces données peuvent être contenues dans des variables.

 

Le traitement :

Viennent alors toutes les lignes de code correspondantes au traitement qui doit être réalisé si la condition est vraie.

Il est conseillé pour une meilleur lisibilité, d’indenter toutes les lignes de code du traitement d’au moins un espace…

 

La dernière ligne :

On ferme le bloc de la structure conditionnelle par le mot clé EndIf.

 

Un exemple ?

 

Ok, d’abord en français :

Si Age = 12 Alors

 Affiche « tu es mineur »

Fin du Si

 

Maintenant en PureBasic :

If Age=12

 Print (« tu es mineur »)

EndIf

 

Dans cet exemple, si la variable « Age » est égale à 12, on affiche le message approprié, sinon, on ne fait rien et l’exécution du programme reprend à la ligne de code située après le mot clé EndIf.

 


Les opérateurs de comparaisons

 

Dans le bloc conditionnel, on peut utiliser les opérateurs de comparaisons suivants :

 

= Pour égal ;

!= Pour différent ;

< Pour strictement inférieur ;

<= Pour inférieur ou égal ;

> Pour supérieur ;

>= Pour supérieur ou égal.

 


Les différentes syntaxes

 

Le If de base

 

Bon, ici c’est un peu ce que vous venez de voir juste au-dessus…

Voici cependant un exemple concret !

 

Dans le code qui suit, si l’utilisateur à moins de 18 ans, on lui affiche :

« Salut moussaillon ! »

Si l’utilisateur a 18 ans ou plus, on lui affiche :

« Salut capitaine ! »

 

  1. OpenConsole ()
  2. Print ("Saisissez votre age : ")
  3. Chaine$ =Input ()
  4. Age.B =Val (Chaine$) ; Convertir l'age en un entier
  5. If Age.B < 18
  6.  ; L'utilisateur a moins de 18 ans
  7.  Message$ ="Salut moussaillon !"
  8. EndIf
  9. If Age.B >= 18
  10.  ; L'utilisateur a 18 ans ou plus
  11.  Message$ ="Salut capitaine !"
  12. EndIf
  13. PrintN (Message$)
  14. Print ("Pressez la touche Entree pour continuer...")
  15. Input ()

 

Télécharger le fichier exemple, Source12.pb >>

 

Le Else

 

En français ? Sinon

 

Impeccable pour améliorer le code qui vous a été présenté au chapitre précédent…

En effet, si l’utilisateur n’a pas moins que 18 ans, c’et qu’il a forcément 18 ans ou plu !

 

La syntaxe :

If condition

 Traitement 1

Else

 Traitement 2

EndIf

 

La description :

Si condition est « vraie », c’est traitement 1 qui est exécuté, sinon, c’est traitement 2 qui est exécuté.

 

En reprenant l’exemple précédent, voici maintenant une syntaxe plus logique :

 

  1. OpenConsole ()
  2. Print ("Saisissez votre age : ")
  3. Chaine$ =Input ()
  4. Age.B =Val (Chaine$) ; Convertir l'age en un entier
  5. If Age.B < 18
  6.  ; L'utilisateur a moins de 18 ans
  7.   Message$ ="Salut moussaillon !"
  8. Else
  9.  ; L'utilisateur a 18 ans ou plus
  10.  Message$ ="Salut capitaine !"
  11. EndIf
  12. PrintN (Message$)
  13. Print ("Pressez la touche Entree pour continuer...")
  14. Input ()

 

Télécharger le fichier exemple, Source13.pb >>

 

Le ElseIf

 

Super !

La structure du If prend maintenant une tournure digne du niveau que vous avez désormais atteint…

 

La syntaxe :

If condition 1

 Traitement 1

ElseIf condition 2

 Traitement 2

ElseIf condition 3

 Traitement 3

Etc.

Else

 Traitement par défaut si toutes les vérifications sont fausses

EndIf

 

Voici une excellente manière de réaliser un certain nombre de vérifications…

 

Un exemple concret ?

 

  1. OpenConsole ()
  2. Print ("Quel est ton age mec ? ")
  3. Chaine$ =Input ()
  4. Age.B =Val (Chaine$)
  5. If Age.B < 18
  6.  ; L'utilisateur a moins de 18 ans
  7.  Message$ ="Salut moussaillon !"
  8. ElseIf Age.B< 50
  9.   ; L'utilisateur a entre 18 et 49 ans
  10.   Message$ ="Salut capitaine !"
  11.  Else
  12.    ; L'utilisateur à 50 ans ou plus
  13.    Message$ ="Salut vieux loup de mer !"
  14.  EndIf
  15.  PrintN (Message$)
  16.  Print ("Pressez la touche Entree pour continuer...")
  17.  Input ()

 

Télécharger le fichier exemple, Source14.pb >>

 

Le If imbriqué

 

L’embranchement conditionnel If étant une commande au même titre que les autres, vous avez la possibilité d’utiliser un If dans le traitement d’un If, ce qui donne des If imbriqués…

 

Un exemple de syntaxe :

 

If condition 1

 If condition  2

  Traitement1

 ElseIf condition 3

  Traitement2

 EndIf

Else

 Traitement3

EndIf

 

Vous voyez ? Dans cet exemple, « Traitement 1 » ne sera exécuté que si « condition 1 » et « condition 2 » son vraies, tandis que « traitement 2 » sera exécuté si « condition 1 » est vraie, « condition 2 » fausse et « condition 3 » vraie.

Quant à « traitement 3 ", il ne sera exécuté que si « condition 1 » est fausse…

 

Dans cette syntaxe, remarquez le jeu des indentations.

Le EndIf, le Else et le ElseIf sont toujours au même niveau d’indentation que le If auquel ils appartiennent;

Le traitement est toujours à une indentation positive par rapport au bloc If qui le contient.

 

Je rappelle que l’indentation est une norme dont le seul objectif est d’améliorer la lisibilité du code…

 


Les opérateurs logiques

 

Un opérateur logique permet de réunir plusieurs conditions.

 

Par exemple :

Si Age est supérieur ou égal à 16 ans et inférieur à 62 ans, c’est que vous êtes actifs.

 

Voici les opérateurs :

And, c’est le « et », les 2 expressions réunis par le And doivent être « vraies » pour que le résultat soit « vrai ».

Or, c’est le « Ou inclusif », Au moins L’une des 2 expressions réunis par le Or doit être « vraie » pour que le résultat soit « vrai ».

Xor, c’est le « Ou exclusif », Seule L’une des 2 expressions réunis par le Or doit être « vraie » pour que le résultat soit « vrai ».

 

Dans l’exemple qui suit, si l’âge de l’utilisateur est supérieur ou égal à 18 et inférieur ou égal à 70, le traitement sera exécuté.

 

  1. OpenConsole ()
  2. Print ("Quel est votre age ? ")
  3. Chaine$ =Input ()
  4. Age.B =Val (chaine$)
  5. If Age.B>=18 And Age.B<=70
  6.  ; L'age de l'utilisateur est supérieur ou égal à 18 et inférieur ou égal à 70
  7.  Message$ ="Vous pouvez entrer dans le Night-club !"
  8. Else
  9.  ; L'utilisateur n'a pas l'age !
  10.  Message$ ="Non non non ! Impossible de rentrer !"
  11. EndIf
  12. PrintN (Message$)
  13. Print ("Pressez la touche Entree pour continuer...")
  14. Input ()

 

Télécharger le fichier exemple, Source17.pb >>

 

Remarque :

If (condition1 And condition2) Or (condition 3 And condition 4)

 

Philippe BOULANGER