Advertisement
nolog1n

Untitled

Mar 3rd, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.85 KB | None | 0 0
  1. Написать конфигурируемую программу для работы со словарями.
  2. Программа поддерживает несколько форматов файлов, которые при этом могут иметь различные расширения.
  3.  
  4. Условно назовём их f1 и ctx.
  5. f1 хранит на каждой строке слово и на следующей строке определение. У каждого слова может быть несколько определений, тогда пар <слово, определение> несколько.
  6.  
  7. Пример:
  8. mean
  9. Have as a consequence or result.
  10. image
  11. a picture in your mind or an idea of how someone or something is
  12. image
  13. the way that something or someone is thought of by other people
  14. image
  15. any picture, especially one formed by a mirror or a lens
  16.  
  17. Формат ctx хранит на первой строке исходное предложение, на второй - предложение, разделенное пробелами на слова (токенизированное):
  18. States working in partnership with the United Nations, the private sector and civil society can translate the goals into reality.
  19. States working in partnership with the United Nations the private sector and civil society can translate the goals into reality
  20. It can translate words from one language to another and pronounce them.
  21. It can translate words from one language to another and pronounce them
  22.  
  23. Программа ищет слова по всем зарегистрированным в файле конфигурации (program.conf) файлам.
  24. Файл конфигурации имеет вид:
  25. files: file1;file2;file3 #список файлов, отделенный символом ;
  26. f1_extensions: f1;f1d;dict #список расширений для формата f1
  27. ctx_extensions: ctx;context;cdict #список расширений для формата cts
  28.  
  29. Если файл конфигурации не найден, программа должна использовать зашитую в код конфигурацию-по-умолчанию, в которой упомянуты файлы по-умолчанию (default_f1.dict, default_context.сdict). (Реализуйте сначала такой вид конфига, чтобы не отвлекаться раньше времени на чтение файла).
  30.  
  31. Ошибка при конфигурировании программы (например, наличие в списке файлов, которые по разрешению не принадлежат ни одному формату) должна завершать её работу.
  32.  
  33. После запуска программа ожидает ввод слова и начинает искать его по файлам. Ошибки возникающие в данном режиме должны возвращать нас обратно к вводу, с выводом предупреждений. Примеры ошибок: отсутствие файлов, невозможность прочитать файл в соответствии с его форматом.
  34.  
  35. Использовать наследование и полиморфизм для обработки разных форматов файлов и двух видов конфигов.
  36.  
  37. Декомпозировать программу и минимизировать зависимости между её частями. Например, функция, которая ищет определения слов, не должна их выводить, а должна возвращать их на верхний уровень, который сам разберется, что с ними делать.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement