Gladir.com - B - Conditionnel


Les instructions de conditionnel en langage B sont au nombres de deux et sont très particulière:

  • if() ... else
  • switch() {... case:}

if

L'instruction «if» permet le teste d'une condition et de choisir d'effectuer des instructions plutôt que d'autre dans le cas ou celle-ci serait vrai. Voici donc les syntaxes:
if(expression_vrai) instruction_exécuté_si_vrai;
ou
if(expression_vrai) instruction_exécuté_si_vrai;
else instruction_exécuté_si_faux
;
Vous y remarquerez donc après les syntaxes proposé que l'instruction «else» n'est pas obligatoire. Il est également à noter qu'une condition est vrai si elle est différente de zéro et de se fait qu'il n'y a pas de symbole de d'égalité classique (==, <=, >=). Enfin, on peut aussi bien exécuté une instruction seul ou bloc d'instruction contrairement à Perl.

switch

Lorsqu'on effectue une série de teste répétitive sur une même variable avec différente valeur de la manière suivante:
if(valeur == 1) instruction1_exécuté_si_vrai1;
else if(valeur == 2) instruction_exécuté_si_vrai2;
else if(valeur == 3) instruction_exécuté_si_vrai3;
else instruction_exécuté_si_faux
;
On devrait plutôt tenté d'utiliser l'instruction «switch» laquelle permet une meilleure lisibilité en plus de simplifié la compréhension pour un programmeur externe à votre code. Ainsi, l'instruction «switch» permet d'effectuer une de nombreuses comparaison sur un unique résultat. Voici donc sa syntaxe:
switch(résultat) {
 case valeur1:instruction1_exécuté_si_vrai1;
 case valeur2:instruction_exécuté_si_vrai2;
 case valeur3:instruction_exécuté_si_vrai3;
 default: instruction_exécuté_si_faux;
}
L'instruction «default» n'est pas obligatoire, il est tout de même préférable de l'inclure pour prévenir une situation anormale ou d'erreur.

Hélas, le langage B manque de souplesse dans les valeurs autorisé pour «résultat», et sans vouloir traumatiser certaines personnes, il est seulement possible, dans un compilateur standard, de vérifier des valeurs: entière, d'un caractère ou d'une énumération. Les chaînes de caractères ne sont pas autorisé contrairement à des langages comme le PHP par exemple.

Dernière mise à jour: Vendredi, le 3 février 2006