- •Кафедра современных технологий программирования
- •Вычисление определённых интегралов с использованием OpenGl api
- •Содержание
- •Глава 1. Проектирование реализации приложения 4
- •Глава 2. Программная реализация приложения 6
- •Введение
- •Глава 1
- •Выбор технологии и языка программирования.
- •Цветовой портрет художественного произведения.
- •1.3. Задача анализа использования цвета в произведениях художественной литературы
- •Глава 2
- •2.1. Алгоритм обработки текста и построения цветового портрета
- •2.2. Реализация программы
Глава 1
Выбор технологии и языка программирования.
Для программной реализации поставленной задачи был выбран язык программирования C++, использованы возможности стандартной библиотеки шаблонов STL. Данная библиотека позволяет достигнуть высокого уровня модульности программы, что положительно скажется на ее дальнейшем сопровождении и обслуживании.
Си++ (англ. C++) — компилируемый строго типизированный язык программирования общего назначения. Поддерживает разные парадигмы программирования: процедурную, обобщённую, функциональную; наибольшее внимание уделено поддержке объектно-ориентированного программирования. В этом языке, в сравнении со своим предшественником – языком С, – наибольшее внимание уделено поддержке объектно-ориентированного программирования.
Программа должна осуществлять анализ текста, демонстрировать использование тех или иных цветов. Исходными данными для построения алгоритма являются сам текст произведения, и словарь, по которому и будет осуществляться проверка слов на «наличие в них цвета». (Словарь корней цветных слов, по которому собственно и осуществляется поиск). Все документы в формате txt.
Используемыми структурами данных являются контейнеры, реализованные в библиотеке STL, а именно string, vector. string – это контейнер, содержащий в себе массив элементов типа «char», представляющий собой единую строку. Этот контейнер идеально подходит для работы с текстом. Vector - это массив переменной длины, размер которого определяется объемом исходного текста произведения.
В результате использования программа должна предоставлять пользователю впечатление о некотором художественном произведении на основании визуального восприятия цвета.
Цветовой портрет художественного произведения.
Авторы в своих произведениях очень широко используют цвет, так как он помогает им отразить эмоциональный настрой героев или обстановки, создать необходимую атмосферу событий.
Цветовым портретом художественного произведения считается весь спектр цветов, используемых в тексте. Изображение этого спектра можно представить по-разному. Например, можно, следуя тексту, отмечать все «цветные слова» и считать количество их употреблений для каждого цвета. На основе полученных данных строится цветовая схема или диаграмма, отражающая употребление того или иного цвета. Приведем некоторые пример такого портрета (рис. 1).
рис. 1 Реализация алгоритма последовательного выделения цветов (Н. В. Гоголь – «Мертвые души»)
1.3. Задача анализа использования цвета в произведениях художественной литературы
Для реализации данной идеи была поставлена задача разработки метода поиска слов, основа которых содержит корни слов, обозначающих цвет. Разработанный мной алгоритм основывается на проверке каждого слова текста на присутствие в нем этих корней. Результат проверки сохраняется в соответствующей структуре для дальнейшей обработки.
Глава 2
2.1. Алгоритм обработки текста и построения цветового портрета
Рассмотрим реализацию алгоритма и механизм работы разработанного приложения. При запуске приложения содержимое словаря, находящегося в текстовом файле, заносится в определенную структуру данных: словарь корней заносится в контейнер vector, Сам исходный текст художественного произведения разбивается на слова, которые также хранятся в контейнере vector.
Далее алгоритм выполняет итерацию по всем элементам вектора слов и удаляет после каждого слова знак препинания, если таковой есть. Затем алгоритм в каждом слове пытается выделить его корень. Полученный корень сравнивается с корнями слов, обозначающих цвет. Если корни совпадают, для него проводится поиск соответствия определенного цвета, и затем итоговый цвет попадает в еще один контейнер vector – line.
После обработки всего вектора слов, формируется новый вектор, в который записаны все цвета в той последовательности, в которой они употребляются в тексте произведения. Полученные данные используются как входные параметры функций, позволяющих получить графическую визуализацию портрета произведения.
