/les fichiers :
Un fichier est un ensemble de données de même type stocké sur CD,disque dur,….
I/Organisation et type d’accès :
L’organisation de données dans un fichier est linéaire c.a.d enregistrement après enregistrement
Enreg 0 Enreg 1 Enreg2 …… …… Enreg n
Le pointeur du fichier est un entier qui commence par 0 il représente la position de la prochaine fonction d’entrée/sortie (lecture ou écriture).
Pour placer le pointeur sur le 1er bloc c.a.d enreg 0
On dit qu’ il faut le mettre à zéro (reset)
Il éxiste principalement 2types :
- fichier à accés sequentiel
- fichier à accés relatif (direct)
II/Fichiers à accès séquentiel :
Déclaration
Algo
TDNT
Type
typ_fichier = fichier de typ _composant
Exple : Bac = fichier d’élève
TDO
Objet T/N Rôle
Nom_logique
Exple :
S I typ_fichier
Bac Fichier de typ_composant
Fichier pour élève
Pascal :
Type Nom_fichier = file of type_comp ;
Var Nom_logique = nom_fichier
Exple :
Type Eleve=record
Nom , classe : string ;
End ;
Bac =file of eleve ;
Var SI : Bac ;
1/ Traitements sur le fichier :
a- Association :
Le nom de fichier dans lequel utilisateur va mettre les données pocède un nom extèrne sur le périphérique d’E_S et un nom intèrne qui existe dans le programme. Il faut donc associer le nom intèrne (logique) au nom extèrne (physique).
Syntaxe :
Algorithmique Pascal
Associer (nom logique )
(nom physique) Assign (nom_logique)
(nom_physique) ;
Rqs : généralement le fichier .dat est un fichier de données (data)
Si le fichier associer dans le programme n’éxiste pas ou le chemin d’accés n’éxiste pas,le programme afiche une erreur Runtime error…at…
b-Ouverture :
Méthode1
Ouvrir et éffacer le contenu du fichier (si le fichier n’éxiste pas sera creér)
Syntaxe :
Algorithmique Pascal
Recréer(nom logique) Rewrite(nom_logique) ;
Méthode2
Ouvèrture d’un fichier éxistant avec remise a zéro de pointeur
Syntaxe :
Algo Pascal
Ouvrir (nom logique) Reset (nom_logi) ;
c-Ecriture dans un fichier :
Ecriture ou modification d’une valeur ou d’un enregistrement
Syntaxe :
Algo Pascal
Ecrire (nom log, variable) Write(nom_log,variable) ;
Exple :
A P
Ecrire (Si, élève . nom) Write (Si, eleve . nom) ;
N.B : Aprés chaque écriture, le pointeur de fichier avance automatiquement d’une position
d-Lecture :
Syntaxe :
Algo Pascal
Lire (nom log, variable) Read (nom_log, variable) ;
e-Fermeture :
Il faut fermer les fichiers utlisées a la fin de traitement
Syntaxe :
Algo Pascal
Fermer (nom log) Close (nom_log) ;
III/ les fichiers à accès direct :
Syntaxe :
Algorithmique Pascal
Pointer (nom logique , numéro) Seek (nom_logique, numero) ;
Syntaxe :
Algorithmique Pascal
Taille_fichier (nom logique) Filesize (nom_logique) ;
a-Fonction position_fichier :
Algorithmique Pascal
Position_fichier(nom logique) Filepos (nom_logique) ;
b-Procédure effacer :
Algorithmique Pascal
Effacer (nom logique) Erase (nom_logique) ;
c-Procédure vide_buffer :
Algorithmique Pascal
Renommer (ancien nom logique, nouveau nom logique) Rename (ancien_nom_logique, nouveau_nom_logique) ;
d-Procédure tronquer
Algorithmique Pascal
Tronquer (nom logique) Truncate (nom_logique) ;
IV/les fichiers texte :
En Algorithmique :
Tableau de déclaration des objets
Objet Type/Nature Rôle
Nom_logique Texte Fichier texte….
En Pascal :
Var nom_logique : texte ;
a-Foction fin_ligne :
Algorithmique Pascal
Fin_ligne (nom logique) Eoln (nom_logique) ;
b-Foction chercher_fin_ligne :
Algorithmique Pascal
Chercher_fin_ligne (nom logique ) Seekeoln (nom_logique) ;
c-Fonction chercher_fin_fichier :
Algorithmique Pascal
Chercher_fin_fichier (nom logique) Seekeof (nom_logique) ;
d-Procédure ajouter :
Algorithmique Pascal
Ajouter (nom logique) Append (nom_logique) ;
e-Procédure lire_nl :
Algorithmique Pascal
Lire_nl (nom logique) Readln (nom_logique) ;
f- Procédure ecrire_nl :
Algorithmique Pascal
Ecrire_nl (nom loqique) Writeln (nom_logique) ;