Algorithme: Traitement sur les fichiers
Algorithme: Traitement sur les fichiers
-
Définitions
- Les opérations avec les objets de type ficher sont:
- La création: Consulter un fichier consiste à épuiser une partie des informations qu’il contient sans toute fois y apporter des modifications.
- La mise à jour: Elle consiste à modifier le contenu d’un fichier, à ajouter un nouvel élément dans le fichier, supprimer un élément du fichier.
- Lors du traitement d’un fichier l’algorithme doit assurer le contrôle de ce fichier à l’aide d’une primitive d’ouverture de fichier, soit en lecture, soit en écriture, soit en lecture/écriture.
-
Traitement sur les fichiers
-
Les procédures sur les fichiers
: (NL : Nom logique, NP : Nom Physique et V : variable)
-
Fonction de test de fin de fichier
-
Exercice d’application fichier 002
-
Énoncé
-
Solution proposée
- Analyse du programme principal
- Algorithme du programme principal
- Analyse de la procédure Création
- Algorithme de la procédure Création
- Analyse de la procédure Saisie
- Algorithme de la procédure Saisie
- Analyse de la procédure Affichage
- Algorithme de la procédure Affichage
En Algorithme | Rôle | Syntaxe | Remarques |
Assigner (NL, NP) | Associer (ou Assigner) un nom logique à un nom physique. | Associer (nom logique, nom physique) | Pour un fichier il existe deux noms (un nom interne et un nom externe). Il faut donc, avant d’utiliser un fichier, relier ou encore associer son nom logique au nom physique du fichier par la commande |
Recréer (NL) | Ouverture en nouvelle création (en Ecriture) d’un fichier. | Recréer (nom logique) | L’instruction « Recréer » permet d’ouvrir un fichier et d’effacer son contenu (recréer le fichier), si le fichier n’existe pas, il sera créé. |
Ouvrir (NL) | Ouverture (en lecture) d’un fichier existant. | Ouvrir (nom logique) | Ouvrir un fichier existant et repositionner ou remettre à zéro (ReSet) son pointeur. Cette instruction permet l’ajout ou la modification des enregistrements. |
Ecrire (NL, V) | Ecrire (nom logique, variable) | Ecrire ou modifier une valeur dans un fichier. | L’écriture ou la modification d’une valeur ou d’un enregistrement dans un fichier se fait grâce à l’instruction |
Lire (NL, V) | Lire une valeur dans un fichier. | Lire (nom logique, variable) | La lecture d’une valeur ou d’un enregistrement du fichier se fait par l’instruction |
Fermer (NL) | Fermer le ou les fichier(s) ouvert(s). | Fermer (nom logique) | A la fin du traitement, nous devons fermer le (ou les) fichier(s) ouvert(s). La fermeture d’un fichier spécifique se fait par l’instruction |
En Algorithme | Rôle |
FDF (NL) | Tester si la fin du fichier en lecture est atteint ou non. |
-
Ecrire un programme nommé F_Positif, qui :
– Enregistrer sur le disque dur ‘’C’’ et dans le dossier ‘’4SI’’, un fichier ayant pour nom Nombres.FCH comportant des entiers positifs saisis au clavier. Le nombre de ces entiers est inconnu à l’avance. La condition d’arrêt est la saisie d’un nombre négatif. Ce dernier ne sera pas enregistré dans le fichier.
– Affiche tous les éléments du fichier.
- Questions :
-
– Proposer une analyse de ce problème,
– Déduire les algorithmes correspondants,
– Traduire en Pascal et tester la solution obtenue. Enregistrer votre programme sous le nom Fichier1.
Nom : F_Positif
Résultat = Proc Affichage (F), Fermer(F)
F= Proc Saisie(F)
F= Proc Creation(F)
Fin F_Positif
Tableau de déclaration des nouveaux types
Type |
F_Entiers = Fichiers d’entiers |
Tableau de déclaration des objets
Objet | Type / Nature | Rôle |
F | F_Entiers | Nom logique du fichier |
Création | Procédure | Création et ouverture du fichier |
Saisie | Procédure | Saisie et enregistrement des entiers dans le fichier |
Affichage | Procédure | Lecture et affichage du contenu du fichier |
-
0) Début F_Positif
1) Proc Création (F)
2) Proc Saisie (F)
3) Proc Affichage (F)
4) Fermer (F)
5) Fin F_Positif
-
DEF PROC Création (Var F : F_Entiers)
Résultat = Recréer (F)
F = Associer (F, chemin)
Chemin ← ‘’C:\4SI\Nombres.FCH’’
Fin Création
Objet | Type / Nature | Rôle |
Chemin | Constante = « C:\4SI\Nombres.FCH » | Nom physique et chemin du fichier |
0) DEF PROC Création (Var F : F_Entiers)
1) chemin ← ‘’C:\4SI\Nombres.FCH’’
2) Associer (F, chemin)
3) Recréer (F)
4) Fin Création
DEF PROC Saisie (Var F : F_Entiers)
Résultat = F, V
F = [ ] Tant que V≥0 Faire
Ecrire (F, V)
V = donnée (‘’Entrer un entier :’’)
Fin Tant que
V = donnée (‘’Entrer un entier :’’)
Fin Saisie
Objet | Type / Nature | Rôle |
V | Entier | Valeur saisie au clavier |
-
0) DEF PROC Saisie (Var F : F_Entiers)
1) Ecrire (‘’Entrer un entier :’’) ; lire(V)
2) Tant que v≥0 Faire
Ecrire (F, v)
Ecrire (‘’Entrer un entier :’’) ; lire(V)
Fin Tant que
3) Fin Saisie
DEF PROC Affichage (Var F : F_Entiers)
Résultat = [ ] Tant que Non (FDF(F)) Faire
Lire (F, V)
Ecrire (V)
Fin Tant que
F = Ouvrir(F)
Fin Affichage
NB : Il faut prévoir ouvrir le fichier.
-
0) DEF PROC Affichage (Var F : F_Entiers)
1) Ouvrir (F)
2) Tant que Non (Fin_fichier(F)) Faire
Lire (F, V)
Ecrire (V)
Fin Tant que
3) Fin Affichage