Gladir.com - WATFOR77 - Conditionnel

Les instructions de conditionnelles en langage WATFOR77 de Fortran sont au nombres de deux et sont très particulières:

  • IF THEN ... ELSE
  • SELECT CASE ... CASE:

IF THEN ELSE

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_vrai1)THEN
 instruction_exécuté_si_vrai1
ELSE
 instruction_exécuté_si_faux
END IF
Vous y remarquerez donc après les syntaxes proposé que les instructions «ELSE» ou «ELSEIF» ne sont pas obligatoire.

Il est également possible d'exécuter un branchement dans les trois cas (inférieur à 0, égale à 0, supérieur à 0:
IF( expression_vrai ) etiquette_inferieur_a_0, etiquette_egale_0, etiquette_superieur_a_0

SELECT CASE

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 .EQ. 1 )THEN
 instruction1_exécuté_si_vrai1
ELSE IF( valeur .EQ. 2 )THEN
 instruction_exécuté_si_vrai2
ELSE IF( valeur .EQ. 3 )THEN
 instruction_exécuté_si_vrai3
ELSE
 instruction_exécuté_si_faux

END IF
On devrait plutôt tenté d'utiliser l'instruction «SELECT CASE» laquelle permet une meilleure lisibilité en plus de simplifié la compréhension pour un programmeur externe à votre code. Ainsi, l'instruction SELECT CASE permet d'effectuer de nombreuses comparaisons sur un unique résultat. Voici donc sa syntaxe:
SELECT CASE résultat
 CASE valeur1
  instruction1_exécuté_si_vrai1
 CASE valeur2
  instruction_exécuté_si_vrai2
 CASE valeur3
  instruction_exécuté_si_vrai3
 OTHERWISE
  instruction_exécuté_si_faux
END SELECT
L'instruction «OTHERWISE» 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.

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