fisiere text pascal
DESCRIPTION
informaticaTRANSCRIPT
Fisiere text
Introducere Programele prezentate anterior au
necesitat date de intrare care au fost preluate direct de la tastatura.
Aceasta maniera de lucru devine incomoda cand este vorba de un volum mare de informatii sau cand ele nu difera structural de la o executie a programului la alta
Pentru a evita acest neajuns s-a gasit solutia inregistrarii datelor de intrare pe un suport magnetic, de pe care pot fi citite direct prin program.
DefinitieNumim fisier, o colectie de informatii care satisfac un anumit scop, memorata pe un suport extern, si accesata printr-un nume (numele fisierului)
Fisiere textUn fisier text contine una sau mai multe
linii de caractere de lungime variabila.Fiecare rand, mai putin ultimul, se
incheie printr-un “marcaj de sfarsit de linie” alcatuit din caracterele CR si LF.
Sfarsitul de fisier este marcat prin caracterul EOF.
Operatii cu fisiere textIntr-un program, un fisier text se declara
ca o variabila de un tip predefinit numit “text”. O astfel de variabila se numeste descriptor de fisier.
ExempluVar f,g:text;
Pentru a putea folosi efectiv un fisier text intr-un program, trebuie facuta o legatura intre numele sub care este recunoscut de catre sistemul de operare(fisierul fizic) si descriptorul de fisier (fisierul logic)
SintaxaAssign(<descriptor>, <nume fisier>)
Ex. Assign(f, ‘numere.txt’)
Deschiderea si inchiderea unui fisier- Pentru citireReset(<descriptor>)- Pentru scriereRewrite(<descriptor>)- Pentru adaugareAppend(<descriptor>)- Pentru inchidereClose(<descriptor>)
Testarea sfarsitului de rand si de fisierTestarea sfarsitului de fisier- eof(<descriptor>)- seekeof(<descriptor>)Testarea sfarsitului de linie- eoln(<descriptor>)- seekeoln(<descriptor>)
Observatie Functia Seekeoln difera de functia
Eoln prin faptul ca face salt peste caracterele blanc sau TAB, inainte de a testa sfarsitul de linie
Functia Seekeof difera de functia Eof prin faptul ca face un salt peste caracterele blanc, TAB sau marcajele de sfarsit de linie, inainte de a testa sfarsitul de fisier
Citirea din fisierRead(<desc>,<v1>, <v2>,…)
Readln(<desc>, <v1>, <v2>,…)
Scrierea in fisierwrite(<desc>,<v1>, <v2>,…)
writeln(<desc>, <v1>, <v2>,…)
ExempluFisierul numere.text contine pe prima linie 3 numere. Sa se calculeze media lor aritmetica.
RezolvareProgram fisier;Var f:text;
a,b,c:integer;ma:real;
Beginassign(f, ‘numere.text’);reset(f);read(f,a,b,c);close(f);ma:=(a+b+c)/3;writeln(‘ma=‘,ma:5:2);
End.
Probleme propuseFisierul p1.in contine pe prima linie un
numar natural n iar pe urmatoarea linie n numere intregi separate prin spatii.