Fiºiere text

 
Creaza un subiect nou   Raspunde la subiect    Pagina de start a forumului proinfo.MyForum.ro :: =[Articole,Probleme rezolvate]=
Subiectul anterior :: Subiectul urmator  
Autor Mesaj
admin
Administrator
Administrator
admin

Data inscrierii: 30/Ian/2007
Mesaje: 76

MesajTrimis: 12/11/2007 11:23    Titlul subiectului: Fiºiere text Raspunde cu citat (quote)

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’);
Sus
Vezi profilul utilizatorului Trimite mesaj privat
admin
Administrator
Administrator
admin

Data inscrierii: 30/Ian/2007
Mesaje: 76

MesajTrimis: 12/11/2007 11:49    Titlul subiectului: Redirectarea intrarii/ieºirii standard Raspunde cu citat (quote)

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.
Sus
Vezi profilul utilizatorului Trimite mesaj privat
Afiseaza mesajele pentru a le previzualiza:   
Creaza un subiect nou   Raspunde la subiect    Pagina de start a forumului proinfo.MyForum.ro :: =[Articole,Probleme rezolvate]= Ora este GMT + 2 ore
Pagina 1 din 1

 
Mergi direct la:  
Nu puteti crea un subiect nou in acest forum
Nu puteti raspunde in subiectele acestui forum
Nu puteti modifica mesajele proprii din acest forum
Nu puteti sterge mesajele proprii din acest forum
Nu puteti vota in chestionarele din acest forum




Powered by phpBB © 2001, 2002 phpBB Group
Fa-ti si tu propriul forum GRATUIT, pe www.myforum.ro
Charcoal2 Theme © Zarron Media