IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Fortran Discussion :

Problème inconnu : une partie de mes résultats sont erronés


Sujet :

Fortran

  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Problème inconnu : une partie de mes résultats sont erronés
    bonjour à tous,
    a vrai dire je ne sait pas comment situer le problème auquel je suis confronté. je vais m'étaller un peu pour pouvoir etre le plus clair possible. le code de calcul que j'ai écrit s'execute normalement (pas d'erreur de compilation ou de lecture des instructions). la remarque est que dans le fichier résultat (matrice d'une colonne de 300 lignes) une quinzaine (15) de valeur sont érronées alors que les 285 autres valeurs correspondent bien a ce que j'attendai comme résultat. suite à quoi j'ai décidé de suivre le calcul étape par étape en introduisant des instruction "pause" et "write(*,*)".

    en executant le programme, j'ai remarqué que pour les 30 premieres boucles tous les resultats etaient logique. c'est à partir de la 31 eme boucle que tous se chamboule. en effet apres calcul d'une variable X laquelle sera utilisée pour calculer une autre valeur que j'appelerai B. j'ai remarqué que la valeur X necessaire pour le calcul de B n'avait rien à voir avec la valeur de X calculée précedement. pour verifier cela, je donne instruction de lecture de la valeur X juste aprés son calcul et une autre unstruction de lecture de la variable X juste avant qu'elle soit utilisée pour le calcul de B. les deux valeurs affichées ne sont pas les mêmes, la premiere est bonne et la dexieme erronée est donc celle qui va etre utilisée pour calculer B.
    le comble est que à partir de la 46eme boucle tout redevient normal et les résultats qui sont affichées sont logiques.
    prière de m'aider parceque moi je ne conprend plus rien.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 98
    Points : 107
    Points
    107
    Par défaut
    salut,

    Les erreurs inexplicables ont souvent pour origine un dépassement de tableau.
    Tu dois compiler avec un maximum d'options de debuggage et notamment,
    • une du style "-check bounds" (dépend du compilateur)
    • associée à un "-trace" pour qu'à l'exécution le numéro de ligne de plantage soit donné
    • et "-nzero" pour forcer l'initialisation de toutes les variables


    Lorsqu'il y a dépassement de tableau, le programme peut s'exécuter sans planter avec des résultats différents si on introduit des " write(*,*) 'toto' " ...

  3. #3
    Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par afrancisco Voir le message
    salut,

    Les erreurs inexplicables ont souvent pour origine un dépassement de tableau.
    Tu dois compiler avec un maximum d'options de debuggage et notamment,
    • une du style "-check bounds" (dépend du compilateur)
    • associée à un "-trace" pour qu'à l'exécution le numéro de ligne de plantage soit donné
    • et "-nzero" pour forcer l'initialisation de toutes les variables


    Lorsqu'il y a dépassement de tableau, le programme peut s'exécuter sans planter avec des résultats différents si on introduit des " write(*,*) 'toto' " ...
    j'ai trouvé l'erreur, j'avais écrit en déclarant la variable: "x(2,30) au lieu d'écrire x(2,300)". vous aviez raison c'etait un probleme de dimension.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 98
    Points : 107
    Points
    107
    Par défaut

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 02/04/2010, 14h39
  2. Réponses: 1
    Dernier message: 01/02/2009, 19h45
  3. Réponses: 5
    Dernier message: 14/12/2007, 10h12
  4. Afficher une partie d'un résultat
    Par MANU_2 dans le forum Langage
    Réponses: 3
    Dernier message: 11/09/2007, 19h03
  5. Réponses: 3
    Dernier message: 07/04/2006, 10h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo