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
- DO ... END DO
- DO (FOR)
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» :
- PROGRAM WHILESAMPLES
- INTEGER a
- a = 0
- DO WHILE (a < 10)
- PRINT '(a, i4)', 'a = ', a
- a = a + 1
- END DO
- END
on obtiendra le résultat suivant :
a = 0a = 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 :
- PROGRAM DOSAMPLES
- INTEGER i
- DO i=0, 10, 2
- PRINT '(a, i4)', 'i = ', i
- END DO
- END
on obtiendra le résultat suivant :
i = 0i = 2
i = 4
i = 6
i = 8
i = 10