Skip to content

CreatorKh/prog-2020-text-index-CreatorKh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект «Составление индекса для текстового файла»

Описание предметной области

Этот проект посвящён обработке текстовых файлов (в формате txt). Текстовые файлы состоят из строк, строки собираются в страницы (можно считать, что каждая страница содержит ровно 45 строк, пустые строки при этом не учитываются).

Индексом текстового файла называется структура данных, позволяющая по заданному слову определять номера страниц, на которых оно встречается. Слово может встречаться на соответствующей странице несколько раз в одной или разных словоформах. В индексе должно учитываться каждое из таких вхождений. Предлоги, союзы, местоимения и междометия при составлении индекса можно игнорировать. Словоформы одного слова (например, слова, отличающиеся падежными окончаниями) можно обрабатывать с помощью словаря словоформ.

Пример текстового файла можно найти в подкаталоге data. Можно также работать с любыми другими текстовыми файлами, содержащими связные тексты на русском языке.

Задание

Напишите программу, работающую в трёх режимах:

  1. Составление индекса по заданному файлу в формате txt.
  2. Вывод информации по заданному файлу с индексом текста:
  • список из заданного количества наиболее часто встречающихся слов;
  • полная информация об использовании заданного слова (количество вхождений, использованные словоформы, номера страниц);
  • данные по использованию слов из заданной группы (например, предметы мебели, глаголы движения и пр.).
  1. Вывод всех строк, в которых имеется заданное слово (в любой из словоформ).

Требования к реализации

  • Язык программирования: Kotlin (СП), Python (МААД).
  • Точка входа в программу: src/TextIndex.kt (СП), src/text_index.py (МААД).
  • Интерфейс: чтение данных из файлов, передача имён файлов и других параметров через командную строку (консольный ввод не допускается).
  • Модульное тестирование: необходимы тесты для отдельных функций.

Дополнительные требования

  • Документация: описание порядка использования программы, форматов входных данных и результатов (файл README.md).
  • Примеры для внешнего тестирования: программа должна сопровождаться примерами входных данных (файлы в подкаталоге data).
  • Разработка должна вестись регулярно, история коммитов должна отражать процесс разработки, сообщения коммитов рекомендуется писать на английском языке (но сообщения на русском языке также допускаются).

Самостоятельно принимаемые решения

  • Структура и формат хранения индекса.
  • Способы организации тестирования.
  • Модульная структура, разбиение на функции.

Сроки выполнения и порядок оценивания

  • Мягкий дедлайн: 15 октября, 23:55.
  • Жёсткий дедлайн: спустя 4 полных дня с момента получения результатов первого обзора кода.
  • Критерии оценивания."# prog-2020-text-index" "# prog-2020-text-index"

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages