Limbajul Pascal. Fisierele Text. Teorie sii Aplicatii

Fisierele text – Clasa a XI-a

in.txt 15 30 out.txt 45 in.txt 15 30 out.txt 45

program fisiere; {declar variabilele f si g de tip fisiere text} var f,g:text; a,b,s:integer; begin { 1. assignarea } assign(f,'IN.txt'); assign(g,'OUT.txt'); { 2. deschid pentru citire fisierul 'in.txt' } reset(f); { 3. citeste de pe prima linie numerele a si b} while not eoln(f) do begin read(f,a,b); end; {calcul suma} s:=a+b; {4. deschid pentru scriere fisierul 'out.txt'} rewrite(g); { 5. scriu in fisierul 'out.txt' suma celor doua numere } write(g,s); { 6. inchid cele 2 fisiere } close(f); close(g); end.

program fisiere; {declar variabilele f si g de tip fisiere text} var f,g:text; a,b,s:integer; begin { 1. assignarea } assign(f,'IN.txt'); assign(g,'OUT.txt'); { 2. deschid pentru citire fisierul 'in.txt' } reset(f); { 3. citeste de pe prima linie numerele a si b} while not eof(f) do begin read(f,a,b); end; {calcul suma} s:=a+b; {4. deschid pentru scriere fisierul 'out.txt'} rewrite(g); { 5. scriu in fisierul 'out.txt' suma celor doua numere } write(g,s); { 6. inchid cele 2 fisiere } close(f); close(g); end.

1

http://programare.profu.info

program fisiere; {declarare f,g de tip fisiere text} var f,g:text; i,n:integer; a:array[1..20] of integer;

in.txt 1 21 3 out.txt 1 21 3 ******* 1 21 3

{Construiesc o procedura ca imi citeste elementele unui vector din fisier, elementele sunt pe prima linie, nu cunoastem numarul de elemente din fisier} procedure citire_vector; begin {asignarea unei variabile de tip text} assign(f,'in.txt'); assign(g,'out.txt'); {deschidem fisierul f pentru citire} reset(f); i:=0; {citesc de pe aceeasi linie elementele unui vector, folosesc eoln(f) - !!!} while not eoln(f) do begin {incrementez i} i:=i+1; read(f,a[i]); {citesc elementele vectorului} end; {realizez o copie a lungimii vectorului} n:=i; end; { sfarsitul procedurii } procedure scriere; begin { deschid fisierul g pentru scriere } rewrite(g); { afisarea elementelor din vector pe aceesi linie in fisierul out.txt} for i:=1 to n do write(g,' ',a[i]); writeln(g,' '); writeln(g,'****************'); { afisarea elementelor din vector unele sub altele in fisierul out.txt} for i:=1 to n do writeln(g,' ',a[i]); { inchidem cele 2 fisiere } close(f); close(g); end; {sfarsitul procedurii} 2 http://programare.profu.info

{programul principal} begin { apelam cele 2 proceduri in programul principal } citire_vector; scriere; end. program fisiere; in.txt 1 out.txt 1 7 9 {declarare f,g de tip fisiere text} 7 ******* var f,g:text; 9 1 i,n:integer; 7 a:array[1..20] of integer; 9 { Construiesc o procedura ca imi citeste elementele unui vector din fisier, elementele sunt unele sub altele, nu cunoastem numarul de elemente din fisier} procedure citire_vector; begin {asignarea unei variabile de tip text} assign(f,'in.txt'); assign(g,'out.txt'); {deschidem fisierul f pentru citire} reset(f); i:=0; {citesc de pe fiecare linie elementele unui vector, folosesc eof(f) - !!!} while not eof(f) do begin {incrementez i} i:=i+1; readln(f,a[i]); {citesc elementele vectorului} end; {realizez o copie a lungimii vectorului} n:=i; end; { sfarsitul procedurii } procedure scriere; begin { deschid fisierul g pentru scriere } rewrite(g); { afisarea elementelor din vector pe aceesi linie in fisierul out.txt} for i:=1 to n do write(g,' ',a[i]); writeln(g,' '); writeln(g,'****************'); { afisarea elementelor din vector unele sub altele in fisierul out.txt} for i:=1 to n do writeln(g,' ',a[i]); { inchidem cele 2 fisiere } close(f); close(g); end; {sfarsitul procedurii} {programul principal} 3 http://programare.profu.info

begin { apelam cele 2 proceduri in programul principal } citire_vector; scriere; end.

program fisiere;

in.txt

4 25 2 87 15

{declarare f,g de tip fisiere text} var f,g:text; {variabile globale} i,n:integer;

out.txt 25 2 87 15 ****** 25 2 87 15

a: array[1..20] of integer; { construiesc o procedura ca imi citeste elementele unui vector din fisier, toate elementele sunt pe a II -a linie, pe I -a linie avem lungimea vectorului } procedure citire_vector; begin {asignarea unei variabile de tip text} assign(f,'in.txt'); assign(g,'out.txt'); {deschidem fisierul f pentru citire} reset(f); readln(f,n); {citesc lungimea vectorului} for i:=1 to n do read(f,a[i]); {citesc elementele vectorului} end; { sfarsitul procedurii } procedure scriere; begin { deschid fisierul g pentru scriere } rewrite(g); { afisarea elementelor din vector pe aceesi linie } for i:=1 to n do write(g,' ',a[i]); writeln(g,' '); writeln(g,'****************'); { afisarea elementelor din vector unele sub altele } for i:=1 to n do writeln(g,' ',a[i]); { inchidem cele 2 fisiere } close(f); close(g); end; {sfarsitul procedurii} {p.p} 4 http://programare.profu.info

begin { apelam cele 2 proceduri in programul principal } citire_vector; scriere; end. program fisiere; in.txt 3 {declarare f,g de tip fisiere text} 56 var f,g:text; 89 {variabile globale} 15 i,n:integer; a:array[1..20] of integer;

out.txt 56 89 15 ***** 56 89 15

{ construiesc o procedura ca imi citeste elementele unui vector din fisier, elementele sunt pe linii separate, pe I -a linie avem lungimea vectorului } procedure citire_vector; begin {asignarea unei variabile de tip text} assign(f,'in.txt'); assign(g,'out.txt'); {deschidem fisierul f pentru citire} reset(f); readln(f,n); {citesc lungimea vectorului} for i:=1 to n do readln(f,a[i]); {citesc elementele vectorului } end; { sfarsitul procedurii } procedure scriere; begin { deschid fisierul g pentru scriere } rewrite(g); { afisarea elementelor din vector pe aceesi linie } for i:=1 to n do write(g,' ',a[i]); writeln(g,' '); writeln(g,'****************'); { afisarea elementelor din vector unele sub altele } for i:=1 to n do writeln(g,' ',a[i]); { inchidem cele 2 fisiere } close(f); close(g); end; {sfarsitul procedurii} {p.p} 5 http://programare.profu.info

begin { apelam cele 2 proceduri in programul principal } citire_vector; scriere; end.

6

http://programare.profu.info

Sign up to vote on this title
UsefulNot useful