E01 Verificador ortográfico
Escreva um programa chamado Ortho.java que pode ser usado para fazer verificações ortográficas. Por exemplo, considere os arquivos
https://www.ime.usp.br/~yoshi/DATA/Gutenberg/mobydick.txt
https://www.ime.usp.br/~yoshi/DATA/500k_words
O primeiro é um texto que usaremos como exemplo. O segundo é o "dicionário" que usaremos. A seguir, supomos que os arquivos acima estão no diretório onde estamos trabalhando.
Suponha que executamos Ortho.java como segue:
$ java-algs4 Ortho 500k_words < mobydick.txt > moby_list.txt
O arquivo moby_list.txt resultante deve passar a conter as palavras em mobydick.txt que não ocorrem em 500k_words (veja o arquivo moby_list.txt resultante abaixo).
Observação 1. Aqui, interprete uma palavra como sendo um segmento maximal de letras.
Observação 2. Se você não encontrar uma palavra p em 500k_words, pode ser que a versão de p com todas as letras minúsculas ocorra. Por exemplo, p = "It" não ocorre no dicionário, mas "it" ocorre. Assim, "It" deve ser considerado válido. Use este algoritmo para obter exatamente o resultado em moby_list.txt abaixo ao executar o exemplo acima. Veja também o comentário colocado no Quadro de Notícias em 17/4/2021; o uso deste algoritmo é obrigatório.
Observação 3. O arquivo 500k_words está ordenado.
Observação 4. A execução acima deve demorar alguns poucos segundos.
$ time java-algs4 Ortho 500k_words < mobydick.txt > moby_list.txt
real 0m2.394s
user 0m2.841s
sys 0m0.291s
Observação 5. Você pode achar o programa GetWords.java abaixo de interesse.
- 13 abril 2021, 09:41 AM
- 13 abril 2021, 09:31 AM