Разработка справочной системы основных ключевых слов С++ с примерами

Информационно-справочные документы и документация. Этапы и способы разработки справочной документации. Разработка консольного приложения справочной системы ключевых слов С++. Изучение программных средств реализации программы. Тестирование программы.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 27.05.2016
Размер файла 506,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И ПРИКЛАДНОЙ МАТЕМАТИКИ ИНСТИТУТА ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И ЕСТЕСТВЕННЫХ НАУК

Кафедра математического и программного обеспечения

информационных систем

Курсовая работа

ПО ДИСЦИПЛИНЕ «ИНФОРМАТИКА И ПРОГРАММИРОВАНИЕ»

НА ТЕМУ: РАЗРАБОТКА СПРАВОЧНОЙ СИСТЕМЫ ОСНОВНЫХ КЛЮЧЕВЫХ СЛОВ С++ С ПРИМЕРАМИ

БЕЛГОРОД 2015

Содержание

Введение

1. Общие сведения о справочных системах

1.1 Информационно - справочные документы и справочная документация

1.2 Этапы и способы разработки справочной документации

1.3 Создание справочных систем

2.Разработка консольного приложения справочной системы ключевых слов С++

2.1Ключевые слова С++

2.2Изучение программных средств реализации программы

2.3Разработка структуры справочного файла и алгоритма чтение файла

2.4Программная реализация консольного приложения справочной системы

2.5Тестирование программы

Заключение

Список используемой литературы

Введение

С развитием человечества развивались науки и технологии для удовлетворения потребностей человека. Возникали всё новые вопросы и задачи и для их разрешения возникали новые науки, такие, как информатика.

Информатика -- наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации, обеспечивающих возможность её использования для принятия решений.

В процессе освоения “нового” накопилось большое количество знаний и информации. Которую нужно хранить и классифицировать, для удобства.

Но держать абсолютно все знания в голове невозможно, поэтому появилась потребность в создании справочных систем, дабы информационные сведенья были легкодоступными и были непосредственно связанны с областью их применения.

Как например, в коробке с настольной игрой лежит документация, описывающая правила и принципы игры. И эта документация применима только к этой игре.

По такому же принципу необходимо создать справочную систему, которая будет предоставлять сведенья о ключевых словах C++.

Алфавит C++ включает в себя символы, из которых формируются лексемы языка:

ѕ идентификаторы;

ѕ ключевые (зарезервированные) слова;

ѕ знаки операций;

ѕ константы;

ѕ разделители (скобки, точка, запятая, пробельные символы).

Ключевые слова -- это зарезервированные идентификаторы, которые имеют специальное значение для компилятора. Их можно использовать только в том смысле, в котором они определены.

Идентификатор -- это имя программного объекта. В идентификаторе могут использоваться латинские буквы, цифры и знак подчеркивания. Прописные и строчные буквы различаются, например, sysop, SySoP и SYSOP -- три различных имени. Первым символом идентификатора может быть буква или знак подчеркивания, но не цифра. Пробелы внутри имен не допускаются.

Цель работы: разработка справочной системы основных ключевых слов C++ с примерами.

Задачи работы:

ѕ создание структуры файла - источника справки;

ѕ разработка алгоритмов и способов чтения справочного файла;

ѕ создание консольного приложения справочной системы ключевых слов С++;

ѕ тестирование программы.

1. Общие сведения о справочных системах

1.1 Информационно - справочные документы и справочная документация

Информационно - справочные документы сообщают сведения, побуждающие принимать определенные решения, т.е. инициируют управленческие решения, позволяют выбрать тот или иной способ управленческого воздействия. Они не содержат поручений, не обязывают выполнять поручения.

На основе резолюции руководителя информационно-справочные документы могут стать основанием для принятия каких-то решений или подготовки распорядительных документов.

В состав информационно-справочных документов входят:

ѕ докладная записка;

ѕ служебная записка;

ѕ объяснительная записка;

ѕ предложение;

ѕ представление;

ѕ заявление;

ѕ все разновидности переписки;

ѕ протокол;

ѕ акт;

ѕ справка;

ѕ заключение;

ѕ отзыв;

ѕ сводка;

ѕ список;

ѕ перечень.

В данном случае, как справочная документация подходит справка.

Справка - документ, описывающий и подтверждающий те или иные факты или события. Справка обычно представляет собой результат каких-то действий.

1.2 Этапы и способы разработки справочной документации

информационный справочный документ программный

На первом этапе потребуется четкое представление о том, что собственно нужно, четко выразить техническую проблему.

Правильно составленное содержание -- это половина дела. Если материал справки хорошо структурирован, ваши пользователи найдут нужную информацию за пару кликов. Не спешите сразу же писать текст, лучше детально проработайте иерархию и уровни вложенности тем.

Не менее важным этапом является оформление.

Общее оформление справки может как отпугнуть пользователя, так и наоборот, показать, что для разработчика важна каждая мелочь.

Так же нужно условно поделить справку на несколько частей и тщательно проверять и корректировать текст каждой части. Деление на части производится для удобства.

Когда все темы будут сформированы, то нужно отвлечься и позже просмотреть справку свежим взглядом.

Далее следует этап, на котором нужно протестировать справку, разместив её в интернете, например. После этого нужно обновить справку, учитывая критику и затем можно заниматься переводом конечного продукта на другие языки.

1.3 Создание справочных систем

Справочная система должна представляет собой хорошо структурированную, с очень удобным интерфейсом службу выдачи пользователю справок по большинству вопросов, связанных с продуктом, к которому прилагается описание.

В основе создания справочной системы лежит создание справочного файла, справки.

Существую специализированные программы, которые в полуавтоматическом режиме позволяют создавать справочную систему на основе справочного файла, который содержит информацию, разделённую между собой специальными идентификаторами, которые указывают программе на род этой информации.

Например Microsoft Help Workshop (рисунок 1).

Рисунок 1 - Microsoft Help Workshop

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

Таблица 1 - Часто используемые виды сносок

Сноска

Назначение

#

Задает идентификатор раздела справки, который может использоваться в других разделах для перехода к помеченному этой сноской разделу.

$

Задает имя раздела, которое будет применятся для идентификации раздела справки в списке поиска и в списке просмотренных тем во время использования справочной системы.

K

Задает список ключевых слов, при выборе которых из списка диалога поиска осуществляется переход к разделу справки, заголовок которой помечен этой сноской.

Так же для работы со сносками можно воспользоваться специальным конструктором для сносок (рисунок 2).

Рисунок 2 - Окно работы со сносками

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

ѕ давать полное описание по вопросам использования программы;

ѕ иметь графические материалы по вопросам использования программы;

ѕ быть доступной для вызова из любой формы программы;

ѕ иметь контекстные описания и удобную систему поиска информации;

ѕ иметь минимально возможный размер.

Справочная система программного продукта пишется всей группой разработчиков проекта. Люди, отвечающие за информационное наполнение программы, пишут материалы о назначении программного продукта, дают описание информационного наполнения и рекомендации по использованию программы. Разработчики программного кода, дают описание функций программы, назначения элементов интерфейса и методов непосредственной работы. Также, программисты, производят сборку справочной системы и ее интеграцию в программу. Справочная система программы, проходит первичное тестирование. Целью первичного тестирования, является выявление недостатков, к которым относятся мертвые гиперпереходы в справочной системе, несоответствия описания - реальным программным интерфейсам и недостаточность предложенной информации, для работы с программой неподготовленного пользователя. Первичное тестирование, производится всей группой разработчиков программного продукта. Производится совместное чтение материалов собранной справочной системы. Все вопросы, предложения и замечания документируются. Затем следует общее обсуждение выявленных проблемных мест. Целью данного обсуждения, является определение списка необходимых исправлений в справочной системе.

2. Разработка консольного приложения справочной системы ключевых слов С++

2.1 Ключевые слова С++

Ключевые слова -- это предварительно определенные зарезервированные идентификаторы, имеющие специальные значения. Их использование в программе в качестве идентификаторов не допускается. Для Microsoft C++ зарезервированы следующие ключевые слова. Имена с ведущими символами подчеркивания - расширения microsoft.

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

Кроме того, каждое имя, которое содержит двойное подчеркивание __ или начинается с символа подчеркивания, за которым следует заглавная буква, всегда зарезервировано для реализации и не должно использоваться в качестве идентификатора. Каждое имя, которое начинается с символа подчеркивания зарезервировано для реализации для использования в качестве имени в глобальном пространстве имен; такие имена могут быть использованы в качестве идентификаторов в пользовательских пространствах имен, а также как имена членов классов и т.д.

2.2 Изучение программных средств реализации программы

iostream -- заголовочный файл с классами, функциями и переменными для организации ввода-вывода в языке программирования C++. Он включён в стандартную библиотеку C++. Название образовано от Input/Output Stream («поток ввода-вывода»). В языке C++ и его предшественнике, языке программирования Си, нет встроенной поддержки ввода-вывода, вместо этого используется библиотека функций. iostream управляет вводом-выводом, как и stdio.h в Си. iostream использует объекты cin, cout, cerr и clog для передачи информации в и из стандартных потоков ввода, вывода, ошибок (без буферизации) и ошибок (с буферизацией) соответственно. Являясь частью стандартной библиотеки C++, эти объекты также являются частью стандартного пространства имён -- std.

fstream (сокращение от «FileStream») -- заголовочный файл из стандартной библиотеки C++, включающий набор классов, методов и функций, которые предоставляют интерфейс для чтения/записи данных из/в файл. Для манипуляции с данными файлов используются объекты, называемые потоками («stream»).

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

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

string -- класс с функциями и переменными для организации работы со строками в языке программирования C++. Он включён в стандартную библиотеку C++. Название образовано от имени строчного типа данных (англ. string). В языке C++ и его предшественнике, языке программирования Си, нет встроенной поддержки строкового типа данных, вместо этого используется массив символов. string управляет строками, как и string.h в Си. string использует единственный объект stringдля организации работы со строками. Являясь частью стандартной библиотеки C++, эти объекты также являются частью стандартного пространства имён -- std.

conio.h (от англ. console input-output -- консольный ввод-вывод) -- заголовочный файл, используемый в старых компиляторах, работающих в операционных системах MS-DOS, для создания текстового интерфейса пользователя. Тем не менее, он не является частью языка программирования Си, стандартной библиотеки языка Си, ISO C или требуемой стандартом POSIX.

Этот заголовочный файл объявляет несколько библиотечных функций для работы с «консольным вводом и выводом» программы. Большинство компиляторов языка Си, предназначенных для DOS, Windows 3.x, Phar Lap, DOSX, OS/2 или Win32 имели этот файл и обеспечивали сопутствующие библиотечные функции в библиотеке Си по умолчанию. Большинство компиляторов языка Си, предназначенных для UNIX и Linux, не имеют этого файла и не обеспечивают сопутствующих библиотечных функций.

Библиотечные функции, объявленные в conio.h, весьма различались в зависимости от компилятора. Первоначально реализованные в Microsoft Visual C++ различные функции привязывались напрямую к нескольким первым функциям DOS, связанным с прерыванием 21h. Но библиотека, поставляемая с Turbo C++ и Borland C++, не использует DOS API, а вместо этого напрямую обращается к видеопамяти для вывода информации и использования сигналов прерывания BIOS.

Компиляторы, предназначенные для операционных систем отличных от DOS, таких как Linux, Windows и OS/2, обеспечивали различные реализации этих функций.

string -- класс с функциями и переменными для организации работы со строками в языке программирования C++. Он включён в стандартную библиотеку C++. Название образовано от имени строчного типа данных (англ. string). В языке C++ и его предшественнике, языке программирования Си, нет встроенной поддержки строкового типа данных, вместо этого используется массив символов. string управляет строками, как и string.h в Си. string использует единственный объект string для организации работы со строками. Являясь частью стандартной библиотеки C++, эти объекты также являются частью стандартного пространства имён -- std.

Строка является символьным массивом типа char.

Массив -- это коллекция похожих объектов. Простейший пример массива -- вектор, который может быть объявлен следующей последовательностью координат. Структура данных, в которой элементы размещаются согласно индексам, номера строк и номера столбцов.

Файлом называют способ хранения информации на физическом устройстве. Файл -- это понятие, которое применимо ко всему -- от файла на диске до терминала.

В C++ отсутствуют операторы для работы с файлами. Все необходимые действия выполняются с помощью функций, включенных в стандартную библиотеку. Они позволяют работать с различными устройствами, такими, как диски, принтер, коммуникационные каналы и т.д. Эти устройства сильно отличаются друг от друга. Однако файловая система преобразует их в единое абстрактное логическое устройство, называемое потоком.

Текстовый поток -- это последовательность символов. При передаче символов из потока на экран, часть из них не выводится (например, символ возврата каретки, перевода строки).

2.3 Разработка структуры справочного файла и алгоритма чтение файла

Большинство компьютерных программ работают с файлами, и поэтому возникает необходимость создавать, удалять, записывать читать, открывать файлы.

В данном случае необходимость чтения з файла.

Программа должна читать файл, который привязан к ней (рис. 1), в котором содержаться ключевые слова и их описание.

Рисунок 3 - Файл справки

Как видно на изображении, само ключевое слово находится в квадратных скобках. Далее идет описание ключевого слова, которое содержится между парой символов “{” и “&”.

Знак “&” сообщает программе об окончании описания выбранного ключевого слова. Знак “{” обозначает начало описания.

Причина, по которой знак завершения описания не является знак “}”, это то, что в описании содержаться небольшие примеры программного кода, которые могут содержать знак “}”. Синтаксис язык С++ так же предполагает использование знака “&”, но в данном случае этот символ не используется.

В результате программа получает ключевое слово, ищет совпадение в файле (такое же слово в квадратных скобках) и затем выводит описание, которое содержится ниже, всё до знака “&”. Укрупненная схема показана на рисунке 4.

Рисунок 4 - Укрупненная схема

2.4 Программная реализация консольного приложения справочной системы

Блок - схема работы программы представлена на рисунке 5.

Рисунок 5 - Блок - схема работы программы

Поиск и вывод строк текста из файла производится с помощью следующих методов:

ѕ string.find - возвращает расположение подстроки в строке, если такая найдена;

ѕ string.at - обращение по индексу символьного массива типа char.

Код программы представлен в приложении, приложение прилагается после списка литературы.

Интерфейс программы представляет собой несколько строк, выведенных при запуске приложения на экран, описывающих дальнейшие действия пользователя. Иллюстрация интерфейса на рисунке 6.

Рисунок 6 - Интерфейс программы

В программе организован бесконечный цикл для запроса строки для справки и вывода. Детерминантное условие цикла - слово “close”. После его ввода выполняется закрытие консольного окна функцией exit(). Это иллюстрировано на блок - схеме (рис. 7).

2.5 Тестирование программы

После запуска программы интерфейс сообщает нам о её предназначении и предлагает несколько опций (рис. 7):

ѕ вывести список доступных слов;

ѕ вывести информацию о программе;

ѕ выход.

А для начала работы необходимо нажать клавишу Enter. После этого программа запрашивает ключевое слово.

Команда wordlist выводит список доступных слов (рис. 7).

Рисунок 7 - Команда wordlist

Так же интерфейс предлагает получить информацию о пополнении списка слов в справочном файле командой info (рис. 7). Результат ввода команды info показан на рисунке 8.

Рисунок 8 - Команда info

Далее иллюстрирован результат ввода команды about (рис. 9).

Рисунок 9 - Команда about

Так как в программе организован бесконечный цикл, который позволяет запрашивать ключевые слова не ограниченное количество раз без закрытия программы, до тех пор, пока не выполнится детерминантное условие.

Результат запроса ключевых слов (рис. 10, рис. 11).

Рисунок 10 - Результат работы программы

Рисунок 11 - Результат работы программы

Если совпадение ключевого слова не найдено, то будет выведено сообщение об ошибке (рис. 12), как показано на блок - схеме (рис. 3).

Рисунок 12 - Сообщение об ошибке

Заключение

В ходе выполнения курсовой работы было разработано консольное приложение “Справочная система ключевых слов C++ c примерами” с помощью программного продукта Visual Studio 2013 Visual C++. При выполнении этой задачи были определены основные понятия предметной области и изучены теоретические аспекты программирования на С++ и создания справочных систем.

Таким образом, были реализованы поставленные задачи и получены следующие результаты:

ѕ создание структуры файла - источника справки;

ѕ разработка алгоритмов и способов чтения справочного файла;

ѕ создание консольного приложения справочной системы ключевых слов С++;

тестирование программы.

Цель курсовой работы достигнута - консольное приложение справочной системы ключевых слов C++ является готовым программным продуктом, но при этом предоставляется возможность совершенствования данного компьютерного приложения.

Список используемой литературы

1. Интернет ресурс: http://pstu.ru/files/file/CTF/sp/vopr_i_otv/razd17.html - “Информационно - справочная документация”.

2. Интернет ресурс: http://habrahabr.ru/company/alconost/blog/165203/ - “Разработка справочной документации”.

3. Интернет ресурс: http://capri.urfu.ru/stepanov/step9.htm - “Справочные системы”.

4. Интернет ресурс: http://club.shelek.ru/viewart.php?id=157 - “Microsoft Help Workshop”.

5. Интернет ресурс: http://itandlife.ru/programming/cpp/alfavit-identifikatory-klyuchevye-slova-i-konstanty-c/ - “Ключевые слова С++”.

6. Интернет ресурс: https://msdn.microsoft.com/ru-ru/library/2e6a4at9.aspx - “Ключевые слова С++”.

7. Интернет ресурс: https://msdn.microsoft.com - “Программные средства С++”.

8. Интернет ресурс: http://cppstudio.com/post/437/ - “Символы и строки”.

9. Дейтел Х. М. Как программировать на С++: пятое издание/Дейтел П. Дж. -Санкт- Петербург: Бином, 2011. - 1454с

Приложение

#include "stdafx.h"

#include "iostream"

#include "fstream"

#include "locale"

#include "string"

#include "conio.h"

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

setlocale(LC_ALL, "Russian");

ifstream ifs("C:\\Help.txt"); // Подключение справочного файла

string textFromFile((istreambuf_iterator<char>(ifs)),

istreambuf_iterator<char>()); // Чтение содержимого файла с пробелами

string keyWord;

string Exit = "close";

// Информация для пользователя по работе с программой

cout << "\n Для того чтобы получить справку по ключивым словам С++\n";

cout << " введите интересующее вас ключивое слово.\n";

cout << " Для того, чтобы получить список доступных слов введите wordlist.\n";

cout << " Для получения информации о программе введите about.\n";

cout << " Для выхода из программы введите close.\n\n";

cout << "\tДля начала работы нажмите Enter\n";

cin.get();

while (keyWord != Exit)

{

cout << " Введите ключивое слово или команду справки: ";

cin >> keyWord;

if (keyWord == Exit)

{

exit(0);

}

keyWord = "[" + keyWord + "]";

int flag = 0;

flag = textFromFile.find(keyWord);

if (flag != -1)

{

for (int i = 0; i < textFromFile.size(); i++)

{

if (textFromFile.at(flag + keyWord.size() + i + 2) == '&')

{

break;

}

else

{

cout << textFromFile.at(flag + keyWord.size() + i + 2);

}

}

}

else

{

cout << "Извините, но такого слова нет в списке." << endl;

}

cout << endl;

}

return 0;

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.