home *** CD-ROM | disk | FTP | other *** search
- Reseni ulohy c. 9 (27.07.98)
- ============================
-
- Program Cetnost_znaku;
-
- var soubor: string; {cteny soubor}
- a: char; {znak, jehoz vyskyt se bude pocitat}
- abs_c: LongInt; {pocet vyskytu znaku v souboru}
- rel_c: real; {procentualni zastoupeni znaku v souboru}
-
- function Cetnost(soubor: string; znak: char; var abs_cetnost: LongInt;
- var rel_cetnost: real): boolean;
-
- {funkce vezme soubor, ten otevre, provede spocitani vyskytu znak a vysledky
- vypoctu vrati do promennych abs_cetnost a rel_cetnost a funkce nakonec vraci
- TRUE - probehlo-li vse OK, jinak vrati FALSE}
-
- var t: text;
- p: char;
- celkem: LongInt;
-
- begin {zacatek funkce}
- celkem:=0;
- abs_cetnost:=0;
- assign(t,soubor);
- {$I-}
- reset(t);
- {$I+}
- if IOResult<>0 then Cetnost:=FALSE else
- begin
- while not eof(t) do
- begin
- while not eoln(t) do
- begin
- read(t,p);
- inc(celkem);
- if p=znak then inc(abs_cetnost);
- end;
- readln(t);
- end;
- rel_cetnost:=(abs_cetnost/celkem)*100;
- Cetnost:=TRUE;
- Close(t);
- end;
- end; {konec funkce Cetnost}
-
-
- BEGIN {zacatek programu}
-
- write(' Zadejte nazev textoveho souboru: '); readln(soubor);
- write(' Zadejte znak: '); readln(a);
-
- if Cetnost(soubor,a,abs_c,rel_c) then
- writeln(' Pismeno: ',a,' pocet vyskytu: ',abs_c,
- ' procentualne: ',rel_c:5:2)
- else writeln(' Chyba pri cteni souboru! ');
-
- END.
-