![]() |
Développement :
Auteur : Jean HENRI - Dernière mise à jour : 13 décembre 2001 |
![]() Pour m'écrire |
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
finfonction 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
finDonné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
finfonction 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