Document, comentariu, eseu, bacalaureat, liceu si facultate
Top documenteAdmitereTesteUtileContact
      
    


 


Ultimele referate adaugate

Adauga referat - poti sa ne ajuti cu un referat?

Politica de confidentialitate



Ultimele referate descarcare de pe site
  CREDITUL IPOTECAR PENTRU INVESTITII IMOBILIARE (economie)
  Comertul cu amanuntul (economie)
  IDENTIFICAREA CRIMINALISTICA (drept)
  Mecanismul motor, Biela, organe mobile proiect (diverse)
  O scrisoare pierduta (romana)
  O scrisoare pierduta (romana)
  Ion DRUTA (romana)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  Starea civila (geografie)
 

Ultimele referate cautate in site
   domnisoara hus
   legume
    istoria unui galban
   metanol
   recapitulare
   profitul
   caract
   comentariu liric
   radiolocatia
   praslea cel voinic si merele da aur
 
despre:
 
TIPUL FISIER (FILE)
Colt dreapta
Vizite: ? Nota: ? Ce reprezinta? Intrebari si raspunsuri
 

De cele mai multe ori este necesar ca programele sa lucreze cu mai multe seturi de date, numite fisiere. Datele continute in aceste fisiere se pot memora in foma binara pe un mediu magnetic. q7n2nz
Tipul fisier defineste o structura care cuprinde un numar nefixat de componente de acelasi tip.
Notiunea de fisier se foloseste cu intelesul de set de date sub forma de text sau forma binara, date citite sau scrise de catre un program.
Exista mai multe structuri de fisiere. Cea mai simpla este structura secventiala. Un fisier secvential e format dintr-o secventa de componente de acelasi tip ce pot fi citite numai in ordinea in care ele apar in cadrul fisierului. De exemplu, daca se doreste citirea celei de-a zecea componente, trebuie citite mai intai primele 9. Daca programul doreste sa revina la prima componenta el trebuie sa reinceapa citirea de la inceputul fisierului. Tot succesiv se face si scrierea unui fisier secvential.
Exista si structuri de fisiere ce permit programului accesul direct la anumite componente ale fisierului. Astfel orice componenta se poate accesa imediat, daca se precizeaza numarul ei de ordine in fisier, fara a mai fi necesara parcurgerea elementelor precedente (numarul de ordine al primei componente este 0).
Accesul direct e permis numai pentru fisierele stocate pe disc.
Fiecarui fisier i se asociaza de catre compilator o variabila numita indicator de fisier care cuprinde in tot timpul prelucrarii fisierului, numarul de ordine al componentei curente.
In Turba Pascal exista trei tipuri de fisiere:
1. fisiere cu tip -; componentele au acelasi tip si sunt stocate pe disc;
2. fisiere text -; componentele sunt caractere structurate pe linii de lungimi variabile;
3. fisiere fara tip -; componentele sunt blocuri de informatii de lungime fixa, stocate pe disc;
Intr-un program Pascal un fisier se identifica printr-o variabila de tip fisier. Variabila de tip fisier nu are nevoie sa apara in atribuiri sau expresii.
O variabila de tip fisier poate identifica succesiv mai multe fisiere de acelasi tip. De aceea, prelucrarea fiecarui fisier trebuie precedata de apelul unei proceduri standard ASSIGN, prin care variabilei de tip fisier i se asociaza numele unui anumit fisier fizic. Toate operatiile in care se va specifica acea variabila se vor face asupra fisierului fizic asociat ei prin procedura ASSIGN.
Apelul procedurii:
ASSIGN(fisier,nume); unde:
- fisier e identificatorul unei variabile de tip fisier;
- nume e o expresie de tip STRING, care reprezinta numele unui fisierfizic;




Observatii:
- asocierea ramane valabila pana la o noua asociere, printr-un alt apel al procedurii ASSIGN;
- apelul se termina cu eroare daca fisierul fizic e deschis in momentul apelului.

Prelucrarile admise asupra unui fisier sunt:
1. crearea fisierului (scrierea componentelor in fisier);
2. exploatarea fisierului (citirea si prelucrarea componentelor fisierului);
3. actualizarea fisierului (adaugarea, modificarea sau “stergerea” unor componente ale fisierului, prin operatii de citire si scriere.
Accesul la componentele unui fisier e permis doar daca acesta este deschis => orice prelucrare
incepe cu deschiderea fisierului si se sfarseste cu inchiderea sa.
Deschiderea se realizeaza prin executia procedurii RESET sau REWRITE iar inchiderea prin executia procedurii CLOSE.
Apelul procedurii RESET: RESET(fisier) unde fisier e numele unei variabile de tip fisier.
Executia procedurii realizeaza:
1. initializarea indicatorului de fisier cu valoarea 0;
2. initializarea variabilei FILEMODE din unit-ul SYSTEM, astfel incat sa permita, in continuare executia de:
- operatii de citire -; pentru fisierele de tip text;
- operatii de citire /scriere -; pentru fisierele cu sau fara tip.

Observatii:
- apelul se termina cu eroare daca fisierul fizic asociat nu exista;
- daca fisierul e deschis in momentul apelului, acesta se inchide si apoi se redeschide.

Apelul procedurii REWRITE: REWRITE(fisier) unde fisier e numele unei variabile de tip fisier.
Executia procedurii consta in:
1. Initializarea indicatorului de fisier co 0;
2. Initializarea variabilei FILEMODE din unit-ul SYSTEM, astfel incat sa permita, in continuare executia de:
- operatii de citire -; pentru fisierele de tip text;
- operatii de citire /scriere -; pentru fisierele cu sau fara tip.

Observatii:
- apelul se termina cu eroare, daca nu este loc suficient pe disc pentru noul fisier;
- daca fisierul fizic asociat exista, continutul sau este sters, iar prima operatie de scriere in fisier va genera componenta cu numarul de ordine 0;
- daca fisierul s-a deschis prin executia acestei proceduri, operatiile de citire sunt permise numai dupa ce s-au facut scrieri.

Apelul procedurii CLOSE: CLOSE(fisier) unde fisier e numele unei variabile de tip fisier.
Efectul procedurii este inchiderea fisierului, prin care operatiile de citire/scriere a componentelor lui sunt interzise pana la o noua deschidere.
Observatie:
Daca la scrierea componentelor in fisier se omite inchiderea acestuia la sfarsitul prelucrarii, exista riscul ca ulterior ultimele informatii din zona tampon asociata fisierului sa nu se mai salveze in fisier.


FISIERE CU TIP

Un fisier cu tip cuprinde mai multe componente de acelasi tip, numit tip de baza al fisierului.
Diafragma sintaxei:
Unde identificator de tip reprezinta tipul de baza al fisierului. Acest tip nu poate fi unul din tipurile fisier; el este de obicei un tip articol. De aceea, componentele unui fisier cu tip se mai numesc articole.
Componentele unui fisier cu tip pot fi accesate atat secvential cat si direct.
Indicatorul de fisier indica in permanenta numarul de ordine al componentei care urmeaza sa fie prelucrata. Accesul la acest indicator se face prin intermediul functiei FILEPOS si al procedurii SEEK. Dupa deschiderea fisierului indicatorul de fisier are valoarea 0.

EXEMPLU de fisier cu tip:
TYPE articol=RECORD Atipul de baza al fisieruluiS cl:STRING; nu:STRING;
END;
VAR fis:FILE OF articol; Avariabila de tip fisier cu tipS art:articol;

Operatii posibile:
A. Citirea unei componente sau a mai multor componente succesive -; se realizeaza prin apelul procedurii
READ de forma:
READ(fisier,v1,v2,…,vn)
Unde:
- fisier e numele variabilei de tip fisier cu tip;
- v1,v2,…,vn sunt n variabile al caror tip e tipul de baza al fisierului (n>=1)
Executia procedurii consta in:
1. se preiau n componente succesive din fisier, incepand cu componenta al carei nr. de ordine e pastrat in indicatorul de fisier, si se memoreaza in variabilele v1,v2,…,vn;
2. valoarea indicatorului de fisier creste cu 1 dupa citirea fiecarei componente.

Observatii:
- daca in momentul apelului sau in timpul executiei procedurii, indicatorul de fisier contine un numar de ordine mai mare decat cel al ultimei componente din fisier, apelul se termina cu eroare;
- componentele sunt preluate in zona tampon asociata fisierului, de unde se transfera la adresele variabilelor corespunzatoare; utilizarea zonei tampon asigura reducerea numarului de operatii de acces la fisier;
- aceste transferuri de date nu sunt insotite de conversii deoarece componentele fisierului cu tip cuprind date in forma de reprezentare interna, astfel asiguranduse o crestere a vitezei de prelucrare.
B. Scrierea componentelor:
WRITE(fisier,v1,v2,…,vn); parametrii la fel ca la READ
Executia procedurii:
1. se scrie continutul variabilelor v1,v2,…,vn in componentele succesive ale fisierului;
2. se creste valoarea cu 1 a indicatorului de fisier dupa scrierea fiecarei componente.
Observatii
- daca in momentul apelului sau in timpul executiei procedurii, indicatorul de fisier contine un numar de ordine mai mare decat cel al ultimei componente, se vor scrie in fisier componentele lipsa, continutul acestora, este, insa necontrolat;
- nu e recomandabil ca fisierul sa cuprinda componente cu continut necontrolat; pentru evitarea acestei situatii, la crearea fisierului, nu trebuie modificata valoarea indicatorului de fisier, iar daca se adauga componente la sfarsitul fisierului, se recomanda folosirea func. FILESIZE pentru determinarea numarului exact de componente.

FUNCTII SYSTEM
1. EOF -;de tip BOOLEAN; returneaza TRUE, daca indicatorul de fisier e pozitionat la sfarsitul fisierului si FALSE in caz contrar;
Apel: EOF(fisier);
2. FILEPOS -; de tip LONGINT; returneaza numarul de ordine al componentei curente;
Apel: FILEPOS(fisier);
3. FILESIZE -; de tip LONGINT; returneaza nr de componente al fisierului asociat variabilei fisier;
Apel: FILESIZE(fisier);
4. SEEK -; se pozitioneaza indicatorul de fisier pe valoarea n; n expresie de tip longint;
Apel: SEEK(fisier,n);
5. ERASE -; sterge fisierul fizic asociat variabilei fisier.
Apel: ERASE(fisier);
6. RENAME -; redenumeste fisierul asociat variabilei fisier cu numele dat prin sirul de caractere nume.
Apel: RENAME(fisier,nume);
7. TRUNCATE -; sterge toate componentele fisierului,incepand cu componenta indicata de indicatorul de fisier, si pana la ultima componenta din fisier.
Apel: TRUNCATE(fisier);



Colt dreapta
Creeaza cont
Comentarii:

Nu ai gasit ce cautai? Crezi ca ceva ne lipseste? Lasa-ti comentariul si incercam sa te ajutam.
Esti satisfacut de calitarea acestui document, eseu, cometariu? Apreciem aprecierile voastre.

Nume (obligatoriu):

Email (obligatoriu, nu va fi publicat):

Site URL (optional):


Comentariile tale: (NO HTML)


Noteaza documentul:
In prezent fisierul este notat cu: ? (media unui numar de ? de note primite).

2345678910

 
Copyright© 2005 - 2024 | Trimite document | Harta site | Adauga in favorite
Colt dreapta