{ ZATVORKY.PAS Copyright (c) TrSek alias Zdeno Sekerak } { Je dany textovy subor f, ktory obsahuje program v jazyku pascal. } { Vytvorte program, ktory preveri, ci pocty okruchlych zatvoriek } { lavych a pravych su rovnake vytvorte program, ktory preveri, ci } { pocty prikazov begin a end su rovnake } { } { Datum:23.05.2004 http://www.trsek.com } program zatvorky; var f:file of char; ch:char; meno:string; slovo:string; zatv:integer; beg:integer; begin WriteLn('Zistim ci pocet lavych a pravych zatvoriek je rovnaky.'); Write('Zadaj meno suboru ktory mam preverit:'); ReadLn(meno); Assign(f,meno); ReSet(f); while not(Eof(f)) do begin Read(f,ch); { nasiel zatvorky lavu, pravu } if( ch='(')then inc(zatv); if( ch=')')then dec(zatv); { pamata iba poslednych 5 znakov } slovo:=slovo+Upcase(ch); { iba 5 } if( length(slovo)>5)then delete(slovo,1,1); if( slovo='BEGIN') then inc(beg); if( copy(slovo,3,3)='END')then dec(beg); end; Close(f); { aky je result } Write('Subor ',meno,' '); if(zatv=0)then WriteLn('ma spravny pocet zatvoriek') else WriteLn('nema spravny pocet zatvoriek'); Write('Subor ',meno,' '); if(beg=0)then WriteLn('ma spravny pocet begin-end') else WriteLn('nema spravny pocet begin-end'); ReadLn; end.