IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

FAQ Fortran

FAQ FortranConsultez toutes les FAQ

Nombre d'auteurs : 1, nombre de questions : 70, dernière mise à jour : 23 juillet 2021 

 
OuvrirSommaireInformations générales :

Cette FAQ est plutôt orientée sur l'utilisation de la norme 90 du Fortran et son utilisation en calcul numérique.

Cliquez simplement sur une question pour avoir la réponse.

Créé le 22 octobre 2008  par Germain Salvato-Vallverdu

Le plus simple est de contacter un des auteurs par message privé sur le forum de developpez.com.

Créé le 22 octobre 2008  par Germain Salvato-Vallverdu

Le langage Fortran peut être considéré comme l'un des premiers langages de programmation moderne. Il fut créé en 1954 par John Backus (1924-2007)

Créé le 22 octobre 2008  par Germain Salvato-Vallverdu

Le nom Fortran est une abréviation pour FORmula TRANslator.

Créé le 22 octobre 2008  par Germain Salvato-Vallverdu

Une liste non exhaustive de livres sur Fortran :

  • Programmer en Fortran 90, Claude Delannoy
  • Savez-vous parler Fortran ?, Maryse Aïn
Créé le 22 octobre 2008  par Germain Salvato-Vallverdu

Des cours sont disponibles dans la rubrique Fortran sur développez.com.

Créé le 22 octobre 2008  par Germain Salvato-Vallverdu

Le langage Fortran nécessite une compilation pour transformer le code en langage binaire compréhensible par l'ordinateur. La compilation crée un fichier binaire qui est exécutable. Il existe différents compilateurs de code Fortran dont voici une liste non exhaustive. Les compilateurs en italique sont payants.

Fortran 77
  • g77 : disponible dans toutes les distributions linux et dans cygwin.
Fortran 90/95...2003
  • gFortran : disponible dans les distributions Linux ou ici
  • g95 : disponible ici
  • ifort : Le compilateur de intel, Il est disponible gratuitement pour un usage non commercial.
  • ftn95 : Le compilateur de Silverfrost.
  • absoft : lien.
  • lahey : lien.
  • xlf90 : Le compilateur pour les machines IBM : lien.
  • pgf : Le compilateur Portland pour Fortran.
  • pathf : Le compilateur Pathscale pour Fortran.
Créé le 22 octobre 2008  par Germain Salvato-Vallverdu

La première chose est bien entendu de disposer d'un compilateur. Il faut ensuite écrire le code. Le plus simple est d'utiliser un éditeur de fichier texte tel que (g)vim, nedit ou encore emacs sous Linux ou notepad ou le bloc-notes sous Windows. Certains sont plus faciles à utiliser que d'autres et disposent de la coloration syntaxique qui permet de faciliter la lecture du code.

Créé le 22 octobre 2008  par Germain Salvato-Vallverdu

Le langage Fortran était initialement lu et exécuté sur des grosses machines à l'aide de cartes perforées sur lesquelles était inscrit le code. Les cartes perforées ayant une certaine largeur, il en était de même pour les lignes du code. Pour ces raisons historiques, jusqu'au FORTRAN77 on utilisait le format fixe dans lequel les lignes sont limitées en nombre de colonnes de la façon suivante :

  • colonnes 1 à 5 : Etiquette éventuelle (label).
  • colonne 6 : On place un chiffre ou un * dans la colonne 6 d'une ligne pour indiquer qu'elle contient la suite des instructions de la ligne précédente.
  • colonnes 7 à 72 : Ces colonnes contiennent les instructions.
  • colonnes 73 à 80 : Ces colonnes étaient libres pour numéroter les cartes.
Le format fixe
Sélectionnez
123456
      PROGRAM bonjour
c une ligne de commentaire commence par un c

c declaration des variables

c les instructions
      write(*,*)"bonjour"
      
c fin du programme
      END PROGRAM bonjour

Depuis Fortran 90, un format libre est disponible , ce qui rend l'écriture du code plus souple. Cependant beaucoup de programmes sont encore écrits en format fixe ou dans un mélange des deux. Voici les principales caractéristiques du format libre :

  • Le code peut commencer à la première colonne.
  • Les lignes du code ont une longueur maximale de 132 caractères.
  • Les commentaires sont introduits par un ! (attention tout le reste de la ligne est un commentaire).
  • Le & signifie que les instructions continuent à la ligne suivante.
  • Le ; permet de séparer deux instructions écrites sur une même ligne.

La structure générale du code est ensuite assez classique. Voici le fameux programme bonjour écrit en format libre :

Le format libre
Sélectionnez
 PROGRAM bonjour
 ! une ligne de commentaire commence par un !
 
 ! declaration des variables
 
 ! les instructions
 write(*,*)"bonjour"
       
 ! fin du programme
 END PROGRAM bonjour
Créé le 22 octobre 2008  par Germain Salvato-Vallverdu

Les commentaires sont très importants en programmation car ils facilitent la lecture du code. En Fortran un commentaire s'insère simplement en commençant le commentaire par un !. Celui-ci peut se placer sur n'importe quelle colonne du code dans la partie réservée aux instructions.

Format libre insérer un commentaire
Sélectionnez
 PROGRAM bonjour
        ! ce programme écrit bonjour

 ! je place un commentaire qui commence en début de ligne

 write(*,*)"bonjour" ! j'écris bonjour
      
 END PROGRAM bonjour

En format fixe on écrit un commentaire en plaçant un c dans la première colonne.

Créé le 22 octobre 2008  par Germain Salvato-Vallverdu

Le programme s'arrète lorsqu'il atteint la ligne comportant.

 
Sélectionnez
 END PROGRAM nom_program

Remarque : Il suffit de END, le nom du programme est facultatif.

Pour arrêter un programme avant la fin du code, on utilise l'instruction stop. Celle-ci stoppera l'exécution. Il est possible de faire suivre l'instruction stop d'un message qui s'affichera lors de l'arrêt du programme. Cela peut être utile pour déboguer un programme, par exemple :

 
Sélectionnez
 STOP "ligne 156"

L'instruction pause, permet de faire une pause dans l'exécution du programme sans pour autant l'arrêter complètement.

Créé le 22 octobre 2008  par Germain Salvato-Vallverdu

En FORTRAN77, qui utilise le format fixe, on indique au compilateur que l'instruction continue sur la ligne suivante en plaçant un chiffre entre 1 et 9 ou une * en colonne 6 de la ligne suivante. Voici un exemple :

En format fixe
Sélectionnez
      PROGRAM ligne
 
      write(*,*)"blablablablablabla",
     *    "et reblablabla"
!23456

      END PROGRAM ligne

A partir du Fortran90, qui utilise le format libre, il suffit de placer un & à la fin de la ligne pour indiquer qu'elle continue à la ligne suivante. Voici un exemple :

 
Sélectionnez
 PROGRAM ligne
 
 write(*,*)"blablablablablabla", &
    "et reblablabla"

 END PROGRAM ligne
Créé le 22 octobre 2008  par Germain Salvato-Vallverdu

Copyright © 2008 developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.