next up previous contents
Next: Quelques règles d'écriture d'un Up: Généralités sur le Fortran Previous: Un exemple de Programme   Contents

Structure générale d'un programme en Fortran 90

  1. Un programe commence par un 'en-tête ' , ici
     
             PROGRAM racines_carrees
    
    et se termine par
     
             END PROGRAM racines_carrees
    
  2. Déclaration de types : les deux instructions sont
     
              INTEGER :: i, nrac
              REAL    :: valeur, racine
    
    les variables i et nrac sont des entiers, valeur et racine sont des réels.
  3. Affectation
     
             nrac = 3
    
    nrac a été initialisé à la valeur 3 mais sa valeur peut évoluer par la suite.
  4. Pour faire une répétition : l'instruction DO
            DO i = 1 , nrac
               bloc
            ENDDO
    
    on demande de répéter 'bloc' an attribuant à la variable i successivement i=1,2,..,nrac.
  5. Pour écrire des informations : l'instruction PRINT
     
             PRINT*,'Donner un nombre :'
    
    écrit à l'écran (unité de sortie standard ici)

    Donner un nombre :

  6. pour lire des informations : l'instruction READ
     
             READ*,valeur
    
    lit sur l'entrée standard, ici le clavier, un réel.
  7. Pour faire des choix : l'instruction IF ...THEN..ELSE...ENDIF
              IF ( condition ) THEN
                 bloc1
              ELSE
                 bloc2
              ENDIF
    
    si la condition est vraie on exécute les instructions contenues dans de bloc 1 sinon on exécute les instructions du bloc 2.
  8. Fonction prédéfinie (intrinsèque)

    SQRT : fournit par le compilateur, cette fonction calcule la racine carrée.

  9. Pourquoi le IMPLICIT NONE ?

    Cett instruction précise que toutes les variables utilisées dans le programme doivent être déclaré au préalable ( sinon le compilateur affectue par défaut un type pour la variable selon une régle que je ne précise pas). Néanmoins, une bien meilleure fiabilité des programmes peut être obtenues en utilisant un langage qui permet en lui-même d'éviter certains piéges redoutables ... C'est une erreur stupide de taper un point au lieu d'une virgule dans une boucle en Fortran 77 du type $ <<$ DO 50 I = 1.512 ..... 50 CONTINUE$ >>$, légitimement interprété par les compilateurs comme les instructions $ <<$ DO50I = 1.512$ >>$ ( où la variable DO50I est prise comme une variable réelle, parce que le fameux IMPLICIT NONE n'a pas été précisé) , et $ <<$ 50 CONTINUE$ >>$ qui est alors une instruction sans action. C'est pourtant bien une erreur de ce genre, tel que le rapporte, à la suite d'Anthony Hoare, le classique français sur les méthodologies de programmation [ Meyer et Beaudoin 78, page 507], qui aurait provoquer l'échec du lancement du premier satellite américain vers Vénus, selon l'enquête qui a suivi ...


next up previous contents
Next: Quelques règles d'écriture d'un Up: Généralités sur le Fortran Previous: Un exemple de Programme   Contents
Mazen Saad 2002-12-12