Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

program TextovySoubor;

Podobné prezentace


Prezentace na téma: "program TextovySoubor;"— Transkript prezentace:

1 program TextovySoubor;
{$APPTYPE CONSOLE} //program: 4. uloha : 28. Vytvorte program, ktery ze vstupniho textoveho //souboru cte text. Na kazdem radku textoveho souboru je jedna veta. Slova ve //vete jsou oddelena jednou nebo vice mezerami. Program vytiskne zadany text, //vypocte prumerny pocet slov ve vete a vytiskne vsechny vety, ktere maji //vetsi pocet slov nez je prumerny pocet. function ZjistiPocetSlovVeVete(s:string):integer; var VeSlove:boolean; i,ps:integer; begin ps:=0; VeSlove:=false; for i:=1 to length(s) do begin if s[i] = ' ' then VeSlove:=false else if not VeSlove then begin inc(ps); VeSlove:=true; end; ZjistiPocetSlovVeVete:=ps;

2 const MaxVet=30; var f:text; i,PocetVet,PocetVsechSlov:integer; PoleVet:array[1..MaxVet] of string; PoctySlov:array[1..MaxVet] of integer; PrumernyPocetSlov:real; begin writeln('Nalezeni vet, ktere maji pocet slov vetsi nez prumerny.'); writeln('********************************************************'); assign(f,'data.txt'); reset(f); PocetVet:=0;PocetVsechSlov:=0; // načtení souboru while not eof(f) do begin inc(PocetVet); readln(f,PoleVet[PocetVet]); end; // vytištìní souboru writeln('Zadany text:'); writeln; for i:=1 to PocetVet do writeln(PoleVet[i]); writeln; // vypočet průmerného počtu slov for i:=1 to PocetVet do begin PoctySlov[i]:=ZjistiPocetSlovVeVete(PoleVet[i]); PocetVsechSlov:=PocetVsechSlov+PoctySlov[i];

3 PrumernyPocetSlov:=PocetVsechSlov/PocetVet;
// tisk výsledku writeln('Prumerny pocet slov ve vete: ',PrumernyPocetSlov:3:1); writeln; writeln('Vety, ktere maji vetsi pocet slov nez je prumer:'); for i:=1 to PocetVet do if PoctySlov[i]>PrumernyPocetSlov then writeln(PoleVet[i]); readln; end.

4 program TextovySoubor2;
{$APPTYPE CONSOLE} //program : 4. uloha : 21. //Vytvorte program, ktery ze vstupniho souboru cte text slozeny z vet ukonce- //nych teckou. Slova ve vete jsou oddelena jednou nebo vice mezerami. Program //vytiskne zadany text, zjisti pocet slov zacinajicich samohlaskou a je-li //jich vice nez slov zacinajicich souhlaskou vytiskne je, jinak vytiskne //vsechna slova zacinajici souhlaskou. const MaxSlov=200; var f:text; zn:char; s:string; PoleSlov:array[1..MaxSlov] of string[20]; VeSlove,ViceSamohlasek:boolean; Oddelovace,Samohlasky:set of char; i,PocetSlov, PocetSlovZacinajicichSamohlaskou,PocetSlovZacinajicichSouhlaskou:integer; begin writeln('Zjisteni zda je vice slov zacinajicich na samohlasku nebo souhlasku.'); writeln('*************************************************************** *****'); writeln; writeln('Zadany soubor:');

5 // načtení slov assign(f,'data2.txt'); reset(f); for i:=1 to MaxSlov do PoleSlov[i]:=''; VeSlove:=false; Oddelovace:=[' ','.',',',#13,#10]; while not eof(f) do begin read(f,zn); write(zn); if zn in Oddelovace then VeSlove:=false else begin if not VeSlove then begin VeSlove:=true; inc(PocetSlov); end; PoleSlov[PocetSlov]:=PoleSlov[PocetSlov]+zn; end writeln;writeln;

6 // zpracování slov Samohlasky:=['a','e','i','o','u','A','E','I','O','U']; PocetSlovZacinajicichSamohlaskou:=0; PocetSlovZacinajicichSouhlaskou:=0; for i:=1 to PocetSlov do begin if PoleSlov[i][1] in Samohlasky then inc(PocetSlovZacinajicichSamohlaskou) else inc(PocetSlovZacinajicichSouhlaskou); end; if PocetSlovZacinajicichSamohlaskou>PocetSlovZacinajicichSouhlaskou then begin ViceSamohlasek:=true; writeln('Slov zacinajicich na samohlasku je vice') end else begin ViceSamohlasek:=false; writeln('Slov zacinajicich na souhlasku je vice') writeln; writeln('Jsou to slova:'); writeln; for i:=1 to PocetSlov do if (PoleSlov[i][1] in Samohlasky)=ViceSamohlasek then writeln(PoleSlov[i]); readln; end.


Stáhnout ppt "program TextovySoubor;"

Podobné prezentace


Reklamy Google