Изучение методов работы и взаимодействия с базами данных. Рассмотрение алгоритма Рабина–Карпа для определения плагиата. Разработка программы для оценки схожести текстов, методика ее использования. Тестирование программы с помощью набора тест-кейсов.
Аннотация к работе
Плагиат может быть нарушением авторско-правового законодательства и патентного законодательства и в качестве таковых может повлечь за собой юридическую ответственность. Плагиат выражается в публикации под своим именем чужого произведения, а также в заимствовании фрагментов чужих произведений без указания источника заимствования. Обязательным признаком плагиата является присвоение авторства, так как неправомерное использование, опубликование, копирование и т. п. произведения, охраняемого авторским правом, само по себе является не плагиатом, а другим видом нарушения авторского права, часто называемым «пиратством». «Пиратство» становится плагиатом при неправомерном использовании результатов интеллектуального труда и присвоении публикующим лицом авторства. Так же от плагиата следует отличать соблюдение канонов и традиций, работу в рамках стилистических стандартов и использование шаблонов.В настоящее время существует достаточно большое количество сервисов и программ, позволяющих каким-либо образом проверить схожесть двух текстов. Сервис www.diffchecker.com позволяет осуществлять онлайн проверку двух текстов, пример работы представлен на рисунке 1.1. Программа WINMERGE - это бесплатная кроссплатформенная утилита для сравнения файлов, ее можно использовать на различных операционных систем, начиная с Windows 98. Кроме сравнения содержимого файлов программа TEXTDIFF может сделать сравнивать два каталога, выделяя цветами одинаковые и различающиеся папки и файлы сравниваемых директорий. Скроллинг строк в области просмотра одного файла одновременно ведет к автоматическому скроллингу строчек другого файла, и пользователь видит в какой строке между файлами есть различия.Анализ литературы и предметной области показали, что по теме курсового проекта уже было проведено большое количество научных исследований и разработок.Алгоритм Рабина-Карпа - это алгоритм поиска строки, который ищет шаблон, то есть подстроку, в тексте, используя хеширование. Алгоритм редко используется для поиска одиночного шаблона, но имеет значительную теоретическую важность и очень эффективен в поиске совпадений множественных шаблонов. Для текста длины n и шаблона длины m его среднее и лучшее время исполнения равно O(n), но в худшем случае он имеет эффективность O(nm), что является одной из причин того, почему он не слишком широко используется. Однако алгоритм имеет уникальную особенность находить любую из k строк в среднем менее чем за время O(n) независимо от размера k. 23590(mod 13)=8, 35902(mod 13)=9, 59023(mod 13)=9, … k1=314157(mod 13) - вхождение образца, k2=673997(mod 13) - холостое срабатывание.Программное средство предназначено для осуществления оценки похожести текстов. Программное средство должно обеспечивать выполнение следующих функций: - сравнение текстов; возможность сохранять проверяемы тексты; Программное средство должно иметь приятный и интуитивно-понятный пользователю интерфейс. Входными данными является текст, который может быть введен как с клавиатуры, так и загружен из текстового файла с жесткого диска.Программное средство представляет собой приложение из одной формы, которая содержит главную вкладку с интерфейсом для сравнения текстов и несколько вспомогательных вкладок с различной информацией. Структура и модули, используемые в приложении, представлены на рисунке 3.1. Пользователь может вводить текст вручную или воспользоваться кнопками, чтобы открытия файлов. На вкладке информация сохраняются все последние сравнения текстов с дополнительной информацией.В сравнении с его предшественником - языком C, - наибольшее внимание уделено поддержке объектно-ориентированного и обобщенного программирования. C широко используется для разработки программного обеспечения, являясь одним из самых популярных языков программирования. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (игр). Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (например, видеоигры). Среда разработки C Builder представляет собой SDI-приложение, главное окно которого содержит настраиваемую инструментальную панель (слева) и палитру компонентов (справа).Для хранения информации о последних сравнения текстов используется одна таблица. На рисунке 3.2 представлена обобщенная схема алгоритма базы данных. Тип данных таблицы Отчет предоставленные в таблице ниже.Общий алгоритм работы программы представлен на рисунке 3.3. При запуске программы, происходит подключение к базе данных, после чего перед пользователем открывается главная форма приложения в активной вкладке «Главная».
План
Содержание
Введение
1. Анализ предметной области
1.1 Анализ существующих аналогов
1.2 Постановка задачи
2. Математические модели и методы, положенные в основу программного средства и теоретические исследования
3. Разработка программного средства
3.1 Разработка спецификаций требований
3.2 Разработка архитектуры программного средства
3.3 Обоснование выбора языка программирования
3.4 Разработка модели базы данных
3.5 Разработка схемы алгоритма построения гистограммы