1 / 12

Cum folosim Fişierele în Pascal ?

Cum folosim Fişierele în Pascal ?. învăţare prin p roiecte. “S ă învăţăm inteligent”. Să ne amintim. Care sunt componentele de memorie ale unui calculator ? Care sunt tipurile de memorie intern ă ? Care este principiul de func ţionare al memoriei interne ?

arch
Download Presentation

Cum folosim Fişierele în Pascal ?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cum folosimFişiereleîn Pascal ? învăţare prin proiecte “Să învăţăm inteligent”

  2. Să ne amintim • Care sunt componentele de memorie ale unui calculator? • Care sunttipurile de memorie internă? • Care esteprincipiul de funcţionare al memoriei interne ? • Care esteunitatea de alocare a memorieişi multipli? • Care sunttipurile de memorie externă?

  3. Ce este un fişier ? Un fişier de dateeste o colecţie de date păstrate pe un suport extern, de exemplu HDD, CD, memorie flash etc. Fişierul reprezintă o structură de date externă, memorată în afara memoriei principale RAM a calculatorului. Un fişier poate să conţină un program executabil sau date (fişier document). În limbajul Pascal pot fi folosite: - fişiere TEXT - fişiere cu TIP - fişiere generale, fără tip Fişiere text în Pascal Cele mai folosite fişiere în Pascal sunt fişierele TEXT. Aceste fişiere sunt organizate ca şiruri de caractere, scrise pe mai multe linii. Fiecare linie de text are un marcaj de sfârşit de linie, iar la sfârşitul fişierului există un marcaj de sfârşit de fişier. La fel ca în cazul datelor din memoria internă, fişierele pot fi : fişiere de intrare, care conţin date de intrare pentru programşi fişiere de ieşire, care conţin rezultatele programului. • Numeleunui fişier este de forma Nume.tip, unde tip ne arata dacă fişierul este executabil Nume.exesauaplicatia folosită pentru prelucrarea fişierului, de ex. Nume.doc, Nume.jpg

  4. Etapele folosirii unui fişier • Pentru a folosi un fişier text trebuie parcurse etapele: 1. declararea variabilei text f 2. asocierea variabilei f cu un fişier extern 3. deschiderea fişierului dat prin variabila f 4. folosirea fişierului f pentru citire/scriere 5. alte prelucrări asupra fişierului 6. închiderea fişierului f

  5. Operaţii cu fişiere • declararea variabilei fişier, folosind cuvântul rezervat TEXT: var f: TEXT; • asocierea variabilei f unui fişier extern: ASSIGN(f,’nume.tip’); Ex: assign(f,’date.in’); • deschiderea fişierului dat prin variabila f prin una din procedurile: RESET(f); - deschidere numaipentru citiredin fişier, de la începutul fişierului, este folosită pentru fişiere de intrare (READsauREADLN) REWRITE(f); deschidere numai pentru scriereîn fişier, folosită pentru fişiere de ieşire; creează un fişier vid (WRITEsauWRITELN) APPEND(f); deschidere pentru adăugarela sfârşitul fişierului;

  6. Operaţii cu fişiere • Utilizarea fişierului prin: - prin operaţia de citire: READ(f, lista_var); sau READLN(f,lista_var); - prin operaţia de scriere: WRITE(f,lista_var); sau WRITELN(f,lista_var); - funcţiile de informare: -testul de sfârşit de linie EOLN(f); funcţie booleană Returnează TRUEdacă s-a citit sfârşitul de linie din fişier - testul de sfârşit de fişier EOF(f); funcţie booleană Returnează TRUEdacă s-a citit caracterul sfârşit de fişier (CTRL/Z) • Redenumirea unui fişier RENAME(f,’nume_nou.tip’); Ştergerea fizică a fişierului de pe disc ERASE(var f); Trunchierea conţinutului unui fişier TRUNCATE(var f); • Închiderea fişierului: CLOSE(f); • ATENŢIE: după operaţia de închidere a fişierului nu mai pot fi apelate operaţiile pentru utilizare în afară de RENAME şi ERASE.

  7. Structura fişierelor text • Prelucrarea fişierelor text se poate face, la fel ca în cazul şirurilor de caractere, global – pe linii de text sau caracter cu caracter. • Fişierele text sunt împărţite în linii de text (de tip string), care au un marcaj de sfârşit de linie<EOLN>. La sfârşitul fişierului se afla marcajul <EOF> • La deschiderea fişierului se poziţionează indicatorul de fişier (IF) corespunzător procedurii de deschidere: la început (REWRITE/RESET) sau la sfârşit (APPEND) • Date.txt Prima linie de text  <EOLN> A doualinie<EOLN> <CTRL+Z><EOF>

  8. Exemplu: crearea unui fişier text program txt1; var   f:text;{declararea variabilei fişier text}       a:string;{linia de text} begin assign(f,‘date.txt'); {asocierea cu fisierul extern} rewrite(f);{ crearea fisierului - iniţializare fişier vid }    while not eof (input) do { cat timp nu am citit marcajul EOF }    begin       readln(a); { citesc linia de la tastatura } writeln(f,a){scriu linia de text în fişier }    end; close(f) { închid fişierul – ultima operaţie cu fişierul f !} end.

  9. Exemplu: afişarea unui fişier text program txt2; varf:text;{declarareavariabilei fişier text}       a:string;{linia de text} begin assign(f,‘date.txt'); {asocierea cu fisierul extern} reset(f);{deschiderepentrucitire }    while not eof(f) do { cat timp nu am cititmarcajul EOF }    begin readln(f, a); { citesclinia din fisier} writeln(a) {scriulinia de text peecran}    end; close(f) { închid fişierul – ultima operaţie cu fişierul f !} end.

  10. Suma a două numere Calculaţi suma a două numere naturale, citite de pe prima linie din fişierul de intrare date.in iar rezultatul se va scrie în fişierul date.out. program nr_text; varf,g:text;{declarareavariabilelorfişier text} a,b,S:integer;{ a,b – date de intrare, S - rezultat} begin assign(f,‘date.in'); reset(f);{ fişierul de intrare, deschis pt citire } assign(g,‘date.out'); rewrite(f); { fişierul de ieşire, deschis pt scriere} readln(f, a,b); { citescnumerele din fisier} S:=a+b; { calculezsuma } writeln(g, ‘S=‘,S); {scriurezultatulîn fişierul g } close(f) ; { închid fişierul f ! } close(g) ; { închid fişierul g ! } end.

  11. Probleme propuse • Se dă fişierul de intrare date.txt. • afişaţi pe ecran liniile fişierului • după fiecare linie afişaţi lungimea liniei (nr. de caractere) • iar la sfârşit numărul total de linii şi nr total de caractere • cea mai lungă linie de text din fişier • Se citesc trei numere a, b, c de pe prima linie a fişierului date3.in. Să se scrie în fişierul date3.out suma numerelor, media aritmetică şi media armonică fiecare rezultat pe câte o linie. • Citiţi elementele unui vector din fisierul de intrare vector.in în cazurile: • elementele sunt scrise toate pe prima linie • elementele sunt scrise câte unul pe o linie • pe prima linie este scris nr de elemente, iar pe a doua linie toate elementele vectorului • pe prima linie este nr de elemente, iar pe următoarele n linii câte un element

  12. Succes !

More Related