Académique Documents
Professionnel Documents
Culture Documents
Semestre 1
Chapitre 1: Introduction à l'Informatique
Chapitre 2: Le Langage Algorithmique
Chapitre 3: Les Tableaux
Chapitre 4: Les Actions Paramétrées
Semestre 2
Chapitre 5: Les Enregistrements
Chapitre 5 :La Récursivité
Chapitre 6: Les Pointeurs
Chapitre 7: Les Listes chaînées
Chapitre 8: Les Fichiers
1
Les Fichiers
Question :
Quelle structure faut-il utiliser pour sauvegarder d’une
manière permanente un ensemble d’information (pouvant
dépassé la capacité de la MC) dont le nombre n’est pas connu
avant le traitement
Les Fichiers
3
Définition
4
Fichiers textes
o Lisibles par un humain en utilisant un éditeur de texte
o Les informations sont généralement de longueur variables
ce qui empêche de calculer l’emplacement précis d’une
information particulière et ainsi, son accès direct
o Les informations sont organisées comme une suite de
lignes (chaque ligne est constituée d’un nombre
quelconque de caractères distincts du caractère fin de ligne
et se termine par le caractère fin de ligne)
5
Fichiers textes
1 2 2 . 2 1 3 2 6 4 1 5 6 . 7
ou
1 2 2 . 2 1 3 2 6 4 1 5 6 . 7
7
Fichiers binaire
122.2132641 56.7
8
Un fichier peut être identifié de deux manières. Par un:
• nom physique : donné au moment de la création par son
propriétaire
• nom logique : variable qui contient des informations propres
au fichier. C’est un repère indiquant à quel emplacement on se
trouve dans le fichier (pointeur ou tête de lecture/écriture)
Remarque :
La durée de vie du nom logique est liée à celle de l'exécution
du programme qui le manipule.
9
Lecture Fichier
Buffer
Mémoire externe
Remarque:
Le transfert de données entre la MC (Buffer) et la mémoire
externe est assuré par le système d’exploitation.
10
Logique Physique
Information volatile Information permanente
Accès plus rapide car on Accès plus lent car on utilise la
utilise la MC mémoire externe
Moins de capacité : Plus de capacité
tampon ou buffer
Information organisée suite binaire
suivant la logique utilisée
dans l’algorithme
11
Représentation et accès aux données
Remarque :
Dans ce chapitre nous nous intéressons aux Fichiers à Accès
Séquentiel.
12
Tête de lecture/Ecriture
13
Déclaration et opérations
Pour travailler avec un fichier on doit préalablement le créer
ou l'ouvrir ceci permet ensuite de lire : récupérer une ou
plusieurs informations ou d'écrire : enregistré au stocker des
informations.
Déclaration
<Idf_fichier> : Fichier de <type_élément>
<type_élément> : le type des éléments du fichier peut être
simple ou structuré.
Exemple :
F: Fichier de entier; Type
C: Fichier de caractère; Tab : tableau[5] de
réel;
Comp: Fichier de complexe; R: Fichier de Tab;
Etu : Fichier de étudiant; 14
Remarque:
A chaque fichier est associée une zone de travail appelée
variable tampon ou buffer qui doit être de même type que les
éléments du fichier. Elle sera distinguée par : Idf_fichier^
Exemple :
C: Fichier de caractère;
Cmp: Fichier de complexe;
TLE
TLE
1 a 2 . p EOF 3 6 5 -7 -2 0 EOF
C^ Cmp^
15
Primitives de manipulation des fichiers
Fin De Fichier
Sa forme : fdf(idf_fichier)
Si la marque de FDF n’est pas encore atteinte alors :
fdf(idf_fichier) = faux sinon fdf(idf_fichier) = vrai
TLE TLE
1 a 2 . p EOF 1 a 2 . p EOF
C^ ?
C^ 2
16
Primitive d’accès au 1er élément d’un fichier
Pour pouvoir manipuler un fichier, il faut qu’il soit ouvert.
Ouverture d’un fichier en Mode Lecture
Syntaxe: relire(idf_fichier)
Positionne le 1er élément en face de la TLE. La valeur du 1er
élément est recopiée dans le buffer. Le prédicat FDF conserve
sa valeur faux.
Si le fichier est vide le buffer à une valeur indéfinie et le
prédicat FDF prend la valeur vrai
Remarque : si le fichier n’existe pas le SE renvoie un message
d’erreur
TLE
TLE
EOF
1 a 2 . p EOF
C^ ?
C^ 1
fdf(C) = faux fdf(C) = vrai
17
Primitive d’accès aux autres éléments d’un fichier
Syntaxe:
Lire(idf_fichier, idf_var)
1 a 2 . p EOF
C^ C^
1 1
18
Ouverture d’un fichier en Mode Ecriture
Syntaxe:
reecrire(idf_fichier)
TLE
EOF
fdf(C) = vrai C^ ?
19
Syntaxe:
ecrire(idf_fichier, idf_var)
Exemple : X 2; ecrire(C, X) (* C^ X *)
X
TLE TLE 2
1 a EOF
2 EOF
C^ C^
? ?
2
20
Fermeture d’un Fichier
Une fois qu’on termine le traitement d’un fichier (en lecture/
écriture), on le ferme.
Une fois fermé, aucun traitement sur le fichier ne sera
possible.
Syntaxe:
Fermer(<idf_fichier>)
Exemple:
fe: fichier de entier;
….
….
Fermer (fe);
21
Exemple : étant donné un fichier de nombres entier, écrire un
algorithme qui compte le nombre de valeur supérieure à une
valeur donnée