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

Cobol Discussion :

[PC] Aide pour identifier problème d'exécution


Sujet :

Cobol

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Décembre 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1
    Par défaut [PC] Aide pour identifier problème d'exécution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    identification division.
           program-id. mat.
           environment division.
           input-output section.
           file-control.
               select f1 assign to "c:\matrice1.txt".
               select f2 assign to "c:\matrice2.txt".
           data division.
           file section.
           fd f1 label record standard data record enreg1.
           01  enreg1 pic 9(5).
           fd f2 label record standard data record enreg2.
           01 enreg2 pic 9(5).
           working-storage section.
           77 nbl pic 9(5).
           77 nbc  pic 9(5).
           77 i pic 9(2).
           77 j pic 9(2).
           77 nbrel pic 9(5).
           77 n pic 9(2).
           77 fdf pic 9  value  0.
           77 var pic 9(5).
          
           procedure division.
               open output f1.
               display "saisir le nbr de lignes".
               accept nbl.
               display "saisir le nbr de colonnes".
               accept nbc.
           
               move 1 to i.
               move 1 to j.
               compute  nbrel = nbl * nbc.
               move 1 to n.
               perform saisie until  n > nbrel.
         
               close f1.
               move 1 to i.
               move 0 to j.
               move 1 to var.
               move 0 to n
               open output f2.
               perform trait until var > cl.
               close f2.
               open input f2.
               display "la transposeé est:".
               read f2 at end move 1 to fdf.
               perform affich until fdf = 1.
               close f2.
               stop run.
           saisie.
               display "donner l'‚lement:",i,j.
               accept enreg1.                       
               if (j < nbc) then
               add 1 to j
               else
               move 1 to j
               add 1 to i
               add 1 to n         
               write enreg1
               end-if.
           
               
           trait.
               move 0 to fdf.
               open input f1.
               read f1 at end move 1 to fdf.
               perform trans until fdf = 1.
               close f1.
           trans.
           
               if (j < nbc) then
               add 1 to j
               else
               move 1 to j.
               add 1 to i.
               if (j = var) then
               move enreg1 to enreg2.
             
               write enreg2.
               add 1 to n.
               read f1 at end move 1 to fdf.
               
           affich.
               display " la transpos‚ d'une matrice est:".
               accept enreg2.
               read f2 at end move 1 to fdf.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 362
    Par défaut
    Bonjour,

    Est-ce vraiment utile de faire plusieurs fois le même post ?

    Citation Envoyé par zied212 Voir le message
    MERCI POUR LES REPENSES

    voila precisement ce je cherche A faire :
    dapres un fichier F1 qui represente les elements d une matrice M ligne par ligne ainsi q un enregistrement logique de F1 qui se compose d une seule rubrique.
    je veu faire un algorithme cobol qui permet de representer une matrice M dans le fichier F1 et de donne sa transposee sur un fichier F2 (bien sur ayant la meme structure logique de F1).
    Bon, sur le fond, plusieurs remarques :

    1) Ce serait bien que tu mettes ton code en forme CODE (avec le bouton #).
    2) Si tu ajoutais quelques commentaires à ton programme, on comprendrait mieux ce que tu crois qu'il fait ou ce que tu veux qu'il fasse.
    3) Si le fichier F1 contient à la fois les dimensions de ta matrice et la suite des valeurs, il ne sert à rien d'insérer des DISPLAY dans ton programme (tu n'attends pas une saisie de l'utilisateur, n'est-ce pas ?)
    4) J'ai l'impression qu'il y a un mélange entre :
    - read et accept : pour lire dans F1, il faut utiliser read ;
    - lecture et écriture : le fichier F2, s'il s'agit bien toujours du même problème, doit être celui dans lequel tu écris la transposée de F.
    5) Je ne suis pas spécialiste de Micro focus, mais il me semble que tes fichiers sont tous les deux séquentiels. Comment gères-tu l'ordre des enregistrements ?
    6) Si tu met OPEN et CLOSE d'un fichier à l'intérieur d'une boucle, en général, c'est que tu t'es trompé
    7) Si tu écrit "La transposée etc." à l'intérieur d'une boucle, tu risque de bégayer.
    8) Est-ce bien raisonnable de mettre des ACCEPT et des READ en même temps, et tout ça à l'intérieur d'un traitement "affiche" ?

    Bon, et bien ça te fait quelques pistes déjà...

    A mon avis, le problème le plus essentiel, c'est le point 5 : comment faire en sorte que F2 contienne bien la transposée de F1 ? Tu n'as pas de structure de matrice dans ton programme pour stocker tes valeurs. Et si tu en avais une, se poserait le problème de ses dimensions, d'où ma suggestion dans un post précédent d'utiliser un fichier séquentiel indexé en sortie (F2). Et revoit aussi tes entrées/sorties

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

Discussions similaires

  1. Besoin d'aide pour un problème d'exécution
    Par parygo dans le forum MATLAB
    Réponses: 1
    Dernier message: 19/12/2010, 15h10
  2. Aide pour identifier une erreur de syntaxe
    Par tribalou dans le forum Cobol
    Réponses: 10
    Dernier message: 21/02/2008, 01h46
  3. Aide pour petit problème sur bouton
    Par jeanfly dans le forum Flash
    Réponses: 3
    Dernier message: 14/05/2007, 17h25
  4. Réponses: 6
    Dernier message: 26/04/2007, 13h57
  5. Réponses: 39
    Dernier message: 21/10/2006, 14h53

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