Le fortran, dont le nom provient de (FORmula TRANslator), est le premier langage de programmation de haut niveau
écrit par John Backus dans la fin des années 1950. |
Edition & compilation Syntaxe |
Trucs Fichiers |
Liens |
Vous pouvez utiliser votre éditeur préféré tel que vi, nano, joe, emacs ou 'Visual Studio Code'... En effet on travail souvent en mode console pour ces applications de calcul.
$ joe sinus.f95 |
Voici un exemple d'appel depuis la console pour l'édition du fichier source sinus.f95 |
sinus2.f95 Row 13 Col 1 10:27 Ctrl-K H for help program sinus implicit none double precision val = 45.0 double precision, parameter :: pi = 3.14159265359d0 print *, 'Sinus de ',val,' = ', sin(val*(pi/180.0)) end program sinus | Avec l'éditeur de texte sous console "joe" |
$ gfortran -o sinus sinus.f95
Vous pouvez exécuter après la compilation votre programme dans le répertoire de travail .
Ne pas oublier de changer le mode du fichier avec la commande
$ chmod +x sinus
Pour ce faire il suffit de lancer la commande en spécifiant d'où doit être exécuté le programme de la manière suivante :
$ ./sinus
Si vous souhaitez produire des fichiers objets .o avec les fichiers .f95 par exemple, il suffit de tapper la commande
$ gfortran -c fraction.f95
le résultat de cet opération donnera un fichier "fraction.o" dans le répertoire.
!-prog principal---------------------- program calcul ... call affiche ... contains !-subroutines-------------------------- subroutine affiche ... ... return end subroutine affiche !-fonctions----------------------------- function sinus(val) ... ... end function sinus end program calcul !--------------------------------------
jp@URANUS:~/progra/fortran$ cat var.f95 ! ! Travail avec des variables non définies ! ! Jean-Pierre Perroud, mai 2010 ! ! debut du programme program var ! boucle d'écriture avec i non définit do i = 1,5 print 10,'Valeur de i = ', i end do ! assignation de valeur aux variables non définies juste = 44 somme = 12.0 print 10,'Var juste = ',juste print 20,'Var Somme = ',somme ! formats de mise en page 10 format (a,i4) 20 format (a,f4.1) end program var ! fin du programme jp@URANUS:~/progra/fortran$
Ce qui donne en faisant tourner le programme ...
jp@URANUS:~/progra/fortran$ ./var Valeur de i = 1 Valeur de i = 2 Valeur de i = 3 Valeur de i = 4 Valeur de i = 5 Var juste = 44 Var Somme = 12.0 jp@URANUS:~/progra/fortran$
On voit bien que la variable "i" qui n'étant pas définie dans le programme, est bien de type "integer" .
On note aussi que "juste" qui commence par un "j" est bien aussi de type "integer",
alors que "Somme" qui n'est pas définie et ne comporte pas une première lettre dans la liste
i,j,k,l,m et n est bien un variable de type "real", cqfd !
En résumé, même si la déclaration des variables n'est pas obligatoire, je trouve plus intéressant
de définir toutes celles que nous utiliserons.
Sur des programmes plus gros, cela simplifie tout de même le debuguage de ceux-ci et nous oblige
à plus de rigueur.
Il est a noter que l'on peut modifier la liste des variables implicites en modifiant ou ajutant des définitions.
implicit real*8 (S)
Ce qui va donner que toutes les variables utilisées commençant pas "S" seront de type real double précision.
Regardons maintenant comment créer un fichier puis comment lirce fichier
Un bout de code pour créer un fichier
program creation_fichier implicit none integer :: file_unit character(len=30) :: nom_fichier = "mon_fichier.txt" character(len=100) :: texte = "Contenu du fichier" ! Ouvrir le fichier open(newunit=file_unit, file=nom_fichier, status="new") ! Écrire dans le fichier write(file_unit,*) texte ! Fermer le fichier close(file_unit) end program creation_fichier
Ce programme crée un nouveau fichier nommé "mon_fichier.txt" dans le répertoire de travail avec le contenu "Contenu du fichier".
La commande "newunit" dans la commande OPEN indique que Fortran doit choisir un numéro de fichier disponible pour vous.
Vous pouvez également spécifier un numéro de fichier avec le paramètre "unit" si vous préférez utiliser un numéro spécifique.
Notez que les noms de fichier et les chemins d'accès peuvent varier selon votre système d'exploitation.
Assurez-vous de spécifier le nom et le chemin de votre fichier correctement pour qu'il soit créé dans le bon répertoire.
Voici un exemple de programme pour ouvrir un fichier.
program ouverture_de_fichier implicit none ! Déclaration des variables character(len=100) :: nom_fichier integer :: statut, unit ! Demande le nom du fichier à ouvrir write(*,*) 'Entrez le nom du fichier à ouvrir :' read(*,*) nom_fichier ! Ouvre le fichier en mode lecture seule open(unit=unit, file=nom_fichier, status='old', action='read', iostat=statut) ! Vérifie si l'ouverture du fichier s'est bien passée if (statut /= 0) then write(*,*) 'Erreur lors de l''ouverture du fichier.' stop else write(*,*) 'Le fichier a été ouvert avec succès.' end if ! Ferme le fichier close(unit=unit) end program ouverture_de_fichier
Dans ce code, nous demandons à l'utilisateur de saisir le nom du fichier à ouvrir, par exemple "mon_fichier.txt" ou un autre.
Puis nous ouvrons le fichier en utilisant la commande open Nous vérifions également si l'ouverture du fichier
s'est bien passée en vérifiant le code de statut renvoyé par open.
Enfin, nous fermons le fichier en utilisant la commande close.
Jean-Pierre Perroud Switzerland Dernière mise à jour : |