[FORTRAN] fonction a la c**
Résolu/Fermé
m0n0-le-14r3
Messages postés
174
Date d'inscription
mercredi 13 avril 2005
Statut
Membre
Dernière intervention
25 octobre 2005
-
13 mai 2005 à 10:56
m0n0-le-14r3 Messages postés 174 Date d'inscription mercredi 13 avril 2005 Statut Membre Dernière intervention 25 octobre 2005 - 13 mai 2005 à 11:40
m0n0-le-14r3 Messages postés 174 Date d'inscription mercredi 13 avril 2005 Statut Membre Dernière intervention 25 octobre 2005 - 13 mai 2005 à 11:40
2 réponses
Marden
Messages postés
1072
Date d'inscription
dimanche 11 février 2001
Statut
Membre
Dernière intervention
29 janvier 2006
210
13 mai 2005 à 11:38
13 mai 2005 à 11:38
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))
m0n0-le-14r3
Messages postés
174
Date d'inscription
mercredi 13 avril 2005
Statut
Membre
Dernière intervention
25 octobre 2005
17
13 mai 2005 à 11:40
13 mai 2005 à 11:40
merci:)