admin Administrator


Data inscrierii: 30/Ian/2007 Mesaje: 76
|
Trimis: 12/11/2007 11:23 Titlul subiectului: Fiºiere text |
|
|
Fiºiere
Un fiºier de date este o colecþie de date pãstrate pe un suport extern, de exemplu HDD, CD, memorie flash etc. Astfel, fiºierul reprezintã o structurã de date externã, memoratã în afara memoriei principale RAM a calculatorului.
Î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 numeroase 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, conþin date de intrare pentru program
- fiºiere de ieºire, conþin rezultatele programului
Pentru a folosi un fiºier text trebuie parcurse etapele:
1. declararea variabilei fiºier, folosinf cuvântul rezervat TEXT:
var f: TEXT;
2. asocierea variabilei f unui fiºier extern:
ASSIGN(f,’nume.tip’);
Ex: assign(f,’date.in’)
3. deschiderea fiºierului dat prin variabila f prin una din procedurile:
a) RESET(f); - deschidere numai pentru citire din fiºier, de la începutul fiºierului, este folositã pentru fiºiere de intrare
b) REWRITE(f); deschidere numai pentru scriere în fiºier, folositã pentru fiºiere de ieºire; creeazã un fiºier vid
c) APPEND(f); deschidere pentru adãugare la sfârºitul fiºierului;
4. Utilizarea fiºierului prin:
a) prin operaþia de citire: READ(f, lista_var); sau READLN(f,lista_var);
b) prin operaþia de scriere: WRITE(f,lista_var); sau WRITELN(f,lista_var);
funcþiile de informare:
c) testul de sfârºit de linie EOLN(f); - întoarce TRUE dacã s-a ajuns la sfârºitul liniei, altfel FALSE;
d) testul de sfârºit de fiºier EOF(f); - întoarce TRUE dacã s-a ajuns la sfârºitul fiºierului, altfel FALSE;
5. Închiderea fiºierului: CLOSE(f);
ATENÞIE: dupã operaþia de închidere a fiºierului nu mai pot fi apelate operaþiile pentru utilizare.
6. Redenumirea unui fiºier RENAME(f,’nume_nou.tip’); |
|
admin Administrator


Data inscrierii: 30/Ian/2007 Mesaje: 76
|
Trimis: 12/11/2007 11:49 Titlul subiectului: Redirectarea intrarii/ieºirii standard |
|
|
Redirectarea intrãrii/ieºirii standard
În orice program Pascal existã declarate implicit douã fiºiere standard:
- unul asociat cu tastatura input
- iar celãlalt cu monitorul output.
Fiºierul standard de intrare input poate fi asociat unui fiºier extern, astfel cã toate citirile cu operaþiile READ sau READLN se vor face din fiºierul extern asociat. La fel poate fi redirectat fiºierul standard de ieºire spre un alte fiºier în care vor fi scrise toate rezultatele operaþiilor WRITE sau WRITELN.
Exemplu: Se dau în fiºierul de intrare suma.in douã numere reale a ºi b.
Sã se calculeze în fiºierul de ieºire suma.out rezultatul adunãrii lor.
<table> <tr><td> suma.in </td><td> suma.out</td></tr>
<tr><td> 310 21 </td><td> 331 </td></tr></table>
Redirectarea intrãrii/ieºirii standard
În indiferent ce program Pascal existã declarate implicit douã fiºiere standard:
- unul asociat cu tastatura input
- iar celãlalt cu monitorul output.
Fiºierul standard de intrare input poate fi asociat unui fiºier extern, astfel cã toate citirile cu operaþiile READ sau READLN se vor face din fiºierul extern asociat. La fel poate fi redirectat fiºierul standard de ieºire spre un alte fiºier în care vor fi scrise toate rezultatele operaþiilor WRITE sau WRITELN.
Exemplu: Se dau în fiºierul de intrare suma.in douã numere naturale a ºi b.
Sã se calculeze în fiºierul de ieºire suma.out rezultatul adunãrii lor.
<table> <tr><td> suma.in </td><td> suma.out</td></tr>
<tr><td> 310 21 </td><td> 331 </td></tr></table>
program suma_ab;
var a,b: longint;
begin
assign(input,'suma.in');
reset(input);
readln(a,b);
assign(output,'suma.out');
rewrite(output);
write(a+b);
close(input);
close(output);
end. |
|