[FORTRAN] fonction a la c**
Résolu
m0n0-le-14r3
Messages postés
174
Date d'inscription
Statut
Membre
Dernière intervention
-
m0n0-le-14r3 Messages postés 174 Date d'inscription Statut Membre Dernière intervention -
m0n0-le-14r3 Messages postés 174 Date d'inscription Statut Membre Dernière intervention -
est ce quelqu'un peut m'expliqquer ce que fait c'te fonction :
<------------------------------------------------------------>
subroutine ovrwrt (line, iwhich)
character*(*) line
if (iwhich .eq. 1) then
write (6,1) line
1 format (/a)
else if (iwhich .eq. 2) then
write (6,2) line, char(13)
2 format (a, a1, $)
else if (iwhich .eq. 3) then
write (6,3) line
3 format (a)
else
write (6,4) line, char(13)
4 format (/a, a1, $)
end if
call flush (6)
return
end
>-------- fin code ------------>
merci....
<------------------------------------------------------------>
subroutine ovrwrt (line, iwhich)
character*(*) line
if (iwhich .eq. 1) then
write (6,1) line
1 format (/a)
else if (iwhich .eq. 2) then
write (6,2) line, char(13)
2 format (a, a1, $)
else if (iwhich .eq. 3) then
write (6,3) line
3 format (a)
else
write (6,4) line, char(13)
4 format (/a, a1, $)
end if
call flush (6)
return
end
>-------- fin code ------------>
merci....
A voir également:
- [FORTRAN] fonction a la c**
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer sur word - Guide
- Fonction somme excel - Guide
2 réponses
Petites remarques préalables :
1 - le qualificatif affublé à la fonction ... peut se retourner contre son auteur,
2 - le langage Fortran a été fortement influencé par IBM, ce qui semble justifier l'emploi de cette fonction (à rapprocher de la discussion sur le "\n"),
3 - quand on veut faire voir du code, pour le rendre plus lisible, il convient d'utiliser la directive "code" (juste au dessus du cadre de rédaction du message), comme ci-après :
4 - explications sur la fonction :
Le nom OVRWRT est apparemment l'abréviation de "overwrite", donc prévue pour reformater un fichier, avec le format correspondant à l'indicateur "iwhich".
L'unité 6 est la sortie standard (l'imprimante, l'écran, ...)
character * (*) --> la taille est celle de l'argument
char(13) ---------> CR (retour chariot)
"/" ---------------> saut d'enregistrement avant écriture
"$" ---------------> pas de saut après écriture
"a1" -------------> format d'impression d'1 caractère (avant l'introduction du type "character", les chaînes étaient manipulées au moyen d'entiers (ou de réels), généralement un tableau (ex : une image-carte de 80 caractères --> DIMENSION LIGNE(20))
1 - le qualificatif affublé à la fonction ... peut se retourner contre son auteur,
2 - le langage Fortran a été fortement influencé par IBM, ce qui semble justifier l'emploi de cette fonction (à rapprocher de la discussion sur le "\n"),
3 - quand on veut faire voir du code, pour le rendre plus lisible, il convient d'utiliser la directive "code" (juste au dessus du cadre de rédaction du message), comme ci-après :
subroutine ovrwrt (line, iwhich) character *(*) line if (iwhich .eq. 1) then write (6,1) line 1 format (/a) else if (iwhich .eq. 2) then write (6,2) line, char(13) 2 format (a, a1, $) else if (iwhich .eq. 3) then write (6,3) line 3 format (a) else write (6,4) line, char(13) 4 format (/a, a1, $) end if call flush (6) return end
4 - explications sur la fonction :
Le nom OVRWRT est apparemment l'abréviation de "overwrite", donc prévue pour reformater un fichier, avec le format correspondant à l'indicateur "iwhich".
L'unité 6 est la sortie standard (l'imprimante, l'écran, ...)
character * (*) --> la taille est celle de l'argument
char(13) ---------> CR (retour chariot)
"/" ---------------> saut d'enregistrement avant écriture
"$" ---------------> pas de saut après écriture
"a1" -------------> format d'impression d'1 caractère (avant l'introduction du type "character", les chaînes étaient manipulées au moyen d'entiers (ou de réels), généralement un tableau (ex : une image-carte de 80 caractères --> DIMENSION LIGNE(20))