Introduction :

Jusqu’à présent, les informations utilisées dans nos  algorithmes provient de deux sources :

      1- soit elles étaient inclues dans l’algorithme lui-même.

      2- soit elles étaient saisit par l’utilisateur

Les fichiers peuvent être un support permanent des données?!

Définition:

Les fichiers  servent à stocker des informations  de  manière permanente, entre  deux  exécutions d’un programme. En  effet,  si  les  variables, qui sont  des  adresses de  mémoire vive,  disparaissent à  chaque fin d’exécution, les fichiers, eux sont stockés sur des périphériques à mémoire de masse (disquette, disque dur, CD Rom…].

Organisation des fichiers :

Il existe  deux catégories de fichiers : les fichiers binaires et fichiers textes

Exemple: Prenons le cas  d’un carnet d’adresses. Le fichier est  destiné à mémoriser les coordonnées d’un certain nombre de personnes. Pour chacune, il faudra  noter le nom, le prénom, le numéro de téléphone et l’email. Dans  ce cas, il peut  paraître plus  simple de  stocker une  personne par  ligne du fichier (par  enregistrement]. Dit autrement, quand on prendra une  ligne, on sera sûr qu’elle  contient  les informations concernant une  personne, et uniquement cela.

Un fichier ainsi codé  sous forme d’enregistrements est appelé un fichier texte

Types d'accès aux fichiers:

Définition: Le  type   d’accès  c’est   la  manière  dont   la  machine  va  pouvoir   aller  rechercher  les  informations contenues dans le fichier. On distingue :

1- L’accès séquentiel :

On  ne  peut  accéder qu’à  la donnée suivant  celle  qu’on  vient  de  lire. On  ne  peut  donc accéder à une  information  qu’en  ayant  au  préalable examiné celle qui la précède. Dans le cas d’un  fichier texte, cela  signifie qu’on lit le fichier ligne par ligne (enregistrement par enregistrement).

2- L’accès direct (ou aléatoire) :

On peut  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.

Tout fichier peut  être  utilisé avec  l’un ou l’autre des types d’accès. Le choix du type d’accès n’est pas un choix qui concerne le fichier lui-même, mais uniquement la manière dont il va être  traité par la machine. C’est donc  dans le programme, et seulement dans le programme, que l’on choisit le type d’accès souhaité

 

Résumé (Fichiers Texte) :

  1. On les utilise pour stocker : des bases de données

  2. structurés sous forme de
    lignes (enregistrements)
  3. Les données y sont écrites: exclusivement en tant que caractères.
  4. Les enregistrements sont eux-mêmes structurés : au choix, avec un séparateur ou en champs de largeur fixe.
  5. Lisibilité: Le fichier est lisible clairement avec n’importe quel éditeur de texte
  6. Lecture du fichier : On ne peut lire le fichier que ligne par ligne

Résumé (Fichier binaire) :

  1. On les utilise pour stocker : Tout, y compris des bases de données.
  2. n’ont pas de structure apparente. Ce sont des octets écrits à la suite les uns des autres.
  3. Les données y sont écrites : : comme en mémoire vive.
  4. Les enregistrements sont eux-mêmes structurés : en champs de largeur fixe, s’il s’agit d’un fichier codant des enregistrements
  5. Lisibilité : Le fichier a l’apparence d’une suite d’octets illisibles
  6. Lecture du fichier: On peut lire les octets de son choix (y compris la totalité du fichier d’un coup)

Utilisation des fichiers

Dans le cadre de ce cours,  on se limitera au type: fichier texte en accès séquentiel.

1-Ouverture:

Lors de  l’ouverture  du fichier il faut préciser pour  quelle opération celui-ci sera utilisé: Entrée, Sortie  ou Ajout. On indiquera aussi par un n° le buffer qui sera la représentation du fichier en mémoire.

Syntaxe :

                   OUVRIR “NomFichier”  sur numCanal  : mode

Où :

– NomFichier  : c’est le nom du fichier sur le disque dur.

– numCanal : numéro de canal

– mode  : mode  d’ouverture. Il existe  trois modes d’ouverture

  • LECTURE : la lecture (lire du fichier)
  • ECRITURE : l’écriture (écrire au début du fichier)
  • AJOUT : l’ajout (écrire à la fin du fichier)

Exemple :

OUVRIR ‘data.txt’  sur 4 :Lecture

OUVRIR ‘data.txt’  sur 4 : Ecriture

OUVRIR ‘data.txt’  sur 4 : Ajout

 

Remarques:

1- On peut donner le chemin  du fichier.

Exemple: OUVRIR ‘E:\COMPTA\fich1.csv’ POUR LECTURE COMME #1

2- Le N°  de  canal  doit être  unique.  Ainsi,  si plusieurs fichiers  doivent  être  manipulés par  le même programme, choisissez des références différentes.

3- Dans  un fichier ouvert  pour ajout, les enregistrements seront stockés à la fin du fichier. 4- Dans  un fichier ouvert pour Ecriture,  les enregistrements seront écrit au début  du fichier.

2- Lecture d’un fichier

Syntaxe :

                  LireFichier   numCanal, nomVariable

L’instruction LireFichier récupère dans la variable spécifiée l’enregistrement suivant  dans le fichier (“suivant”,  par rapport  au  dernier  enregistrement lu): C’est  en  cela  que  le fichier  est  dit séquentiel. Lire un fichier séquentiel  de bout  en  bout  suppose de  programmer une  boucle. Si l’on veut  stocker au  fur et  à  mesure en  mémoire vive les informations lues dans le fichier, on a recours à des tableaux.

Exemple:

 

Variables  ch : chaine  

Début

OUVRIR ‘data.txt’  sur 4  : Lecture

LireFichier     4, ch

….

 Fin

 

3- Ecriture dans un fichier

Syntaxe :

 EcrireFichier   numCanal, nomVariable

numCanal : numéro désignant le fichier

nomVariable : nom de la variable contenant la valeur à écrire dans le fichier.

Exemple :

Variables  ch : chaine  

Début

OUVRIR ” data.txt ”  sur 4 :ecriture

Ecriture ch ß ” Bonjour “

EcrireFichier     4,  ch

Fin

4- Fermeture du fichier

Une fois qu’on en a terminé  avec  un fichier, il ne faut pas oublier de fermer  ce fichier. On libère ainsi le canal  qu’il occupait (et accessoirement, on pourra  utiliser ce canal  dans la suite du programme pour un autre  fichier ou pour le même).

Syntaxe :

Fermer ( numCanal )

numCanal : numéro désignant le fichier.

5- Fin de fichiers:

Comme on sait rarement à l’avance combien d’enregistrements comporte le fichier, on utilise alors  la fonction EOF (acronyme pour End Of File). Cette  fonction renvoie  la valeur Vrai si on a atteint la fin du fichier.

Syntaxe :

                                      EOF( numCanal )

Exemple :

Variable  ligne  : chaîne  de caractères

Ouvrir  “data.txt”  sur 5  : Lecture

Tant  que Non  EOF(5)

LireFichier 5,ligne

Fin TQ

6- Insérer/ Modifier/ Supprimer un enregistrement :

Vu qu’un  fichier  ne  peut  être  ouvert  que  dans l’un des  modes d’ouverture déjà  cités,  donc  pour  modifier  son contenu il faut passer par  un fichier intermédiaire où on va copier  le contenu du fichier original en  le modifiant  et puis on supprime ce fichier et on renomme le fichier intermédiaire.

Pour supprimer un fichier on utilise une fonction supprimer :

supprimer (NomFichier)

Pour renommer un fichier on utilise une fonction renommer :             renommer(AncienNom,  NouvNom)

Exercice:

On souhaite sauvegarder et gérer  des  noms  dans un fichier. Ainsi, Ecrire les algorithmes qui permettent de : (Utiliser un menu)

1- Ecrire des Noms dans un fichier

2- Afficher le contenu du fichier

3- Afficher le contenu par ordre lexicographique

4- Supprimer un nom du fichier

Vous pouvez suivre notre liste des vidéos sur l’algorithmique sur notre chaine youtube 9raytifclick (Darija: arabe marocaine) : Cours sur les algorithmes.

Aussi, si vous voulez commencer l’apprentissage d’un langage de programmation, voilà notre cours : Langage Python Niveau 1 qui sera très utile pour vous (il vous aide à pratiquer tous les éléments vu dans notre cours d’algorithmique).

2 Commentaires

  1. spart raw dit :

    Bonjour ,j’espère que vous allez bien .
    Je vous remercie pour vos efforts pour aider le étudiants et les stagiaires dans leur cursus universitaire.
    Ce que je voudrais vous demander si c’est possible, est de rendre les cours et les exercices sous formes de fichier et poser le lien depuis ce site dans le vidéo de correction pour éviter de toujours revenir à la vidéo et juste revoir le fichier.
    Merci d’avance

    1. nous proposons nos cours, exercices dans le site. Meme , on ajoute les vidéos de l’explication dans chaque partie du cours.
      Pour les examens, on les propose dans le site et on vous laisse un bouton ‘Télécharger’ pour télécharger le pdf d’examen

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *