operacje na plikach tekstowych zadania


Zad 1

program Zad1;

{$APPTYPE CONSOLE}

uses
SysUtils;

var
plik1, plik2 : text;
znak : char;
sciezka1, sciezka2 : string;

procedure kopiuj(sciezka1,sciezka2 : string);
begin
assign(plik1,sciezka1);
reset(plik1);
assign(plik2,sciezka2);
rewrite(plik2);
while not eof(plik1) do
begin
while not eoln(plik1) do
begin
read(plik1,znak);
write(plik2,znak);
end;
readln(plik1); //znak konca linii
writeln(plik2);
end;
close(plik1);
close(plik2);
end;

begin
writeln('Podaj sciezke do pliku odczytu:');
readln(sciezka1);
writeln('Podaj sciezka do zapisu:');
readln(sciezka2);
kopiuj(sciezka1,sciezka2);
writeln('Skopiowano');

readln;
end.

#############################

Zad 2

program Zad2;

{$APPTYPE CONSOLE}

uses
SysUtils;

var
plik1, plik2 : text;
linia : string;
sciezka1, sciezka2 : string;

procedure kopiuj(sciezka1,sciezka2 : string);
begin
assign(plik1,sciezka1);
reset(plik1);
assign(plik2,sciezka2);
rewrite(plik2);
while not eof(plik1) do
begin
while not eoln(plik1) do
begin
read(plik1,linia);
write(plik2,linia);
end;
readln(plik1); //znak konca linii
writeln(plik2);
end;
close(plik1);
close(plik2);
end;

begin
writeln('Podaj sciezke do pliku odczytu:');
readln(sciezka1);
writeln('Podaj sciezka do zapisu:');
readln(sciezka2);
kopiuj(sciezka1,sciezka2);
writeln('Skopiowano');

readln;
end.

#############################

Zad 3

program Zad3;

{$APPTYPE CONSOLE}

uses
SysUtils;

var
plik1 : text;
znak : char;
sciezka1 : string;
i : integer;

procedure licz(sciezka1 : string);
begin
i:=0;
assign(plik1,sciezka1);
reset(plik1);
while not eof(plik1) do
begin
while not eoln(plik1) do
begin
read(plik1,znak);
i:=i+1;
end;
readln(plik1); //wczytujemy znak konca linii
end;
writeln('Plik zawiera ', i , ' znakow.');
close(plik1);
end;

begin
writeln('Podaj sciezke do pliku odczytu:');
readln(sciezka1);
licz(sciezka1);
writeln('Policzylem.');

readln;
end.

#############################

Zad 4

program Zad4;

{$APPTYPE CONSOLE}

uses
SysUtils;

var
plik : text;
linia, sciezka : string;
wiersz : integer;

procedure licz(sciezka : string);
begin
assign(plik,sciezka);
reset(plik);
wiersz:=0;
while not eof(plik) do
begin
while not eoln(plik) do
begin
read(plik,linia);
wiersz:=wiersz+1;
end;
readln(plik); //znak konca linii
end;
close(plik);
writeln('Plik zawiera ',wiersz,' linii.');
end;

begin
writeln('Podaj sciezke do pliku w ktorym chcesz policzyc ilosc linii:');
readln(sciezka);
licz(sciezka);
writeln('Policzono...');

readln;
end.

#############################

Zad 5

program Zad5;

{$APPTYPE CONSOLE}

uses
SysUtils;

var
plik : text;
znak : char;
sciezka : string;
slowo,i : integer;
tab : array[1..300] of char;

procedure licz(sciezka : string);
begin
assign(plik,sciezka);
reset(plik);
slowo:=0;
i:=1;
while not eof(plik) do
begin
while not eoln(plik) do
begin
read(plik,tab[i]);
i:=i+1;
if ((tab[i-1]=' ') or (tab[i-1]=#9)) then slowo:=slowo+1;
end;
readln(plik); //znak konca linii
slowo:=slowo+1;
end;
close(plik);
writeln('Plik zawiera ',slowo,' slow.');
end;

begin
writeln('Podaj sciezke do pliku odczytu:');
readln(sciezka);
licz(sciezka);
writeln('Policzono...');

readln;
end.

#############################

Zad 6

program Zad6;

{$APPTYPE CONSOLE}

uses
SysUtils;

var
plik1, plik2 : text;
znak : char;
i, MAX_i, MAX_j : integer;
sciezka1, sciezka2 : string;
tab1 : array[1..300] of char;
tab2 : array[1..300] of char;

procedure sprawdz(sciezka1,sciezka2 : string);
begin
{ Nie jestem pewien do końca o co tu chodzi w poleceniu, wiec zrobiłem taką drobną modyfikację, że po prostu podaje ile znaków jest zgodnych
MAX_i:=0;
MAX_j:=0;
assign(plik1,sciezka1);
reset(plik1);
assign(plik2,sciezka2);
reset(plik2);
{ LICZYMY PLIK PIERWSZY (i) }
while not eof(plik1) do
begin
while not eoln(plik1) do
begin
read(plik1,tab1[MAX_i]);
MAX_i:=MAX_i+1;
end;
readln(plik1); //wczytujemy znak konca linii
end;
{ LICZYMY PLIK DRUGI (j) }
while not eof(plik2) do
begin
while not eoln(plik2) do
begin
read(plik2,tab2[MAX_j]);
MAX_j:=MAX_j+1;
end;
readln(plik2); //wczytujemy znak konca linii
end;

writeln('Plik numer 1 zawiera ', MAX_i , ' znakow.');
writeln('Plik numer 2 zawiera ', MAX_j , ' znakow.');

{ OPERUJEMY NA TABLICACH }
i:=0;
while((tab1[i]=tab2[i]) and (i i:=i+1;
writeln('Pierwsze ', i ,' znakow jest takie samo w obydwu plikach.');
writeln('Pozostale ',MAX_i,' znakow w pierwszym pliku 1 rozni sie od pozostalych ', MAX_j ,' znakow w pliku 2.
close(plik1);
close(plik2);
end;

begin
writeln('Podaj sciezke do pliku pierwszego:');
readln(sciezka1);
writeln('Podaj sciezke do pliku drugiego:');
readln(sciezka2);
sprawdz(sciezka1,sciezka2);
writeln('Policzylem.');

readln;
end.

#############################



Wyszukiwarka

Podobne podstrony:
operacje na plikach tekstowych
34 Pliki Operacje na plikach w Pascalu
operacje na plikach
Asembler Operacje na Plikach
Operacje na plikach multimedialnych
Lab Operacje na plikach
Lab Operacje na plikach
Operacje na plikach
operacje na plikach
operacje na rekordach zadania
na egzamin przykladowe zadania
wycena operacji na rachunku
operacje na ramkach danych solucja
Operacje na histogramie
670 Przekwalifikowanie leasingu operacyjnego na finansowy
Kurs CorelDRAW 12 Część 4 Zaawansowane operacje na obiektach
Matlab operacje na macierzach, skrypty
operacje na rekordach

więcej podobnych podstron