On appelle « Entrées / Sorties », tout ce qui permet à un programme de dialoguer avec l'extérieur :
Le langage FORTRAN permet d'écrire ou de lire des données sur différentes choses.
Pour écrire, on utilise l'instruction write
:
Pour lire, on utilise l'instruction read
:
On distingue les lectures/écritures :
|
*
.
*
.
write(*,*) i,j,x,y |
écrit les valeurs des variables i,j,x,y
sur
une ligne, séparées par des blancs.
write(*,*) 'z vaut',z |
écrit la chaine « z vaut
», suivie de la valeur de la variable z
.
Important : se souvenir qu'une instruction write
écrit une
ligne puis revient à la ligne. Donc un write
est égal à une ligne
d'affichage.
Un format est une série de codes, chaque code définissant le format d'écriture d'un élément d'une donnée.
Deux solutions :
write
avec une chaîne de caractères :
|
format
:
|
Cette solution permet d'utiliser le même format dans plusieurs instructions
write
.
Dans un format, la notation in
permet d'afficher un entier.
L'entier est écrit sur n caractères en tout :
Exemples :
i=11
|
donne
|
Variante avec l'instruction format
:
10 format(i6,i6)
|
Dans un format, la notation en.m
permet d'afficher
un réel en virgule flottante sur n caractères en tout avec m chiffres
significatifs, c'est à dire :
Pour que le format soit cohérent, il faut .
Exemples :
x=-1456.2
|
affiche
|
Dans un format, la notation an
permet d'afficher une chaîne
de caractères.
On peut ajouter un $
après le a
pour éviter de revenir à
la ligne.
i=36
|
affichera
i vaut 36 et x vaut -0.14562E+04 |
Les formatages doivent être utilisés si c'est absolument nécessaire.
Dans la plupart des cas le format par défaut (*
)1 suffit largement,
et il est inutile de perdre du temps a formater les sorties écran.
La lecture formatée s'applique
au clavier |
aux fichiers texte |
On lit une ligne de caractères d'un seul coup, la lecture étant validée par :
Les données sur une même ligne doivent être séparées par des blancs.
|
*
.
write
).
Le plus simple est d'utiliser tout le temps le format libre * .
Exception: pour lire des variables caractères ou chaînes de
caractères, le format libre ne fonctionne pas. Utiliser le format chaîne
a .
|
real a,b,c
|
attend de l'utilisateur qu'il frappe trois réels au clavier séparés par des
espaces puis la touche RETURN (
). On peut entrer les nombres
en format virgule flottante. Pour entrer (1,2) dans a
,
(1,6.10-19) dans b
et (32) dans c
, l'utilisateur
pourra taper :
1.2 1.6e-19 32
Un exemple classique d'écriture suivie d'une lecture sur la même ligne :
write(*,'(a,$)') 'Entrez x :'
|
Le message sera affiché, mais le curseur ne reviendra à la ligne que lorsque l'utilisateur aura entré x suivi de RETURN.