Problem A - Rozbiór addytywny
Problem B - Automatyczne poprawianie pisowni
Problem C - Owady
Problem D - Kod rozwijanych kwadratów
Problem E - Wybory do honorowego stowarzyszenia
Problem F - Optymalne kody przedrostkowe
Problem G - Zliczanie punktów w brydżu

 

 

 

1984

Problem B - Automatyczne poprawianie pisowni


Opis

Badania pokazały, że najpowszechniejszymi błędami pisowni popełnianymi przez użytkowników edytorów tekstowych lub systemów przetwarzania tekstów są często błędy przy wpisywaniu, a szczególnie:

  1. Zamiana miejscami dwóch sąsiednich liter.
  2. Wpisanie niewłaściwej litery.
  3. Pominięcie jednej litery.

Przy pomocy słownika system przetwarzania tekstu może często wykryć i automatycznie poprawić tego rodzaju błędy pisowni. Twoim zadaniem jest napisanie programu, który wykonuje część pracy związanej z wyszukiwaniem błędów pisowni, a dokładniej ma on rozpoznawać trzy rodzaje błędów, które przedstawiliśmy powyżej. W tym zadaniu "słowo" będzie złożone z od 1 do 10 znaków dużych liter, a każde słowo wejściowe będzie się rozpoczynało od nowego wiersza w pierwszej kolumnie.

Na wejściu najpierw zostanie podane do 100 słów, które będą stanowiły "słownik". Słowa należące do słownika zostaną zakończone przez wiersz zawierający w pierwszej kolumnie znak gwiazdki – *.

Po wierszach słownika pojawią się wiersze ze słowami, które należy sprawdzić. W każdym z tych wierszy będzie tylko jedno słowo. Ciąg wierszy słów będzie zakończony wierszem zawierającym gwiazdkę – *. Dla każdego ze słów najpierw wypisz sprawdzane słowo na początku nowego wiersza, a następnie wypisz na jego temat jedną z poniższych wiadomości:

Jeśli słowo występuje w słowniku bez błędów, wypisz CORRECT i przejdź do przetwarzania kolejnego słowa.

Jeśli słowa nie ma w słowniku, to znajdź w nim wszystkie słowa, dla których dane słowo wejściowe może błędem pisowni. Wypisz odpowiednią ilość następujących wiadomości:

TWO LETTERS TRANSPOSED IN słowo
ONE LETTER DIFFRENT FROM słowo
ONE LETTER OMITTED FROM słowo

Zauważ, że może być potrzebne dwie lub więcej tych wiadomości oraz jedna wiadomość może stosować się do więcej niż jednego słowa ze słownika. Wypisz wszystkie wiadomości, które mają zastosowanie. W każdym przypadku "słowo" w powyższych wiadomościach oznacza słowo ze słownika. Wiadomości te powinny być wypisywane w osobnych wierszach.

Jeśli nie można zastosować żadnej z powyższych wiadomości, wypisz UNKNOWN.

Wszystkie wiadomości powinny być wypisywane w wierszu z odstępem 4 spacji.

 

 


   I Liceum Ogólnokształcące   
im. Kazimierza Brodzińskiego
w Tarnowie

©2018 mgr Jerzy Wałaszek

Dokument ten rozpowszechniany jest zgodnie z zasadami licencji
GNU Free Documentation License.

Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl

W artykułach serwisu są używane cookies. Jeśli nie chcesz ich otrzymywać,
zablokuj je w swojej przeglądarce.
Informacje dodatkowe