Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Написать конфигурируемую программу для работы со словарями.
- Программа поддерживает несколько форматов файлов, которые при этом могут иметь различные расширения.
- Условно назовём их f1 и ctx.
- f1 хранит на каждой строке слово и на следующей строке определение. У каждого слова может быть несколько определений, тогда пар <слово, определение> несколько.
- Пример:
- mean
- Have as a consequence or result.
- image
- a picture in your mind or an idea of how someone or something is
- image
- the way that something or someone is thought of by other people
- image
- any picture, especially one formed by a mirror or a lens
- Формат ctx хранит на первой строке исходное предложение, на второй - предложение, разделенное пробелами на слова (токенизированное):
- States working in partnership with the United Nations, the private sector and civil society can translate the goals into reality.
- States working in partnership with the United Nations the private sector and civil society can translate the goals into reality
- It can translate words from one language to another and pronounce them.
- It can translate words from one language to another and pronounce them
- Программа ищет слова по всем зарегистрированным в файле конфигурации (program.conf) файлам.
- Файл конфигурации имеет вид:
- files: file1;file2;file3 #список файлов, отделенный символом ;
- f1_extensions: f1;f1d;dict #список расширений для формата f1
- ctx_extensions: ctx;context;cdict #список расширений для формата cts
- Если файл конфигурации не найден, программа должна использовать зашитую в код конфигурацию-по-умолчанию, в которой упомянуты файлы по-умолчанию (default_f1.dict, default_context.сdict). (Реализуйте сначала такой вид конфига, чтобы не отвлекаться раньше времени на чтение файла).
- Ошибка при конфигурировании программы (например, наличие в списке файлов, которые по разрешению не принадлежат ни одному формату) должна завершать её работу.
- После запуска программа ожидает ввод слова и начинает искать его по файлам. Ошибки возникающие в данном режиме должны возвращать нас обратно к вводу, с выводом предупреждений. Примеры ошибок: отсутствие файлов, невозможность прочитать файл в соответствии с его форматом.
- Использовать наследование и полиморфизм для обработки разных форматов файлов и двух видов конфигов.
- Декомпозировать программу и минимизировать зависимости между её частями. Например, функция, которая ищет определения слов, не должна их выводить, а должна возвращать их на верхний уровень, который сам разберется, что с ними делать.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement