Vineri, 19.04.2024, 08:57
Bine aţi venit Vizitator

Bine ai venit

Meniu site
Sondajul nostru
Evaluează site-ul meu
Total răspunsuri: 17
Statistici

Total online: 1
Vizitatori: 1
Utilizatori: 0

Fie T un tip de date şi eof un element special care nu aparţine lui t. Mulţimea ft = T* {eof} se numeşte tip file (fişier) cu componente de tipul t. Elementele acestei mulţimi sînt şiruri finite şi ordonate de elemente din t,,urmate de eof; un astfel de şir se numeşte fişier. Tipul t se numeşte tip de bază. Componentele fişierului se numesc înregistrări sau articole.

Exemplu. Dacă t este tipul integer, arunci următoarele şiruri:

<0,  -l, eof> <1, eof>

<eof>                                                                                                       • •'.    ~ . ;

....

sînt fişiere cu componente de tipul integer.

în limbajul Pascal, un tip fişier se defineşte prin:

 

<tip_fisier>::= file of <tip>  | packed file of <tip>

unde <tip> este tipul de bază. Atributul packed indică o compactificare a reprezentării componentelor fişierului în memorie.

Cele mai uzuale operaţii asupra unui fişier sînt extragerea ("citirea") şi introducerea ("scrierea") unei componente noi. Aceste operaţii se realizează prin procedurile predefinite get sau read şi respectiv put sau write. înainte de efectuarea operaţiilor de scriere sau de citire este necesară o acţiune de validare a lor, numită deschidere a fişierului, realizată prin procedurile predefinite reset şi rewrite.

După tipul operaţiilor permise asupra componentelor, fişierele se clasifică în: fişiere de intrare (este permisă numai citirea); fişiere de ieşire (este permisă numai scrierea); şi fişiere de actualizare (sînt permise scrierea şi citirea). Operaţiile permise sînt fixate la deschiderea fişierului.

După medul de acces la componente, fişierele se clasifică în: fişiere cu acces secvenţial sau secvenţiale (accesul la componenta n este permis numai după ce s-a citit/scris componenta n-i) şi fişiere cu acces aleator sau direct (orice componentă se poate referi direct prin numărul ei de ordine în fişier). în lipsa altor specificări, fişierele declarate în programele Pascal sînt secvenţiale şi de intrare sau de ieşire.

Orice declarare de variabilă f de tip fişier cu tipul de bază t conduce la declararea implicită a unei alte variabile cu numele f * de tipul t, pe care o vom numi variabilă asociată fişierului şi care se poate utiliza în programul Pascal, f * se poate considera ca o "fereastră" prin care se extrage / introduce o componentă din / în fişierul f. Aceasta este singura componentă accesibilă la un moment dat şi se numeşte componentă curentă.

Exemplu. Prin definiţiile

type candidat = record

nume : packed array [1..30]  of char; media: real end;

t_fc           = file of candidat;

var   fc                   : t_fc;

se introduc tipul fişier t_f c cu componente de tipul candidat, variabila fişier f c de tipul t_f c şi variabila f c* de tipul candidat.

Observaţie. în apelurile de procedură, parametrii actuali de tip file sînt comunicaţi prin referinţă (vezi 4.6.2.2). Prin urmare, în declaraţiile de procedură parametrii formali de tip file vor fi declaraţi ca variabili prin specificaţia var.

Autentificare
Căutare