# $indeks = przeszukiwanie_binarne( \@tablica, $slowo ) 
# @tablica to uoona alfabetycznie lista acuchw (kady maymi literami). 
#   $slowo to poszukiwane sowo, ktre moe znajdowa si na licie. 
#   procedura przeszukiwanie_binarne() zwraca indeks tabeli $tablica[$indeks], 
#   ktry odpowiada poszukiwanemu sowu $slowo.

sub przeszukiwanie_binarne {
    my ($tablica, $slowo) = @_;
    my ($pocz, $koniec) = ( 0, @$tablica - 1 );

    while ( $pocz <= $koniec ) {              # Gdy okno jest otwarte
        my $try = int( ($pocz+$koniec)/2 );      # Sprawd rodkowy element
        $pocz  = $try+1, next if $tablica->[$try] lt $slowo; # Przesu pocztek 
        $koniec = $try-1, next if $tablica->[$try] gt $slowo; # Cofnij koniec 

        return $try;     # Znalelimy sowo!
    }
    return;              # Sowa nie ma w tablicy.
}

