Znajdywacz słów

Program wydawać się może, że bardziej przydatny byłby krzyżowkowiczowi, niż elektronikowi-hobbyście, ale pozory mylą. Jak wiadomo, na wyświetlaczach 7-segmentowych możemy nie tylko przedstawiać cyfry, ale także coś, co wygląda jak litery. Znalazłem na Wikipedii spis wszystkich możliwych kombinacji segmentów i sporządziłem na tej podstawię listę liter, które można wyświetlić na prostym wyświetlaczu: ABCDEFGHIJLŁNOPRSUYZ. Zaciekawiło mnie ile słów mogę zbudować z tak ograniczonej puli.

Napisałem zatem program, który bada listę istniejących słów pod kątem występowania w niej dozwolonych liter. Użyłem listy PWN-u, pod adresem http://www.sjp.pl/slownik/po.phtml. Ma ona kodowanie windows-1250, ale możemy użyć każdej innej, np. w UTF-8 - ważne, żeby miała po prostu zapisane słowo pod słowem (żadnych przecinków, tabulatorów itp.). Listę wynikowych słów program zapisuje do pliku (bo może ich być bardzo dużo).

Program jest w wersji konsolowej dla Windows. Wymaga .NET 4.0, ale pewnie jest on już zainstalowany w Twoim komputerze.

Z kopytka powstaje toyota i 73 inne słowa.

Oto lista parametrów, wyciągnięta z pomocy:

findwords -d PlikSłownika -l ListaLiter [-e Kodowanie] [-o PlikWyjściowy]
Gdzie:
-d: ścieżka do pliku słownika, gdzie każde słowo jest w kolejnej linii
-l: lista liter, podana jednym ciągiem
-e: kodowanie słownika (w formie takiej, jak wpisuje się w HTML, np. UTF-8).
    Jeśli nie podano, Windows-1250 - typowe kodowanie listy słów PWN-u
-o: ścieżka do pliku wyjściowego.
    Jeśli nie podano, zostanie użyta nazwa słowa.txt

np.
findwords -d słowa-win.txt -e UTF-8 -l ABCDEFGHIJLNOPSUYZ
          -o "%HOMEDRIVE%%HOMEPATH%\Desktop\7segment.txt"

Program operuje równolegle na wszystkich możliwych procesorach, więc wyszukiwanie słów odbywa się całkiem szybko - zwykle to kilka-kilkanaście sekund. Podsumowując, wynik eksperymentu trochę mnie zawstydził - ja przez minutę potrafiłem wymyślić jedynie kilka słów, które da się ułożyć z tych liter, a komputer znalazł ich kilkadziesiąt tysięcy i to w 8 sekund :D Tak więc aplikację uznaję za przydatną.

Link do programu:
http://www.mediafire.com/?84g1c1dj905jz7b

Link do list słów autorstwa PWN:
http://www.mediafire.com/?d0bq97g7rcbulq3


0 komentarze:

Prześlij komentarz