Fichiers. Introduction Fichier texte. Fichier structuré. Présentation Le type TEXT Primitives de gestion Exemple



Documents pareils
Algorithmes et programmation en Pascal. Cours

Algorithmique et programmation : les bases (VBA) Corrigé

LES TYPES DE DONNÉES DU LANGAGE PASCAL

3 ème Partie : Vérification par tests

Examen Médian - 1 heure 30

Corrigé des TD 1 à 5

SNT4U16 - Initiation à la programmation TD - Dynamique de POP III - Fichiers sources

Cours Informatique Master STEP

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Programmation impérative

Bernard HAMM, Évelyne LAVOISIER

Matrice d accès. Master SEMS, Pierre Paradinas. October 16, 2013

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

1 Lecture de fichiers

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Programmation système I Les entrées/sorties

Les fichiers. Chapitre 4

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Bases de programmation. Cours 5. Structurer les données

Programmation Objet - Cours II

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Chaque ordinateur est constitué de différentes unités de stockage de données (Disque dur, Graveur ) que l on peut imaginer comme de grandes armoires.

1. Structure d'un programme FORTRAN 95

Enseignement secondaire technique

Cours 14 Les fichiers

Algorithmique et Programmation, IMA

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

TP 1. Prise en main du langage Python

Création d installateurs pour Windows avec InnoSetup

Licence Bio Informatique Année Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

OCL - Object Constraint Language

Les chaînes de caractères

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Cours d algorithmique pour la classe de 2nde

Algorithmique & programmation

Initiation à LabView : Les exemples d applications :

Dans le chapitre 1, nous associions aux fichiers ouverts des descripteurs de fichiers par lesquels nous accédions aux fichiers.

NIMEGUE V3. Fiche technique 3.07 : Sauvegarde / Restauration manuelle

Initiation. àl algorithmique et à la programmation. en C

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

Plan du cours. Historique du langage Nouveautés de Java 7


Programmation C. Apprendre à développer des programmes simples dans le langage C

Initiation à la Programmation en Logique avec SISCtus Prolog

Génie Logiciel avec Ada. 4 février 2013

Affectation standard Affectation modifiée (exemple)

Recherche dans un tableau

STAGE IREM 0- Premiers pas en Python

Préparation à l examen EFA en Macro

Module Communication - Messagerie V6. Infostance. Messagerie

1 Recherche en table par balayage

Ensimag 1ère année Algorithmique 1 Examen 2ième session 24 juin Algorithmique 1

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Informatique Générale

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

LECON 2 : PROPRIETES DE L'AFFICHAGE Version aout 2011

Programmer en JAVA. par Tama

Certificat Big Data - Master MAthématiques

as Architecture des Systèmes d Information

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES

Leçon 1 : Les principaux composants d un ordinateur

Java Licence Professionnelle CISII,

Introduction à MATLAB R

Cours de Systèmes d Exploitation

1.1 L EXPLORATEUR WINDOWS

Débuter avec EXPRESS. Alain Plantec. 1 Schema 2

Procédure de restauration F8. Série LoRdi 2012 à Dell V131 V3360 L3330

ACTIVITÉ DE PROGRAMMATION

Le langage C. Séance n 4

Manuel du logiciel PrestaTest.

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Aide Webmail. L environnement de RoundCube est très intuitif et fonctionne comme la plupart des logiciels de messagerie traditionnels.

Guide de l administrateur DOC-OEMCS8-GA-FR-29/09/05

Centres d accès communautaire Internet des Îles LA CLÉ USB

TD3: tableaux avancées, première classe et chaînes

UML et les Bases de Données

L informatique en BCPST

SYSTÈME DE GESTION DE FICHIERS

Installation et utilisation du client FirstClass 11

USTL - Licence ST-A 1ère année Initiation à la programmation TP 1

Premiers pas sur l ordinateur Support d initiation

La mémoire. Un ordinateur. L'octet. Le bit

INITIATION A L INFORMATIQUE. MODULE : Initiation à l'environnement Windows XP. Table des matières :

URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

TP3 : Manipulation et implantation de systèmes de fichiers 1

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski

Encryptions, compression et partitionnement des données

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Introduction à l informatique en BCPST

MINISTERE DE L ENSEIGNEMENT TECHNIQUE ET DE LA FORMATION PROFESSIONNELLE. (Pour l obtention du diplôme d analyste programmeur)

Transcription:

Fichiers Introduction Fichier texte Présentation Le type TEXT Primitives de gestion Exemple Fichier structuré Présentation Le type FILE OF Primitives de gestion Exemple Compléments d algorithmique 1

Introduction Définition (Fichier) : Un fichier est une structure de données contenant une suite d éléments en mémoire secondaire. Suite : Les éléments sont rangés dans un ordre bien précis. Mémoire secondaire : Stockage sur support physique pour la conservation des données. Disque dur, disquette, clé USB, etc. Utilisation : On stocke des données dans un fichier (plutôt qu en mémoire vive) quand on souhaite conserver ces données. Les données stockées en mémoire (vive) sont perdues quand le programme se termine, alors que les données stockées en mémoire secondaire sont conservées. Fichiers : introduction Compléments d algorithmique 2

Introduction : avantages Conserver des données, avec possibilité de les copier sur d autres supports pour sauvegarde. Stockage de grandes quantités de données : plusieurs méga-octets (2 20 1 million) ou giga-octets (2 30 1 milliard) La taille d un fichier n est pas fixée a priori, et peut varier en cours d utilisation. Facilite la mise au point d un programme qui demande des données en entrée. Plutôt que de saisir ces données à chaque exécution, les données sont lues dans le fichier. Fichiers : introduction Compléments d algorithmique 3

Introduction : Nom physique Définition (Nom physique) : Tout fichier a un nom physique qui identifie de façon unique le fichier, et donne son lieu de stockage. Ce nom physique est une chaîne de caractères. La forme du nom physique peut varier selon le système d exploitation. Sous Unix/Linux : /<nomrepertoire>/<nomsousrep>/.../<nomfichier> Exemple: /home/user/chosesafaire Sous Windows : <Lecteur>:\<nomrep>\<nomsousrep>\...\<nomfic>.<ext> Exemple: A:\cours\complementAlgo.txt Le lecteur (une lettre) donne l unité de stockage. Ex: C: disque dur principal, D: disque dur secondaire, E: DVD, F: USB... L extension décrit le type de fichier (txt pour un fichier texte, pas pour un fichier source Pascal, exe pour un programme exécutable ). Pour éviter les problèmes : ne pas utiliser de caractère «espace», caractère accentué ou caractère spécial (; + *?... ) dans les noms de fichiers ou de répertoires Fichiers : introduction Compléments d algorithmique 4

Introduction : accès/position courante Définition (Accès séquentiel) : Chaque élément du fichier est lu en séquence, c est à dire dans l ordre d apparition dans le fichier. Pour lire l élément n, on doit lire tous les éléments numérotés 1 à n 1. Définition (Accès direct) : Chaque élément du fichier peut être lu directement, quelle que soit sa place dans le fichier. Un tableau est une structure de données à accès direct. L accès direct est souvent préférable, car plus performant. Mais dans certains cas (pour lire la totalité du fichier par exemple), l accès séquentiel suffit. Définition (Position courante dans le fichier) : La position courante dans un fichier est le numéro du prochain élément qui sera lu ou écrit dans le fichier. On parle parfois de tête de lecture/écriture. Il s agit de la même idée qu une variable qui contient l indice dans un tableau. Fichiers : introduction Compléments d algorithmique 5

Fichier texte : présentation Un fichier texte est un fichier qui contient du texte, c est à dire : un ensemble de caractères (lettres, chiffres, symboles spéciaux) organisé en lignes. Chaque ligne est terminée par une marque de fin de ligne eoln (end of line). Un fichier texte est terminé par une marque de fin de fichier eof (end of file). Un fichier texte peut être créé et lu dans un traitement de texte (en utilisant la sauvegarde en «texte brut») ou dans un éditeur de texte (tel que l éditeur de Lazarus, Delphi ou EDI Pascal).Compléments Fichier texte Compléments d algorithmique 6

Le type TEXT Le langage Pascal permet de créer, lire, écrire des fichiers textes. Pour manipuler un fichier texte en Pascal, on déclare une variable d un type spécifique : le type TEXT. Définition (Nom logique) : Le nom logique d un fichier est la variable de type TEXT qui permet de manipuler le fichier. (par opposition au nom physique qui est une chaîne de caractères qui donne l emplacement du fichier) Définition (Primitives de gestion) : Toutes les manipulations sur un fichier se font par des appels à des sous-programmes, appelés primitives de gestion, qui prennent comme paramètre le nom logique du fichier. Fichier texte Compléments d algorithmique 7

Primitives de gestion Ces primitives de gestion concernent : La gestion de fichiers Ouverture, (pour lire ou écrire dans un fichier, il est nécessaire de l ouvrir) Fermeture, (quand on a fini d utiliser un fichier, il peut être fermé)... L utilisation de fichiers Lecture, Écriture,...ments Fichier texte Compléments d algorithmique 8

Primitives de gestion Soit f une variable de type TEXT, nom logique du fichier. Soit nomf une expression de type string contenant le nom physique du fichier. Primitive d association : fait le lien entre le nom physique et le nom logique. Une fois que l association est faite, les autres primitives peuvent être utilisées sur le nom logique. Syntaxe : f: TEXT; Fnom: string; Assign(f, fnom); Le nom physique n est utilisé par aucune autre primitive. Par la suite, f sera le nom logique du fichier à traiter. Fichier texte Compléments d algorithmique 9

Primitives de gestion Ouverture en création Si le fichier n existe pas sur le support physique, le fichier est créé à vide, sinon, il est vidé de son contenu. Après rewrite, on peut uniquement écrire dans le fichier. Ouverture en exploitation Ouvre le fichier. Si le fichier n existe pas, une erreur se produit. Positionne la tête de lecture sur le premier caractère du fichier. Après un appel à reset, on peut uniquement lire dans le fichier. Ouverture en ajout Syntaxe : rewrite(f); Syntaxe : reset(f); Syntaxe : append(f); Ouvre le fichier, et positionne la tête d écriture sur la marque de fin de fichier, afin d écrire de nouveaux éléments dans le fichier. Après append, on peut uniquement écrire dans le fichier. Fichier texte Compléments d algorithmique 10

Primitives de gestion Fin de ligne Fonction qui retourne un booléen eoln retourne vrai si et seulement si la tête de lecture est sur une marque de fin de ligne (ou sur la marque de fin de fichier). Fin de fichier Fonction qui retourne un booléen eof retourne vrai si et seulement si la tête de lecture est sur la marque de fin de fichier. Fermeture du fichier Syntaxe : eoln(f); Syntaxe : eof(f); Syntaxe : close(f); Ferme le fichier (quel que soit le mode d ouverture utilisé) Fichier texte Compléments d algorithmique 11

Primitives de gestion Écriture Écrit un texte dans le fichier. expr est une expression de type caractère, booléen, entier, réel ou chaîne de caractères. Le fichier doit être préalablement ouvert dans un mode qui permet l écriture (append ou rewrite) Écriture avec fin de ligne Ecrit un texte dans le fichier. Après le texte, la primitive rajoute une marque de fin de ligne au fichier. Il est équivalent d écrire : write(f,ex); writeln(f); et writeln(f,ex); Paramètres Syntaxe : write(f,expr); Syntaxe : writeln(f,expr); Comme dans le cas de l écriture à l écran, write et writeln dans des fichiers peuvent prendre plus de paramètres : write(f,ex1,ex2); write(f,ex1); write(f,ex2); Fichier texte Compléments d algorithmique 12

Primitives de gestion Lecture Pour lire dans un fichier, la tête de lecture ne doit pas être sur la marque de fin de fichier, et le fichier doit être ouvert en lecture (reset). Lecture d un caractère x est une variable de type char. Lit le caractère situé sous la tête de lecture, et le stocke dans x. La tête de lecture est avancée d un caractère. Lecture d un entier (idem pour un réel) x est une variable de type integer. Syntaxe : read(f,x); Lit l entier situé dans le fichier à partir de la position donnée par la tête de lecture, et le stocke dans x. Espaces, tabulations, fin de lignes sont ignorés avant la lecture de l entier. Si il n y a pas d entier trouvé, erreur à l exécution. Syntaxe : read(f,x); Après l exécution de la primitive, la tête de lecture est positionnée juste après l entier. Fichier texte Compléments d algorithmique 13

Primitives de gestion Exemple (fichier.txt) : 15 12 42 blabla ml-abc63texte autre_texte Exemple (lecture) : program test; var f: TEXT; e: integer; s: string; assign(f, fichier.txt ); reset(f); read(f, e); writeln(e); read(f, e); writeln(e); read(f, e); writeln(e); end. Fichier texte Compléments d algorithmique 14

Primitives de gestion Syntaxe : read(f,x); x est une variable de type string Lecture d une chaîne Lit les caractères dans le fichier à partir de la position de la tête de lecture, jusqu à la prochaine marque de fin de ligne. Les caractères lus sont stockés dans x. La tête de lecture est ensuite positionnée sur la marque de fin de ligne. read permet de lire tout type de chaîne. Si on rajoute read(f, s) au programme précédent, s prend la valeur blabla. Lecture d une fin de ligne Syntaxe : readln(f); Ignore la marque de fin de la ligne courante. La tête de lecture est déplacée jusqu au caractère suivant la prochaine fin de ligne. Les caractères qui prédèdent la fin de ligne sont ignorés. Lecture dans une variable + fin de ligne Équivalent à read(f,x); readln(f); Syntaxe : readln(f,x); Read,readln: nbre variable de paramètres. Ex : read(f,v1,v2); Fichier texte Compléments d algorithmique 15

Primitives de gestion : exemple On désire lire le fichier (etud.txt) ci-dessous pour extraire les noms des étudiants inscrits en L1, et stocker ces noms dans un fichier nommé etudl1.txt. Le fichier etud.txt contient, pour chaque étudiant, sur des ligne séparées : le nom, la formation, l année de première inscription à l université. Exemple (etud.txt) : Dupont Alexis L1 2008 Azerty Caroline L2 2006 Qwerty Bob L1 Exemple (etudl1.txt) : Dupont Alexis Qwerty Bob Fichier texte Compléments d algorithmique 16

Primitives de gestion : exemple Exemple : program fich_etud; var entree, sortie: TEXT; nom, formation: string; annee: integer; assign(entree, etud.txt ); reset(entree); assign(sortie, etudl1.txt ); rewrite(sortie); while not(eof(entree)) do readln(entree, nom); readln(entree, formation); readln(entree, annee); if formation = L1 then writeln(sortie, nom); end; close(sortie); close(entree); end. Fichier texte Compléments d algorithmique 17

Fichier structuré : présentation Un fichier structuré est un fichier qui contient des éléments de même type. Le type des éléments peut être : Simple (entier, chaine, etc.) Ex: Stocker des relevés de températures : les éléments sont des real. Composé (enregistrement, tableau) Ex: Un fichier contenant des enregistrements, pour stocker des informations sur les étudiants : Fichier dont les éléments sont des enregistrements de type Etudiant Un fichier structuré est terminé par une marque de fin de fichier eof. type Etudiant = record nom : string[20]; formation : string[20]; annee : integer; end; ne peut pas être édité avec un éditeur ou traitement de texte. Fichier structuré Compléments d algorithmique 18

Fichier structuré : le type FILE OF L exploitation d un fichier structuré se fait par l intermédiaire d une variable d un type particulier, appelée nom logique. Comme pour un fichier texte Habituellement, quand on doit manipuler des types dont la définition est complexe (tableau, enregistrement), on utilise une déclaration de type. Syntaxe : type NomType = FILE OF TypeElement; Après cette déclaration de type, on peut déclarer des variables de type NomType, qui seront des noms logiques de fichiers structurés dont les éléments seront tous des TypeElement. Syntaxe : var f1, f2: NomType; Fichier structuré Compléments d algorithmique 19

Fichiers structurés : primitives de gestion Association : Soit f une variable de type FILE OF TypeElement, nom logique du fichier à traiter. Soit nomf une expression de type string contenant le nom physique du fichier. Syntaxe : comme sur un fichier texte! Par la suite, f sera le nom logique du fichier à traiter. Ouverture en création Exactement comme sur un fichier texte, mais permet lecture ET écriture. Ouverture en exploitation Syntaxe : assign(f,nomf); Syntaxe : rewrite(f); Syntaxe : reset(f); Exactement comme sur un fichier texte, positionne la tête de lecture/écriture sur le premier élément du fichier, et permet lecture ET écriture. Il n est pas possible d utiliser append sur un fichier structuré. Fichier structuré Compléments d algorithmique 20

Fichiers structurés : primitives de gestion Il n y a pas de fin de ligne dans un fichier structuré, eoln ne peut pas être utilisé. Fin de fichier Exactement comme sur un fichier texte Fermeture du fichier Syntaxe : eof(f); Exactement comme sur un fichier texte Syntaxe : close(f); Fichier structuré Compléments d algorithmique 21

Écriture Fichiers structurés : primitives de gestion f est une variable de type FILE OF TypeElement et expr une expression de type TypeElement Si la tête de lecture/écriture est positionnée sur la marque de fin de fichier: la valeur de expr est écrite à la place de la marque de fin, la marque de fin est placée après ce nouvel élément. la tête de lecture est positionnée sur la marque de fin. Sinon : Syntaxe : write(f,expr); la valeur de expr est écrite à la place de la valeur située sous la tête de lecture/écriture, la tête de lecture est avancée sur l élément suivant. Il n y a pas de fin de ligne dans un fichier structuré, writeln ne doit pas être utilisé.compléments d algorithmique Fichier structuré Compléments d algorithmique 22

Fichiers structurés : primitives de gestion Lecture Syntaxe : read(f,x); f est une variable de type FILE OF TypeElement x une variable de type TypeElement. Une copie de l élément situé sous la tête de lecture est stockée dans x. La tête de lecture est avancée jusqu à l élément suivant. Pour lire dans un fichier, la tête de lecture ne doit pas être sur la marque de fin de fichier. Fichier structuré Compléments d algorithmique 23

Fichiers structurés : primitives de gestion Taille fonction qui retourne un entier (longint) qui est le nombre d éléments du fichier f. Position fonction qui retourne un entier (longint) qui est le numéro de l élément du fichier f situé sous la tête de lecture/écriture. Les éléments sont numérotés de 0 à filesize(f) - 1. Positionnement Syntaxe : filesize(f); Syntaxe : filepos(f); Syntaxe : seek(f,pos); pos est un entier compris entre 0 et le nombre d éléments du fichier f. Si 0 pos < filesize(f), positionne la tête de lecture/écriture sur l élément numéro pos. Si pos = filesize(f), positionne la tête de lecture/écriture sur la marque de fin de fichier. Sinon, erreur à l exécution.nts Fichier structuré Compléments d algorithmique 24

Exemple: présentation On désire gérer les listes d inscriptions d étudiants à des formations. Pour chaque étudiant on doit mémoriser numéro INE, nom, formation. Le programme doit disposer des fonctions suivantes : Saisie d un étudiant et sauvegarde. Affichage des étudiants inscrits. Recherche d un étudiant par son numéro INE : Est-ce que cet étudiant existe dans la base? Quel est le nom et la formation de l étudiant? Trier les étudiants par leur numéro INE. Fichier structuré Compléments d algorithmique 25

Exemple : types Exemple : program baseetud; type Etudiant = record ine : integer; nom : string[20]; formation : string[20]; end; type FichierEtudiant = file of Etudiant; Fichier structuré Compléments d algorithmique 26

Exemple : Saisie et sauvegarde Exemple : procedure saisie(var e: Etudiant); write( ine? ); readln(e.ine); write( nom? ); readln(e.nom); write( formation? ); readln(e.formation); end; /* Ajoute l etudiant e dans le fichier f */ procedure ajouter(var f: FichierEtudiant; e: Etudiant); seek(f, filesize(f)); write(f, e); end; Fichier structuré Compléments d algorithmique 27

Exemple : Affichage Exemple : /* Affiche a l ecran le contenu du fichier f */ procedure afficher(var f: FichierEtudiant); var e: Etudiant; seek(f, 0); while not(eof(f)) do read(f, e); writeln(e.ine,, e.nom,, e.formation); end; end; Fichier structuré Compléments d algorithmique 28

Exemple: Recherche d un étudiant Est-ce que cet étudiant existe dans la base? Quel est le nom et la formation de l étudiant? Ce qui est commun aux deux modes de recherche : Parcours du fichier et arrêt quand l étudiant est trouvé. /* Positionne la tete de lecture de f sur l etudiant ine, ou sur eof si l etudiant est introuvable. */ procedure positionsur(var f:fichieretudiant; ine:integer); var e: Etudiant; trouve: boolean; trouve := false; seek(f, 0); while not(trouve) and not(eof(f)) do read(f, e); if e.ine = ine then trouve := true; end; if trouve then seek(f, filepos(f)-1); end; Fichier structuré Compléments d algorithmique 29

Exemple: Recherche d un étudiant function appartient(var f: FichierEtudiant; ine: integer): boolean; positionsur(f, ine); appartient := not(eof(f)); end; /* Stocke dans resultat les informations sur l etudiant ine de f. Precondition : f doit contenir un etudiant dont le numero est ine. */ procedure charger(var f: FichierEtudiant; ine: integer; var resultat: Etudiant); positionsur(f, ine); read(f, resultat); end; Passage de paramètres Pour passer un fichier comme paramètre à un sous-programme, le fichier doit être passé en paramètre donnée modifiée var. Même dans une fonction. Fichier structuré Compléments d algorithmique 30

Exemple : Trier les étudiants procedure trier(var f: FichierEtudiant); var i, j, taille, indicemin, inemin : integer; etudianti, etudiantj : Etudiant; taille := filesize(f); for i := 0 to taille-1 do seek(f, i); read(f, etudianti); indicemin := i; inemin := etudianti.ine; for j := i+1 to taille-1 do read(f, etudiantj); if etudiantj.ine < inemin then inemin := etudiantj.ine; indicemin := j; end; end; if indicemin <> i then echanger(f, i, indicemin); end; end; Fichier structuré Compléments d algorithmique 31

Exemple : Trier les étudiants /* Echange dans f les elements i et j */ procedure echanger(var f: FichierEtudiant; i, j: integer); var eti, etj: Etudiant; seek(f, i); read(f, eti); seek(f, j); read(f, etj); seek(f, j); write(f, eti); seek(f, i); write(f, etj); end; Fichier structuré Compléments d algorithmique 32

Exemple : programme principal var f: FichierEtudiant; et: Etudiant; assign(f, etudiant.dat ); /* rewrite(f); Pour creer le fichier */ reset(f); /* Pour ouverture du fichier existant */ /* Ajout d un etudiant */ saisie(et); ajouter(f, et); /* Affichage */ afficher(f); writeln(inscrits(f, l1 ), inscrits en l1 ); /* Affichage du nom de l etudiant d INE 67 */ charger(f, 67, et); writeln(et.nom); /* Affichage du tri */ trier(f); afficher(f); close(f); end. Fichier structuré Compléments d algorithmique 33