Téléchargement d'épreuves

et

Cours gratuits

Les fichiers

Généralités

Un fichier est une collection d'information structurée en unité d'accès appelé enregistrement.
Un fichier est toujours enregistré dans un support externe à la mémoire centrale (disque dur, disquette, clef USB ...).
L'accès aux différents éléments d'un fichier peut être soit séquentiel soit direct.

Déclaration d'un fichier

type
etudiant = record
matricule : string;
nom : string;
note : real;
end;
fichier = file of etudiant;

Remarque:

Un fichier une fois créé doit continuer à exister indépendamment du programme qui le construit. Chaque fichier a un nom physique ou chemin d'accès qui se présente sous la forme 'unité: nom_fichier.Extension'unité peut être A: B: C: D:
nom_fichier est constitué de 1 à 8 caractères.

extention de 0 à 3 caractères.

Exemple:

'C:\Etude.txt'
Le nom du fichier est spécifié par l'instruction assign.

Exemple:

assign(fichier, 'C:\etude.txt')

Exemple:

var F: file of etudiant;
begin
assign(F, 'A:\etude.txt');

L'accès séquentiel à un fichier

Pour l'accès séquentiel on parcourt le fichier élément par élément pour obtenir l'élément à traiter. Les primitives utilisées sont:

  • rewrite(fichier) permet d'ouvrir le fichier en écriture. Si le fichier existe déjà son ancien contenu devient inaccessible. Si le fichier n'existe pas encore, il sera tout simplement créé (pour l'instant il sera vide).
  • reset(fichier) permet l'ouverture du fichier en lecture ou en lecture écriture. Dans ce cas le fichier doit effectivement exister sinon il se produit une erreur d'exécution.
  • write(fichier, val) cette instruction permet d'écrire le contenu de val dans le fichier. Seulement val doit être du même type que les éléments du fichier.
  • read(fichier, val) cette instruction permet d'introduire un élément du fichier dans val.
  • eof(fichier) permet de détecter la fin du fichier. Cette fonction prend la valeur vraie si la fin du fichier a été atteinte.
  • close(fichier) permet de fermer le fichier à partir de là le fichier devient inaccessible.

Exemple:

program creation_fichier_etudiant;
type etudiant = record
matricule : string;
nom : string;
note : real;
end;
var fichir : file of etudiant;
personne : etudiant;

begin
assign(fichier, 'C:\etudiant.txt');
rewrite(fichier);
repeat
write('matricule: ')
readln(personne.matricule);
write('nom');
readln(personne.nom);
write('note: ');
readln(personne.note);
if length(personne.matricule) <> 0 then
write(fichier, personne);
until length(personne.matricule) = 0;
close(fichier);
end.

Exercice:

Ecrire un programme qui permet d'afficher la liste des informations des étudiants contenu dans 'C:\etudiant.txt'.

Solution:

var F:file of etudiant
program affiche per: etudiant
begin
assign(F, 'C:\etudiant.txt');
reset(F);
read(F, per);
while not (eof(F)) do
begin
writeln(per.matricule);
writeln(per.nom);
writeln(per.note);
read(F, per);
end;
close(F);
end.

 

Accès direct

 

Il est possible d'accéder directement à un élément du fichier lorsqu'on connaît son numéro.
La seule instruction nouvelle lors de l'accès direct est l'instruction seek(fichier, numéro) qui place la tête de lecture à l'élément donc le numéro a été indiqué.
Par convention les éléments d'un fichier sont spécifiés à partir de 00 et non à partir de 1
Exemple: seek(F,2)

  • filesize(fichier) renvoie le nombre d'élément.
  • filesize(fichier)-1 pour trouver le dernier élément.
  • seek(F, filesize(fichier)) pour placer le curseur à la fin du fichier.

Exemple:

procedure affiche_element(var F: fichier)
var val: etudiant; num: integer;
begin
assign(F,'C:\etudiant.txt');
reset(F);
writeln('Entrer un numéro: ');
repeat
write('Numéro = ');
readln(num);
until num <= filesize(F)
seek(F, num);
read(F, val);
writeln('Matricule: ',val.matricule);
writeln('nom: ', val.nom);
writeln('note: ',val.note);
close(F);
end;

Consultez gratuitement nos différents cours

  • Eléments de base du langage C (Programmation C)

    Les structures de contrôle   Tous les langages de programmation disposent des structures de contrôle encore appelées instructions de contrôle permettant de réaliser des choix ou des boucles. C'est ainsi qu'on distingue: Les instructions conditionnelles: if... else switch Les instructions réplétives ou de boucle: while, for, do...while La structure conditionnelle if   Syntaxe:   if(condition)   {action1;}   else   {action2;}     Où condition est une expression variante. action1, action2 peuvent être soit une...

    Lire la suite : Eléments de base du langage C

  • Les alimentations continues (Electronique)

    Tout dispositif électronique a besoin d'une tension continue pour fonctionner, cette tension peut provenir directement des piles ou des batteries, mais généralement elle est extraite du secteur à l'aide des dispositifs qui transforment l'énergie alternative en énergie continue. Deux procédés existent généralement pour assurer cette transformation. On note ainsi: Les alimentations stabilisées linéaires, donc la structure générale est la suivante: Le transformateur abaisse la tension du secteur...

    Lire la suite : Les alimentations continues

  • Cinématique du point (Mécanique appliquée)

    La cinématique est l'étude des mouvements des solides indépendamment des causes qui provoquent ces mouvements. Elle utilise les notions de temps et d'espace. Espace - Temps Notion de mouvement La notion de mouvement est relative. Il est indispensable de préciser par rapport à quel solide de référence (référentiel) le mouvement est étudié. Tout mouvement suppose deux solides en présence: Le solide en mouvement Le solide de référence. Type de repère Repère espace Dans l'espace on peut être repéré à...

    Lire la suite : Cinématique du point

  • Le tourisme Cameroun (Géographie)

    Le tourisme, c'est le fait ou l'action de voyager par plaisir dans le but de découvrir. Le Cameroun présente de nombreux attraits touristiques.   Les facteurs favorables au développement du tourisme Ces facteurs sont : Le relief pittoresque et varié La diversité de la végétation La diversité de la faine La multiplicité ethnique La diversité du folklore Des traditions diverses Des productions artisanales et artistiques multiples Des grandes villes du Cameroun attractives Le développement des...

    Lire la suite : Le tourisme Cameroun