Retour à la page d'accueil

Développement :
Algorithmique

Auteur : Jean HENRI - Dernière mise à jour : 13 décembre 2001

Pour m'écrire

Utiliser les fichiers de type "texte"

Solution des algorithmes sur les fichiers textes.

algorithme AfficherLigne (E: NomFichier est une chaine de caractère, NumLigne est un entier)

donnée : Fic_Entree est un fichier texte
         IndexLigne est entier
         Ligne est une chaine de caractères

début
  initialiser Fic_Entree avec NomFichier
  ouvrir Fic_Entree en lecture

  pour IndexLigne <-- 1 à NumLigne faire
    lire depuis Fic_Entree dans Ligne
  fin pour

  fermer Fic_Entree

  afficher Ligne
fin

fonction TailleFichier (E: NomFichier est une chaine de caractères) renvoie un entier

donnée : Fic_Entree est un fichier texte
         NbLignes est un entier

début
  NbLignes <-- 0

  initialiser Fic_Entree avec NomFichier
  ouvrir Fic_Entree en lecture

  tant que pas FinFichier (Fic_Entree) faire
    lire depuis Fic_Entree
    NbLignes <-- NbLignes + 1
  fin tant que

  fermer Fic_Entree

  renvoyer NbLignes
fin

Données globales
  TailleMax est une constante entière qui vaut 150
  Tab_Dep est un tableau [1 à TailleMax] de chaines de 50 caractères
  NbDept est un entier

algorithme RemplirTableau (E: NomFichier est une chaine de caractères)

données : Fic_Entree est un fichier texte

début
  NbDept <-- 0

  initialiser Fic_Entree avec NomFichier
  ouvrir Fic_Entree en lecture

  tant que pas FinFichier (Fic_Entree) faire
    NbDept <-- NbDept + 1
    lire depuis Fic_Entree dans Tab_Dept [NbDept]
  fin tant que

  fermer Fic_Entree
fin

fonction Chercher (E: Ligne est une chaine de caractères) renvoie un entier

donnée : IndexDept est un entier

début
  IndexDept <-- 0

  si (Nb_Dept > 0) alors
    répéter
      IndexDept <-- IndexDept + 1
    jusqu'à ((Tab_Dept [IndexDept] = Ligne) OU (IndexDept = Nb_Dept))

    si ((IndexDept = Nb_Dept) ET (Tab_Dept [IndexDept] <> Ligne)) alors
      IndexDept <-- 0
    fin si
  fin si

  renvoyer IndexDept
fin