Informatique


Les fichiers séquentiels

Déclaration/Ouverture/fermeture d'un fichier

Exemple
ACTION tableau 
	fileEleveDep:fichier de chaine
	fileEleveFin:fichier de chaine
	OUVRIR fileEleveDep(IN)
	OUVRIR fileEleveFin(OUT)
	FERMER fileEleveDep
	FERMER fileEleveFin
FIN ACTION 

Un fichier ouvert en IN provoque le placement de la tête de lecture sur le premier élément du fichier et initie une première lecture. Il s'agit bien d'utiliser LIRE car on va prendre ce qu'il y a sur le fichier pour l'affecter à la variable de travail.

Un fichier ouvert en OUT est vide, on pourra y écrire de l'information, on utilisera la primitive ECRIRE car le fichier déclaré en OUT est une sortie (comme l'écran ou l'imprimante).

La primitive FERMER permet de fermer un fichier quel que soit son mode d'ouverture.


Lire et écrire dans un fichier

On utilise une variable de travail de même type que les enregistrements pour stocker l'enregistrement lu

Exemple
ACTION tableau 
	fileEleveDep:fichier de chaine
	fileEleveFin:fichier de chaine
	element:chaine
	OUVRIR fileEleveDep(IN)
	OUVRIR fileEleveFin(OUT)
	LIRE fileEleveDep;element
	TANTQUE  NON EOF FAIRE
	  ECRIRE fileEleveFin;element
	  LIRE fileEleveDep;element
	TANTQUE
	FERMER fileEleveDep
	FERMER fileEleveFin
FIN ACTION 

  • on utilise une variable de travail dont le nom est à votre discrétion
  • au démarrage de la lecture, la variable globale EOF est affecté avec FAUX
  • la tête de lecture se place sur le premier enregistrement et le lit
  • la donnée lue est stockée dans la variable de travail element
  • la tête se déplace sur l'enregistrement suivant
  • la tête de lecture se déplace sur le deuxième enregistrement et le lit
  • etc...
  • arrivée au bout du fichier la variable globale EOF est affecté avec VRAI