Cours en Devlopement Informatique

  • Algorithme

Fichiers En Algorithme



 

Besoin de fichiers
  • Jusqu'à maintenant nous n'avions vu que des Entrées/Sorties (E/S) sous la forme d'entrée standard (usuellement le clavier, lire) et de sortie standard (usuellement l'écran, écrire)
  • Ce type d'E/S atteint rapidement ses limites...
    • Utilisation des fichiers : sauvegarde/restitution des données entre le programme et le disque dur.

Définition

 

  • Un fichier (file) est un ensemble structuré de données stocké en général sur un support externe (disquette, disque dur ou optique, ...). Ils servent à stocker des informations de manière permanente, entre deux exécutions d’un programme
  • Un fichier structuré contient une suite d'enregistrements homogènes, qui regroupent le plus souvent plusieurs composantes (champs)

Un  fichiers séquentiel   contient  des  enregistrements   qui   sont mémorisés consécutivement dans l'ordre de leur entrée et peuvent seulement être lus dans cet ordre. Si on a besoin d'un enregistrement précis dans un fichier séquentiel, il faut lire tous les enregistrements qui le précèdent, en commençant par le premier.

Types de fichiers

 

  • Les fichiers textes : sont les fichiers dont le contenu représente uniquement une suite de caractères imprimables, d'espaces et de retours à la ligne (.txt,...). Ils peuvent être lus directement par un éditeur de texte.
  • Les fichiers binaires : sont les fichiers qui ne sont pas assimilables à des fichiers textes (.exe, .mp3, .png,...). Ils ne peuvent pas être lus directement par un éditeur de texte .

 

Structures de fichiers

 

  • Structure délimitée : Elle utilise un caractère spécial, appelé caractère de délimitation, qui permet de repérer quand finit un champ et quand commence le suivant. Il va de soi que ce caractère de délimitation doit être strictement interdit à l’intérieur de chaque champ, faute de quoi la structure devient proprement illisible.
  • Structure à champs de largeur fixe : les x premiers caractères de chaque ligne stockent le premier champs, les y suivants le second champs…..Il faut faire attention aux longueurs des champs
Types d’accès

 

  • L’accès séquentiel : n’accéder à une information qu'en ayant au préalable examiné celle qui la précède. Accès à un enregistrement par enregistrement
  • L’accès direct (ou aléatoire) : accéder directement à l’enregistrement de son choix, en précisant le numéro de cet enregistrement. Mais cela veut souvent dire une gestion fastidieuse des déplacements dans le fichier
  • L’accès indexé : combiner la rapidité de l'accès direct et la simplicité de l'accès séquentiel. Il est particulièrement adapté au traitement des gros fichiers, comme les bases de données importantes.
Propriétés(fichier séquentiel)

 

  • Un fichier est donné par son nom (et en cas de besoin le chemin d'accès sur le médium de stockage), il peut être créé, lu ou modifié
  • Les fichiers se trouvent ou bien en état d'écriture (mettre dedans toutes les informations que l’on veut, mais les informations précédentes, si elles existent, seront intégralement écrasées), en état de lecture (récupérer les informations qu’il contient, sans les modifier en aucune manière) ou en ajout (ajouter de nouvelles lignes ou nouveaux enregistrement)
  • A un moment donné, on peut uniquement accéder à un seul enregistrement; celui qui se trouve en face de la tête de lecture/écriture. Après chaque accès, la tête de lecture/écriture est déplacée derrière la donnée lue en dernier lieu.
Mécanisme

 

  • Déclarer un fichier : NomFichier : Fichier
  • Ouvrir le fichier en un mode spécifié : Ouvrir(NomFichier) en mode
  • Tester que le fichier est bien ouvert : Si NomFichier est Ouvert
  • Lire\ écrire dans le fichier ouvert :
    • LireFichier(NomFichier, valeurEnregistrement)
    • EcrireFichier(NomFichier, valeurEnregistrement)
  • Fermer le fichier : Fermer(NomFichier)

Exemple

Variable Truc : chaîne Caractère
Fich : Fichier
Début
Fich  "Exemple.txt" Ouvrir(Fich) en Lecture Tantque Non EOF(Fich)
LireFichier (Fich,Truc)
FinTantQue Fermer(Fich)
Truc  "Fonfec";"Sophie";0142156487;"fonfec@yahoo.fr"
Ouvrir(Fich) en Ajout EcrireFichier (Fich, Truc) Fermer(Fich)
Fin

 

Ajouter un commentaire

Veuillez vous connecter pour ajouter un commentaire.

Pas encore de commentaires.