210 likes | 297 Views
TP. Fichiers et Tableaux Avril 2012. Un fichier. Permet le stockage de données sur des supports de mémoire externes ( donc les données ne seront pas perdues à la fin de l’exécution des programmes). Déclaration. Var Fichier : file of <type de base> ;. Pas de type : Array
E N D
TP Fichiers et Tableaux Avril 2012
Un fichier • Permet le stockage de données sur des supports de mémoire externes (donc les données ne seront pas perdues à la fin de l’exécution des programmes)
Déclaration Var Fichier : file of <type de base> ; • Pas de type : • Array • File
Exemple Type Personne = record Nom : string[20]; Prenom: string[20]; Age: integer; end; Var F: file of personne;
? • Déclaration d’un fichier d’articles ,, • Lecture de 20 articles et leur stockage dans le fichier,,,,
Un Article est caractérisé par: • Une référence ………… numérique • Un nom ………… chaine de caractères • Quantité en stock de chaque article • Le stock minimal pour le ravitaillement de l’article………… numérique • Le prix unitaire de chaque article………… numérique • Le prix total de chaque article en stock………… numérique
pu : integer; Le prix total
Program TP;uses CRT; Type Article = record Ref: Byte; Nom : string[20]; qte: Byte; Stck_min: Byte; Prix_uni: Word; Prix_total: Word; end; Var F: file of article;
Assignation de fichier Assign (nom _logique, nom_physique); Nom dans le programme Nom sur le disque Exemple Assign(f, ‘C:\perso.dat’ )
Begin • Clrscr; • Assign (F, ‘stock.dat’);
Ouverture d’un fichier en écriture Rewrite (nom_logique); Écriture d’un enregistrement dans un fichier Write (nom_logique, nom_variable);
rewrite(F); For i:=1 to 20do begin writeln('donner le nom de l article ',i); readln(art.nom); writeln('donner la quantite de l article‘,i); readln(art.quantite); write(F , art); end;
Ouverture d’un fichier en Lecture Reset (nom_logique); Lecture d’un enregistrement dans un fichier Read (nom_logique, nom_variable);
reset (F); whilenot eof(F) do begin read(F, art); writeln(art.nom); end;
Fermeture d’ un fichier Close (nom_logique);
close(F); • Readkey; • end.