Les instructions de conditionnelles en langage WATFOR-77 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.