Fortran Tutoriel
Démarrer avec Fortran
Recherche…
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 |
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:
- EKOPath par PathScale
- LLVM (backend via DragonEgg)
- Oracle Developer Studio
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.
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".
É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
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.