Section courante

A propos

Section administrative du site

Les instructions de boucle (aussi appelé instructions répétitives) en langage Fortran sont au nombres de trois mais permettent quand même de faire face à de nombreuses situations ou presque :

WHILE

L'instruction «WHILE» permet la comparaison au début de la boucle, avant même que la suite d'instruction inclus dans la boucle ne soit lancé! On peut voir cette instruction à la manière d'un «IF» se répétant tant et aussi longtemps que la condition est vrai. Voici donc sa syntaxe :

DO WHILE (expression_vrai)
   instruction_exécuté_si_vrai
END DO

Exemple

Cet exemple permet de montrer un simple boucle avec la variable «a» :

  1. PROGRAM WHILESAMPLES
  2.     INTEGER a
  3.     a = 0
  4.     DO WHILE (a < 10)
  5.         PRINT '(a, i4)', 'a = ', a
  6.         a = a + 1
  7.     END DO
  8. END

on obtiendra le résultat suivant :

a = 0
a = 1
a = 2
a = 3
a = 4
a = 5
a = 6
a = 7
a = 8
a = 9

DO ... END DO

Cette instruction permet d'effectuer une boucle sans condition (boucle infinie). La seule façon de terminer cette boucle c'est avec une instruction «EXIT», «RETURN» ou «HALT». Voici enfin sa syntaxe :

DO
 instruction
END DO

DO (FOR)

Avec «Fortran» l'instruction permettant d'effectuer des comptes de boucles est «DO». L'«expression1» permet d'identifier la variable devant être utilisé pour effectuer le compteur de boucle. L'«expression2» est la valeur de départ ou d'initialisation du compteur de boucle. L'«expression3» est la valeur de fin du compteur de boucle. Le «saut» est le nombre d'incrémentation ou de décrémentation appliquer à l'expression1. Voici enfin sa syntaxe :

DO expression1 = expression2 , expression3 , saut
   instruction
END DO

Exemple

Voici un exemple permettant d'incrémenter de 2 une variable :

  1. PROGRAM DOSAMPLES
  2.     INTEGER i
  3.     DO i=0, 10, 2
  4.       PRINT '(a, i4)', 'i = ', i
  5.     END DO
  6. END

on obtiendra le résultat suivant :

i = 0
i = 2
i = 4
i = 6
i = 8
i = 10


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