Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
Топ:
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
История развития методов оптимизации: теорема Куна-Таккера, метод Лагранжа, роль выпуклости в оптимизации...
Основы обеспечения единства измерений: Обеспечение единства измерений - деятельность метрологических служб, направленная на достижение...
Интересное:
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Дисциплины:
2020-03-31 | 82 |
5.00
из
|
Заказать работу |
Для того чтобы проверить правильность работы программы и оправдать выбор среды разработки, необходимо провести тестирование программы. Как говорилось при постановке задачи, программа будет извлекать из текста данные по некоторому шаблону. Для примера, создадим программу, которая будет проверять текст, и в случае если найдет конструкцию.regtest, будет извлекать слово, написанное перед точкой. Ниже представлен скриншот выполнения работы программы reg1.cpp. Данная программа будет проверять строку “one.regtesttwothree”.
Рисунок 1. Результат работы программы reg1.cpp
Данная программа работает не совсем корректно, точнее не совсем по тому плану, который был поставлен в постановке задачи. Если предоставить программе на проверку строку вроде “onetwo.regtestthree”, то результат будет следующим.
Рисунок 2. Тестирование reg1.cpp
Как видно из рис. 2, программа извлекла весь текст строки, написанный до.regtest, а по условию необходимо было извлечь лишь одно слово перед.regtest. Поэтому данная программа работает не совсем корректно. Для того, чтобы полностью удовлетворить требованиям к задаче, была разработана вторая версия программы - reg2.cpp.
Предоставим reg2.cpp строку “onetwo.regtestthree”
Рисунок 3. Результат работы reg2.cpp
Программа корректно обработала данную строку и вывела необходимые данные. Попробуем усложнить задачу, и введем строку “testmy.regtestprogramplease.regtest”.
Рисунок 4. Тестирование reg2.cpp
Как видно из рис.4 программа reg2.cpp корректно обрабатывает исходные данные, и извлекает необходимую информацию.
В ходе тестирования приложений reg1.cpp и reg2.cpp было установлено, что оба приложения работают корректно, однако программа reg2.cpp наиболее точно выполняет указанные требования в постановке задачи. Листинги обеих программ можно найти в приложениях А и Б.
Возможная модификация приложений
В качестве возможного изменения и модификации программ reg1.cpp и reg2.cpp можно рассмотреть работу непосредственно с файлами, для более удобного предоставления результата. Также возможно создание более удобного и дружелюбного интерфейса для работы с пользователем.
Что касается технических изменений, то тут возможно использование описанной выше библиотеки boost/regex для уменьшения размеров программного кода, т.к. алгоритмы regex_match, regex_search, regex_replace, regex_iterator, regex_token_iterator, Partial match заметно упрощают процесс разработки программы и уменьшают количество строк программного кода.
ЗАКЛЮЧЕНИЕ
регулярный выражение программа
В ходе выполнения данной работы, были рассмотрены основные принципы работы с регулярными выражениями, а также способы их построения.
Регулярные выражения подчиняются многим алгебраическим законам арифметики, хотя есть и различия. Объединение и конкатенация ассоциативны, но только объединение коммутативно. Конкатенация дистрибутивна относительно объединения. Объединение идемпотентно.
Также были разработаны две программы на основе регулярных выражений для поиска в тексте необходимой информации. Данные приложения были протестированы и проверены на правильность функционирования.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Хопкрофт, Д. Введение в теорию автоматов, языков и вычислений, 2-е изд. / Д. Хопкрофт, Э. Мотвани, Р. Ульман - М.: Издательский дом “Вильямс”, 2002. - 528 с.
. СТО ЮУрГУ 04-2008 Стандарт организации. Курсовое и дипломное проектирование. Общие требования к содержанию и оформлению / составители: Т.И. Парубочая, Н.В. Сырейщикова, В.И. Гузеев, Л.В. Винокурова. - Челябинск: Изд-во ЮУрГУ, 2008. - 56 с.
. Молчанов, А.Ю. Системное программное обеспечение: Учебник для вузов / А.Ю. Молчанов. - СПб.: Питер, 2006. - 396 с.
ПРИЛОЖЕНИЯ
ПРИЛОЖЕНИЕ А
Листинг программы reg1.cpp
ПРИЛОЖЕНИЕ Б
Листинг программы reg2.cpp
Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!