Aller au contenu

[RESOLU] Re-problème Fortran


Messages recommandés

Mon problème cette fois ci, c'est que j'ai une ligne:

PRINTU=(IANS .EQ. 1HY)

Là où c'est drôle, c'est que IANS et 1HY n'ont JAMAIS été définis auparavant!... Donc bah soit je suis myro ;) , soit ces deux trucs ont une signification (comme ans désigne la dernière variable calculée sur une calculette... un truc du gnre quoi).

Bah, voilà, j'en appelle à ceux qui m'ont aidé la dernière fois, et aux autres, pq je trouve pô! :D :8 ;):p

Lien vers le commentaire
Partager sur d’autres sites

Salut,

À mon avis, IANS et 1HY ne sont pas des constantes Fortran. En tout cas je ne les connais pas...

Ces variables ne sont pas définies, ou juste pas initialisées ? Est-ce qu'il y a des fichiers inclus dans lesquels tu n'as pas regardé ?

Si tu affiches le contenu de ces variables, que trouves-tu ?

Et es-tu certain que ce code est juste ?

Lien vers le commentaire
Partager sur d’autres sites

Le code devrait être juste.

Ensuite, je n'ai pas de quoi lire du fortran, donc je peux pas savoir ce qu'il y a dans ces variables.

Elles n'apparaissent jamais plus haut dans le programme, à moins qu'elles ne trainent dans un subroutine... je vais re chercher.

Merci pour ton lien :keskidit:

Lien vers le commentaire
Partager sur d’autres sites

Le code devrait être juste.

Ensuite, je n'ai pas de quoi lire du fortran, donc je peux pas savoir ce qu'il y a dans ces variables.

Il suffit que tu rajouts une ligne qui ressemble à ça :

Print *, 'IANS = ', IANS, ' et 1HY = ', 1HY

Ca permet d'afficher la valeur de la variable à l'écran pendant l'exécution.

Merci pour ton lien :boulet:

Si tu parles du lien vers le poly de Fortran, de rien. Je le trouve très bien aussi. :keskidit:

Lien vers le commentaire
Partager sur d’autres sites

:eeek2: Désolé, je pensais que tu l'avais sur une machine... Ca rend les choses nettement plus compliqué de bosser sur papier.

READ 1020, IANS

Bon, je trouve la ligne un peu bizarre, parce que je pensais qu'on était obligé de préciser l'unité dans laquelle on veut lire. Bon, je viens de faire un essai vite fait. Quand tu écris le READ de cette manière, le code attend que l'utilisateur tape la valeur qu clavier. La ligne est équivalente à

READ(5,1020) IANS

puisque 5 est l'unité représentant le clavier (et 6 est l'écran).

1020 FORMAT(3F10.5,F12.7,F10.5,F11.6)

Les formats sont expliqués dans le poly, p.61-62 pour Fx.y. En gros, F signifie que tu lis ou ecris un réel, x est le nombre total de caractères composant ton réel (le signe - et le . compris) et y est le nombre de chiffres après la virgule. Quand il y a un entier avant le F, celui-ci indique le nombre de réels à ce format consécutifs.

Voilà, en espérant que ça aide... :chinois:

Lien vers le commentaire
Partager sur d’autres sites

Oui oui ça m'a aidé!!!! En fait, à la ligne précédente, j'ai ceci:

FORMAT(* PRINT OUT DETAILS OF VELOCITY PROFILE (Y/N) *)

En fait, c'est tout simplement une instruction qui demande si oui ou non je veux le profil de vitesse... C'est tout bête!!! :devil: (et d'ailleurs inutile parce que OUI, je le veux ce satané profil! :zarb: )

Merci de me répondre, c'est vraiment sympa! Dans ma biblio, je vais te citer comme source: "sponsor informatique: Fafaro" :oops:

Lien vers le commentaire
Partager sur d’autres sites

pour info en fortran on a la specifiaction prédéfinie.

en gros :

toute variable commencant par les lettres i à n inclu sera considérée comme entière sauf spécification explicite d'un autre type

les variables commencant par une autre lettre seront considérée comme réelle sauf si spécification explicite d'un autre type.

Exemple :

si dans ton programme tu as à un moment

nb = nb + 1

nb sera considéré comme un entier si il n'a pas été déclaré en réel, caractère,...

et ici :

var = var + 1

var sera considéré comme un réel

Lien vers le commentaire
Partager sur d’autres sites

Et pour être sûr de ne pas utiliser de déclarations implicites, il faut écrire la formule magique

Implicit None

en tête de procédure (juste avant les déclarations).

D'ailleurs, par expérience, je déconseille toute utilisation de déclarations implicites aux personnes non expertes en Fortran.

Juste mon avis sur le sujet...

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...