Fichier vers tableaux

Pierre-Mathieu -  
 loupius -
Bonjour,

Comment puis je faire passer les informations contenues dans un fichier vers un tableaux en pseudo-code?

5 réponses

  1. loupius
     
    Il me semble avoir déjà vu cette question ici. La réponse est la même: On lit un bout de fichier et on le met dans le tableau, on relit un bout de fichier et on l'ajoute au tableau et ainsi de suite jusqu'à la fin du fichier.
    Le bout de fichier à lire va dépendre de la manière dont est construit le fichier:
    - si le fichier est construit style binaire: les enregistrements ont tous la même longueur et ils sont les uns à la suite des autres sans séparateur, il faut lire des bout de fichiers de longueur fixe, les découper en morceaux de taille fixe et les mettre dans le tableau,
    - si le fichier est construit style 'texte': les enregistrements sont de longueur variable et ils sont séparés, en général, par une fin de ligne, il faut lire le fichier ligne par ligne, les découper en parties variables car ils sont séparés par un séparateur (évidemment), en général une tabulation ou un point-virgule, et les mettre dans le tableau,
    - si le fichier est construit style 'xml', c'est plus simple et plus compliqué. C'est beaucoup plus simple si tu utilises un analyseur ('parser' in english) et beaucoup plus compliqué si tu veux t'en dépêtrer tout seul.
    Bonne réflexion.
    0
  2. Pierre-Mathieu
     
    Ok... tu t'y connais bien, c'est juste que t'avais pas trop envie de m'aider hier. :p
    Il s'agit d'un fichier texte donc les infos se trouvant dans le fichier sont mises sous formes de données structurées du type:
    structure menu
    entrée en alphanum* 20
    plat en alphanum *50
    dessert en alphanum *20
    fin structure
    Bon maintenant j'aurais voulu savoir comment mettre ça dans un tableaux... c'est une opération que je devrais répéter donc j'aurais vraiment besoin d'en connaitre le fonctionnement.

    Merci à toi
    0
    1. loupius
       
      Il ne faut pas confondre structure du tableau en mémoire et structure du fichier sur le disque.
      Pour connaître la structure du fichier sur le disque, il y a deux solutions:
      - soit avoir accès au source du logiciel qui a construit ce fichier;
      - soit utiliser un éditeur hexa qui va permettre de voir exactement de quoi est composé ce fichier.
      A partir de là, tu choisiras quel est la stratégie à adopter pour lire ton fichier.
      Bonne continuation.
      0
  3. Pierre-Mathieu
     
    Merci de m'aiguiller le plus complètement possible.
    0
    1. loupius
       
      Je ne suis pas là non plus pour faire le travail à ta place ;-)
      De toute façon, je ne puis écrire une ligne de code car on n'a jamais parlé de langage (et d'ailleurs ce n'était pas utile).
      0
  4. Pierre-Mathieu
     
    Biensur j'te demande pas de faire le boulot à ma place mais il n'y a pas de langage particulier, il s'agit du pseudo code donc voici ce que je pense correct:

    debut
    ouvrir "menu.txt" sur 1 en lecture
    Tant que non EOF
    Lire fichier 1,menu
    menu( ) <- entrée
    menu () <- plat
    menu () <- dessert
    Fintantque
    fermer (1)
    fin

    Dis moi ce que t'en penses et n'hésite pas à me corriger.
    Merci
    0
    1. loupius
       
      Je ne connais pas bien le pseudo-code, mais j'aurais plutôt écrit quelque chose du genre:
        Lire fichier 1, buffer, taille_enregistrement
        decoupage buffer
        menu.entree  <- buffer(1)
        menu.plat    <- buffer(2)
        menu.dessert <- buffer(3)
      Mais ce n'est qu'une suggestion...
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Pierre-Mathieu
     
    Le buffer est une mémoire tampon mais est ce qu'ici tu l'utilises comme une variable quelconque? C'est juste le nom que t'as donné à une variable?
    J'pourrais faire comme ça:

    i <- o

    ouvrir fichier "menu.txt" sur 1 en lecture
    Tantque non EOF
    Lire fichier 1, menu
    i<-i+1
    menu(i) .entree <- entree
    menu(i).plat <- plat
    menu(i).dessert <- dessert
    fintantque
    C'est possible aussi comme ça selon toi?
    0
    1. loupius
       
      Pour moi l'écriture en pseudo-code est une manière d'organiser ses idées.
      Il s'agit simplement d'écrire quelque chose de clair, de lisible et plus ou mois (mais plutôt plus) facilement traduisible dans le langage final.
      Oui 'buffer' est le nom donné à une variable de type mémoire tampon; sa définition précise sera faite en fonction du langage utilisé.
      0