var f: text; procedure OtevriSoubor( jmeno: string ); begin assign( f, jmeno ); reset( f ) end; procedure ZavriSoubor; begin close ( f ) end; function PrectiSlovo( var s: string ): boolean; function JePismeno( c: char ): boolean; begin JePismeno := ((c>='a') and (c<='z')) or ((c>='A') and (c<='Z')) end; var c: char; begin read( f, c ); while not eof(f) and not JePismeno(c) do read( f, c ); s := ''; { POZOR! CHYBA!!! } while not eof(f) and JePismeno( c ) do begin s := s + c; read( f, c ) end; PrectiSlovo := s<>'' end; const MAX = 100; var slova: array[1..MAX] of string[50]; pocty: array[1..MAX] of integer; pocet: integer; procedure PridejSlovoDoSeznamu( s: string ); var i: integer; begin for i:=1 to pocet do if s=slova[i] then begin Inc( pocty[i] ); exit; end; Inc( pocet ); slova[ pocet ] := s; pocty[ pocet ] := 1 end; procedure NajdiVypisAZnicNejcastejciSlovo; var i,maxi: integer; begin maxi := 1; for i:=2 to pocet do if pocty[i] > pocty[ maxi ] then maxi := i; writeln( pocty[ maxi ]: 4, slova[ maxi ] ); pocty[ maxi ] := -1 end; procedure Zpracuj; var s: string; i: integer; begin pocet :=0; while PrectiSlovo( s ) do begin PridejSlovoDoSeznamu( s ); {} { writeln( '>',s,'<' ) {} end; for i:=1 to 20 do NajdiVypisAZnicNejcastejciSlovo end; begin OtevriSoubor( '171030.pas' ); Zpracuj; ZavriSoubor end. begin writeln( PI:10:8 ) end. function nedef : integer; begin nedef := 7 end; begin writeln( nedef ) end. procedure VytiskniRadkuX; begin writeln( 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' ) end; procedure VytiskniNadpis; begin writeln( 'X 1 X 1 2 3 4 5 6 7 8 9 10 X' ) end; procedure VytiskniNasobky( k: integer ); var i: integer; begin write( 'X ',k:2,' X' ); for i:=1 to 10 do write( i*k:4 ); writeln( ' X' ) end; var i: integer; begin writeln; VytiskniRadkuX; VytiskniNadpis; VytiskniRadkuX; for i:=1 to 10 do VytiskniNasobky( i ); VytiskniRadkuX; end.