Sunteți pe pagina 1din 12

 Prin fișiere se înțelege o structură de date care

constă dintr-o secvență de componente. Fiecare


componentă din secvență are același tip, tip de
bază. Numărul componentelor din secvență nu
este fixat,însă sfârșitul secvenței este indicat de
un simbol special,notat EOF (End of File- sfîrșit de
fișier).
 Un tip de date fișier se definește într-o declarație
de forma:
<Tip fișier>= file of <Tip>;
unde <Tip>este tipul de baza. Tipul de baza este un
tip arbitrar, exceptând tipul fișier(nu exista ”fișier
de fișiere”).
1) type FisierNumere=file of integer;
Var FN : FisierNumere;
N : integer;
2) type FisierCaractere=file of char;
Var FC: FisierCaractere;
C : char;
3)type Elev=record
Nume : string;
Prenume : string;
NotaMedie : real;
End;
FisierElevi=file of Elev;
var FE : FisierElevi
E : Elev;
Înainte de a fi utilizată,o variabilă fișier trebuie
asociată cu un fișier extern.
În pascal asocierea se face prin includerea
variabilelor de tip fișier ca argument în
antetul programului cu ajutorul procedurii
assign (f, s)
s- expresie de tip șir de caractere care arată
calea către fișier.
Exemple
assign (FN, ‘C:\r.dat’);
Citirea se realizează prin:
read(f,v)
unde v este o variabilă declarată cu tipul de bază al fișierului f.
Scierea unei componente :
write(f,e)
unde e este o expresie asociată cu tipul de bază al fișierului f.
Pentru a putea lucra cu fișierul el trebuie deschis, aceasta se
face cu ajutorul procedurilor:
reset(f) – pregătește un fișier existent pentru citire
rewrite(f) – creează un fișier vid și îl pregătește pentru scriere.
După prelucrarea componentelor fișierul trebuie închis cu
ajutorul procedurii close(f).
1) assign(f,s) – asocierea fișierului pascal f
cu fișierul extern f.
2) reset (f)/rewrite(f) – deschiderea fișierului
pentru citire/scriere.
3) read(f,v)/write(f,e) – citirea/scrierea unei
componente în fișierul f.
4) close(f) – închiderea fișierului f.
 Deschiderea unui fişier secvenţial pentru
înscriere se face cu ajutorul procedurii
rewrite(f)
 Înscrierea componentei cu ajutorul
procedurii write(f,e) sau write(f,e1,e2,e3…)
unde e este o expresie de tipul
componentei fișierului. După înscrierea
ultimei componente fișierul trebuie închis
cu ajutorul procedurii close(f).
Program P89; writeln('Dați datele elevului ', i);
type Elev=record { citește cîmpurile variabilei E de la
Nume : string; tastatură }
Prenume : string; write('Numele: '); readln(E.Nume);
NotaMedie : real write('Prenumele: '); readln(E.Prenume);
end; write('Note medie: '); readln(E.NotaMedie);
FisierElevi=file of Elev;
write(FE, E); { scrie E în FE }
var FE : FisierElevi; end;
E : Elev;
str : string; close(FE); { închide FE }
i, n : integer; readln;
end.
begin
write('Dați numele fișierului de creat: ');
readln(str);
assign(FE, str); { asociază FE cu numele din
str }
rewrite(FE); { deschide FE pentru scriere }
write('Dați numтrul de elevi: '); readln(n);
for i:=1 to n do
begin
Pentru a citi informația dintr-un fișier
secvențial se apelează procedura reset(f).
Componenta curentă se citește cu
procedura read(f,v)sau read(f,v1,v2,v3…).
Sfîrșitul fișierului este semnalată de funcția
eof(f) care întoarce true după citirea ultimei
componente.
Program P90; numele din str }
type Elev=record reset(FE); { deschide FE
Nume : string; pentru citire }
Prenume : string;
NotaMedie : real while not eof(FE) do
end; begin
FisierElevi=file of Elev; read(FE, E); { citește E din FE }
writeln(E.Nume, ' ', E.Prenume,
var FE : FisierElevi; E.NotaMedie : 5:2);
E : Elev; { afișează E la ecran }
str : string; end;
begin close(FE); { închide FE }
write('Daюi numele fișierului de readln;
citit: '); end.
readln(str);
assign(FE, str); { asociază FE cu
1. Se consideră următoarele tipuri de date:
type Data=record
ziua: 1..31;
luna: 1..12;
anul: integer;
end;
Persoana=record
Numeprenume: String;
datanasterii: Data;
end;
FisierPersoane =file of Persoana;
Elaborați un program care citește datele de la tastatură referitoare la n
persoane și înscriețile în fișiere.
Creați fișierele FILE.PRS, FILE2.PRS , FILE3.PRS care conțin datele
referitoare la 2,7 și 10 persoane.
2. Elaborați un program care citește fișierele create în problema 1 și
afișează pe ecran:
a) Toate persoanele din fișier.
b) Persoanele născute în anul a citit de la tastieră.
c) Persoanele născute pe data z.l.a.
3. Elaborați un program care afișează pe
ecran media aritmetică a numerelor
înscrise într-un fișier de tipul file of real.
4. Într-un fișier de tip file of char sunt
înscrise caractere arbitrare. Elaborați
un program care afișează pe ecran
numărul vocalelor din fișier.

S-ar putea să vă placă și