Section courante

A propos

Section administrative du site

Les instructions de conditionnel en langage Fortran sont au nombres de deux:

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 :

  1. PROGRAM IFSAMPLES
  2.     IF ( .TRUE. ) THEN 
  3.          PRINT*, 'La condition est vrai'
  4.     END IF
  5. END

on obtiendra le résultat suivant :

La condition est vrai

Vous 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 :

  1. PROGRAM SELECTSAMPLES
  2.     INTEGER a
  3.     a = 2
  4.     SELECT CASE(a)
  5.       CASE (1,2,3)
  6.           PRINT*, 'Entre 1 et 3'
  7.       CASE (4,5,6)
  8.          PRINT*, 'Entre 4 et 6'
  9.       CASE (7)
  10.           PRINT*, 'C''est 7'
  11.       CASE DEFAULT
  12.           PRINT*, 'Inférieur ou égale à 0 ou supérieur à 8'
  13.    END SELECT
  14. END

on obtiendra le résultat suivant :

Entre 1 et 3

Dernière mise à jour : Dimanche, le 16 novembre 2014