Vous êtes sur la page 1sur 5

Les fichiers

Jusqu'après les objets utilisé dans nos algorithmes (objet simple tableau) n'ont qu'une
durée de vie brève. Leur existence est limitée à la période d'exécution du programme
dont il constitue l'environnement (parce qu'ils sont situés en mémoire centrale).
Ces informations ne pouvaient provenir que de deux sources:

 Elles étaient inclues dans l'algorithme par le programmeur, exemple: a←1.


 Elles étaient introduites lors de l'exécution par l'utilisateur, exemple lire(a).
 Et pourtant il existe plusieurs applications pour lesquelles les informations traitées doivent être conservées
bien au-delà de la durée d'exécution du programme, exemple: la gestion du courrier, la gestion du
personnel, la gestion des comptes des clients, la gestion des vols d'une compagnie de voyage.

Le type fichier va nous permettre de manipuler des informations situées sur des supports
externes, exemple: le disque dur, le CD, la disquette.

Définition et déclaration d'un fichier


Un fichier est une collection d'information structuré en unité d'accès
appelée article ou enregistrement qui sont tous de même type.
ALGORITHME 1
Un fichier est toujours conservé sur un support externe à la mémoire centrale.
Déclaration du type fichier:
type article=enregistrement
champ1 : type1
champ2 : type2
..............
champn : typen
fin enregistrement
F_article = fichier de article
Exemple:

Type Etudiant = enregistrement


code : chaîne
nom : chaîne
prénom : chaîne
note : réel

CHAPITRE : LES FICHIERS


fin enregistrement
F_Etudiant = fichier de Etudiant

Opération sur les fichiers


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.

Ouverture d'un fichier en lecture


 Syntaxe:

F: fichier
ouvrirL(F)
ALGORITHME 2

Sémantique:

L'exécution de cette instruction permet de lire les enregistrements dans le fichier F.

Ouverture du fichier en écriture


 Syntaxe:

OuvrirE(F)
Sémantique:

L'exécution de cette instruction permet d'écrire des enregistrements dans le fichier F.

Ouverture d'un fichier en lecture/écriture


 Syntaxe:

Ouvrir(F)
Sémantique:

L'exécution de cette instruction permet une utilisation du fichier en écriture et ou lecture.

Fermeture d'un fichier


 

CHAPITRE : LES FICHIERS


 A la fin de traitement du fichier l'algorithme doit indiquer qu'il n'a plus besoin du fichier F
en effectuant sa fermeture au moyen d'une primitive donc la syntaxe est:
Fermer(F)
L'exécution de cette instruction complète le fichier par une marque de fin en cas de
création du fichier.

Traitement d'un fichier


Traitement d'un fichier en lecture
 F: fichier
val : article
lire(F, val)
Sémantique:

L'exécution de cette instruction permet d'introduire la valeur d'un ensemble de F dans la


variable val.

Traitement d'un fichier en écriture


 

 Syntaxe:

écrire(F, val)
ALGORITHME 3
Sémantique:

L'exécution de cette instruction permet d'introduire la valeur de val dans le fichier F.

  Traitement de fin de fichier


 Syntaxe:

Fin(F)
Sémantique:

Cette instruction est une fonction booléenne qui est fausse quand aucune action de
lecture est exécutée. Elle garde cette valeur tant que les exécutions successives de lire(F,
val) rencontrent les articles F.
Elle prend la valeur vraie dès que l'exécution de lire(F, val) rencontre la marque de fin de
fichier.

  Parcours des éléments d'un fichier


 Parcourir un fichier consiste à accéder à chaque article ou élément du fichier une et une
seule fois. Les procédures générales de parcours d'un fichier sont:
procédure parcours1(F: fichier)
var val: article
début
ouvrir(F)
CHAPITRE : LES FICHIERS
lire(F, val)
tant que non(Fin(F)) faire
action1
lire(F, val)
fin tant que
action2
fermeture(F)
fin

procédure parcours2(F: fichier)
var val: article
début
ouvrir(F)
répéter
lire(F, val)
action
jusqu'à fin(F)
fermer(F)
fin
Exemple1:

procédure creer_fichier_Etudiant(F: F_Etudiant)
var val: article
début
ALGORITHME 4

ouvrirE(F)
répéter
lire(val.code)
lire(val.nom)
lire(val.prenom)
lire(val.note)
si val.code≠' ' alors
écrire(F, val)
fin s i
jusqu'à val.code=' '
fermer(F)
fin
Exemple2:

Ecrire une fonction qui permet de calculer la taille d'un fichier


fonction taille_Fichier(F: fichier): entier
var val: Etudiant
CHAPITRE : LES FICHIERS
cp: entier
début
ouvrirL(F)
cp ← 0
lire(F, val)
tant que nonfin(F) faire
cp ← cp+1
lire(F, val)
fin tant que
taille_Fichier ← cp
fermer(F)
fin

Problème: la gestion d'un hôtel


Les informations concernant un hôtel sont:

 Le code
ALGORITHME 5
 Le nom
 La ville
 L'adresse qui est un enregistrement composé de:
o La boîte postale
o Le numéro de téléphone
 La disponibilité: qui sera un booléen.

Questions:
1.
o Donnez la déclaration d'un fichier d'hôtel.
o Donnez la déclaration qui permet de créer un fichier d'hôtel.
o Ecrire une procédure qui affiche la liste des hôtels disponibles.
2. Ecrire une procédure qui prend en paramètre le fichier hôtel et renvoie la taille de ce fichier.
3. On voudrait supprimer un hôtel du fichier:
o Ecrire une procédure qui permet de transférer les éléments du fichier dans le vecteur hôtel.
o Ecrire une procédure qui prend en paramètre le vecteur hôtel et qui supprime cet hôtel du vecteur.
Après suppression le vecteur d'hôtel est transféré à nouveau dans le fichier hôtel

4.
o Ecrire une procédure qui permet d'effectuer ce transfert.
o Ecrire une fonction qui prend en paramètre le fichier d'hôtel et le code d'un hôtel puis retourne vraie
si cet hôtel existe dans le fichier et faux sinon.

CHAPITRE : LES FICHIERS

Vous aimerez peut-être aussi