FortranDémarrer avec Fortran


Remarques

Fortran est un langage largement utilisé dans la communauté scientifique en raison de son aptitude au calcul numérique. La notation intuitive, qui facilite l’écriture de calculs vectorisés rapides, est particulièrement intéressante.

Malgré son âge, Fortran est toujours activement développé, avec de nombreuses implémentations, notamment GNU, Intel, PGI et Cray.

Versions

Version Remarque Libération
FORTRAN 66 Première normalisation par ASA (maintenant ANSI) 1966-03-07
FORTRAN 77 Forme fixe, historique 1978-04-15
Fortran 90 Formulaire libre, norme ISO, opérations sur les tableaux 1991-06-15
Fortran 95 Procédures pures et élémentaires 1997-06-15
Fortran 2003 Programmation orientée objet 2004-04-04
Fortran 2008 Co-tableaux 2010-09-10

Insensibilité à la casse

Les lettres majuscules et minuscules de l'alphabet sont équivalentes dans le jeu de caractères Fortran. En d'autres termes, Fortran est insensible à la casse . Ce comportement contraste avec les langages sensibles à la casse, tels que C ++ et bien d'autres.

En conséquence, les variables a et A sont la même variable. En principe, on pourrait écrire un programme comme suit

pROgrAm MYproGRaM
..
enD mYPrOgrAM
 

C’est au bon programmeur d’éviter de tels choix.

Bonjour le monde

Tout programme Fortran doit inclure end comme dernière déclaration. Par conséquent, le programme Fortran le plus simple ressemble à ceci:

end
 

Voici quelques exemples de programmes "salut, monde":

print *, "Hello, world" 
end
 

Avec déclaration d' write :

write(*,*) "Hello, world"
end
 

Pour plus de clarté, il est maintenant courant d'utiliser l'instruction de program pour démarrer un programme et lui donner un nom. L'énoncé de end peut alors faire référence à ce nom pour rendre évident ce à quoi il fait référence, et laisser le compilateur vérifier l'exactitude du code. De plus, tous les programmes Fortran doivent inclure une instruction implicit none . Ainsi, un programme Fortran minimal devrait ressembler à ceci:

program hello
  implicit none
  write(*,*) 'Hello world!'
end program hello
 

La prochaine étape logique à partir de ce point est de savoir comment voir le résultat du programme hello world. Cette section montre comment y parvenir dans un environnement similaire à Linux. Nous supposons que vous avez quelques notions de base sur les commandes shell , principalement vous savez comment accéder au terminal shell. Nous supposons également que vous avez déjà configuré votre environnement fortran . En utilisant votre éditeur de texte préféré (notepad, notepad ++, vi, vim, emacs, gedit, kate, etc.), sauvegardez le programme hello ci-dessus (copier-coller) dans un fichier nommé hello.f90 dans votre répertoire personnel. hello.f90 est votre fichier source. Ensuite, accédez à la ligne de commande et accédez au répertoire (répertoire de base?) Où vous avez enregistré votre fichier source, puis tapez la commande suivante:

>gfortran -o hello hello.f90
 

Vous venez de créer votre programme exécutable hello world. En termes techniques, vous venez de compiler votre programme. Pour l'exécuter, tapez la commande suivante:

>./hello
 

Vous devriez voir la ligne suivante imprimée sur votre terminal shell.

> Hello world!
 

Félicitations, vous venez d'écrire, de compiler et de lancer le programme "Hello World".

Installation ou configuration

Fortran est un langage qui peut être compilé à l'aide de compilateurs fournis par de nombreux fournisseurs. Différents compilateurs sont disponibles pour différentes plates-formes matérielles et différents systèmes d'exploitation. Certains compilateurs sont des logiciels gratuits, d'autres peuvent être utilisés gratuitement et d'autres nécessitent l'achat d'une licence.

Le compilateur Fortran gratuit le plus commun est GNU Fortran ou gfortran. Le code source est disponible auprès de GNU dans le cadre de GCC, la collection de compilateurs GNU. Des fichiers binaires pour de nombreux systèmes d'exploitation sont disponibles à l' adresse https://gcc.gnu.org/wiki/GFortranBinaries . Les distributions Linux contiennent souvent gfortran dans leur gestionnaire de paquets.

D'autres compilateurs sont disponibles, par exemple:

Sur les systèmes HPC, le fournisseur du système propose souvent des compilateurs spécialisés, tels que les compilateurs IBM ou Cray .

Tous ces compilateurs prennent en charge la norme Fortran 95. Un aperçu de l'état de Fortran 2003 et du statut de Fortran 2008 par différents compilateurs est proposé par le forum ACM Fortran et disponible dans le wiki Fortran.

Équation quadratique

Aujourd'hui, Fortran est principalement utilisé pour le calcul numérique. Cet exemple très simple illustre la structure de base du programme pour résoudre des équations quadratiques:

program quadratic
  !a comment

  !should be present in every separate program unit
  implicit none

  real :: a, b, c
  real :: discriminant
  real :: x1, x2

  print *, "Enter the quadratic equation coefficients a, b and c:"
  read *, a, b, c

  discriminant = b**2 - 4*a*c

  if ( discriminant>0 ) then

    x1 = ( -b + sqrt(discriminant)) / (2 * a)
    x2 = ( -b - sqrt(discriminant)) / (2 * a)
    print *, "Real roots:"
    print *, x1, x2

    ! Comparison of floating point numbers for equality is often not recommended. 
    ! Here, it serves the purpose of illustrating the "else if" construct. 
  else if ( discriminant==0 ) then

    x1 = - b / (2 * a)
    print *, "Real root:"
    print *, x1
  else

    print *, "No real roots."
  end if
end program quadratic