Sunteți pe pagina 1din 3

LUCRARE DE LABORATOR NR.

Tema: Fișiere text.

I. Obiectivele temei.
1.1. Să cunoască modul de scriere și citire a datelor din fișier.
1.2. Să cunoască ordinea în care trebuie apelate procedurile destinate prelucrării datelor
de tip fișier.
1.3. Să poată crea și prelucra datele din fișierele text.
II. Conținutul temei.
Prin fișier se înțelege o structură de date care constă dintr-o secvență de componente.
Fiecare componentă din secvență are același tip, denumit 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 – sfirsit de fișier). Fișierul care nu conține nici o componentă
se numește fișier vid.
Un tip de date fișier se definește printr-o declarație de forma:
<Tip fisier>::=[packed] file of <Tip>;
Unde <Tip> este tipul de bază. Tipul de bază este un tip arbitrar, exceptând tipul fișier (nu
există “fișier de fișiere”).
Exemple:
1) Type FisierNumere=file of integer;
Var FN:FisierNumere;
N:integer;
2) Type FisierCaractere=file of char;
Var FC: FisierCaractere;
C: char;
Variabilele FN, FC, FE ș.a. de tip fișier se numesc fișiere Pascal sau, pur și simplu, fișiere.
Spre deosebire de celelalte tipuri de date, valorile cărora se păstrează în memoria internă a
calculatorului, datele fișierelor Pascal se păstrează pe suporturile de informație ale
echipamentelor periferice (discuri și benzi magnetice, discuri optice ș.a.). informația pe
suporturile în studio este organizată în formă de fișiere externe în conformitate cu cerințele
sistemului de operare. Prin urmare, înainte de a fi utilizată, o variabilă fișier trebuie asociată
cu un fișier extern. Metodele de asociere sânt specific implementării limbajului și sitemului
de operare al calculatorului-gazdă.
În limbajul Pascal asocierea unei variabile de tip fișier f cu un fișier extern se
realizează prin apelul de procedură assign(f, s);
unde s este o expresie de tip string care specifică fișierul extern.
Exemplu:
Assign(FN, ‘A: \ REZULTAT \ R.DAT’) – fișierul FN se asociază cu fișierul extern
R.DAT din directorul REZULTAT de pe discul A:.
După executarea instrucțiunii assign(f,s) toate operațiile referitoare la fișierul Pascal f se vor
efectua asupra fișierului extern s.
Cele mai uzuale operații asupra unui fișier sânt citirea și scrierea unei componente.
Citirea unei componente se realizează printr-un apel de forma read(f,v), unde v este o
variabilă declarată cu tipul de bază al fișierului f.
Scrierea unei componente se realizează printr-un apel de forma write(f,e), unde e este o
expresie asociată cu tipul de bază al fișierului f.

Exemple:
Read(FN,n);
Write(FC,c);
Readln(FE,e).
Pentru a deschide un fișier secvențial de ieșire se apelează procedura rewrite(f). În
continuare în fișier se înscriu componentele respective. O componentă se înscrie printr-un
apel de forma: write(f,e), unde e este o extresie de tipul T.
Pentru a deschide un fișier secvențial de intrare se apelează procedura reset (f).
Componenta curentă se citește din fișier printr-un apel de forma: read(f,v).
Sfîrșitul de fișier este semnalizat de funcția boolean eof(f) care ia valoarea true după citirea
ultimei componente.

III. Trasarea problemei.

3.1. Elaborarea sarcinii conform variantelor propuse din anexa 5.


3.2. Rezultatele obținute vor fi realizate integral în caiete.
IV. Conținutul raportului.
4.1. Formularea matematică a problemei.
4.2. Textul programului în limbajul Pascal.
4.3. Rezultatele obținute la execuția programului.
4.4. Caracterizați erorile admise pe parcursul efectuării lucrării.
5. Exemplu de program.
( vezi programul p.89,90, pag. 35-36, manual Informatică clasa a 10-a.)

Anexa nr. 6.

I. a) Se consideră datele de următoarea structură: (pentru variantele 1-6)

Numărul de ordine, numele, prenumele, notele de la examene (6); care vor fi citite de la
tastatură. Din datele citite de afișat la ecran:
1) Lista elevilor cu nota medie mai mare ca 5 și mai mică ca 6;
2) Lista elevilor care au nota medie mai mică ca 5;
3) Lista elevilor care au nota medie mai mare ca 6 și mai mică ca 7.5;
4) Lista elevilor care au nota între 8 și 10;
5) Lista elevilor care au nota medie mai mare ca 7.5;
6) Lista elevilor care au nota între 9 și 10;

Elaborați un program care crează fișierul ELEVI.DAT și înscrie în acest fișier datele
referitoare la n elevi. Datele respective se citesc de la tastatură.

I. b) Se consideră datele de următoarea structură: (pentru variantele 7-12)

Numărul de ordine, numele, prenumele, absențe nemotivate, absențe totale; care vor fi citite
de la tastatură. Din datele citite de afișat la ecran:
7) Lista elevilor care n-au absențe;
8) Lista elevilor care au mai mult de 40 absențe motivate;
9) Lista elevilor care au mai mult de 40 absențe nemotivate;
10) Lista elevilor care au 20 de absențe;
11) Lista elevilor care mai puțin de 40 absențe motivate;
12) Lista elevilor care mai puțin de 40 absențe nemotivate.

Elaborați un program care crează fișierul ELEVI.DAT și înscrie în acest fișier datele
referitoare la n elevi. Datele respective se citesc de la tastatură.

II.Elaborați un program Pascal care afișează pe ecran conținutul fișierului ELEVI.DAT creat
anterior.

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