Dze je subor www.TrSek.com/zadania/pole_cis.pas{ POLE_CIS.PAS Copyright (c) TrSek alias Zdeno Sekerak }
{ Je dany textovy subor f, ktoreho prvky su cele cisla. Urcite }
{ - pocet vsetkych parnych prvkov v subore f }
{ - pocet vsetkych prvkov, ktore su druhymi mocninami neparnych cisel}
{ - pocet vsetkych prvkov, ktore su dvojnasobkom neparnych cisel }
{ }
{ Datum:23.05.2004 http://www.trsek.com }
program pole_cisel;
var f:text;
pom:real;
cislo:integer;
pc:integer; { pocet parnych }
po:integer; { pocet ktore su druhymi mocninami neparnych }
pd:integer; { pocet ktore su dvojnasobkom neparnych }
{ Urci ci je cislo parne/neparne }
function JeNeparne(cislo:integer):boolean;
begin
if(round(cislo/2)=cislo/2)then
JeNeparne:=false
else
JeNeparne:=true;
end;
begin
WriteLn('Spracujem textovy subor ktory obsahuje cisla.');
WriteLn('Spracujem subor Pole_cis.txt');
Assign(f, 'Pole_cis.txt');
ReSet(f);
{ znuluje pocitadla }
pc:=0;
po:=0;
pd:=0;
while not Eof(F) do
begin
ReadLn(f, cislo);
{ test je neparne }
if( JeNeparne(cislo)) then inc(pc);
{ test je mocninou neparneho }
pom:=sqrt(cislo);
if( int(pom)=pom) and (JeNeparne(trunc(pom))) then inc(po);
{ test je dvojnasobkom neparnych }
pom:=cislo/2;
if( int(pom)=pom) and (JeNeparne(trunc(pom))) then inc(pd);
end;
Close(f);
{ vysledok }
WriteLn('Pocet neparnych cisel v subore je:',pc);
WriteLn('Pocet cisel ktore su druhymi mocninami neparnych cisel je:',po);
WriteLn('Pocet cisel ktore su dvojnasobkom neparnych cisel je:',pd);
ReadLn;
end.