Les instructions de conditionnel en langage Fortran sont au nombres de deux :
- IF THEN ... ELSE
- SELECT 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_vrai1 ) THEN instruction_exécuté_si_vrai1 ELSE instruction_exécuté_si_faux END IF |
Exemple
Cet exemple permet de tester une condition vrai :
- PROGRAM IFSAMPLES
- IF ( .TRUE. ) THEN
- PRINT*, 'La condition est vrai'
- END IF
- END
on obtiendra le résultat suivant :
La condition est vraiVous y remarquerez donc après les syntaxes proposé que les instructions «ELSE» n'est pas obligatoire.
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 CASE DEFAULT instruction_exécuté_si_faux END SELECT |
L'instruction «CASE 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.
Exemple
Voici un exemple une utilisation typique de cette instruction :
on obtiendra le résultat suivant :
Entre 1 et 3