Добавлен: 26.10.2023
Просмотров: 42
Скачиваний: 5
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Содержание
Введение...................................................................................................................3
1 Анализ требований и определение спецификаций на программный продукт.....................................................................................................................5
1.1 Функциональное назначение проектируемой программы...........................5
1.2 Функциональные характеристики ..................................................................5
1.3 Требования к аппаратным и программным средствам……………………..7
2 Проектирование и разработка программного продукта .................................8
2.1 Проектирование и описание базового алгоритма решения задачи............. 8
2.2 Описание программного продукта................................................................11
3 Описание интерфейса………………………………....................................….13
4 Руководство пользователя ................................................................................16
Заключение ..........................................................................................................17
Список используемых источников.................................................................... 18
Приложение А .................................................................................................... 19
Приложение Б..................................................................................................... 22
Введение
С++ в настоящее время считается господствующим языком, используемым для разработки коммерческих программных продуктов. В последние годы это господство слегка поколебалось вследствие аналогичных претензий со стороны такого языка программирования, как Java, но маятник общественного мнения качнулся в другую сторону, и многие программисты, которые бросили С++ ради Jаvа, в последнее время поспешили вернуться к своей прежней привязанности. В любом случае эти два языка настолько похожи, что, изучив один из них, вы автоматически осваиваете 90% другого.
При разработке языка С++ одним из важнейших критериев выбора была простота. Когда возникал вопрос, что упростить: руководство по языку и другую документацию или транслятор, - то выбор делали в пользу первого. Огромное значение придавалось совместимости с языком С, что помешало удалить его синтаксис.
В С++ нет типов данных и элементарных операций высокого уровня. Например, не существует типа матрица с операцией обращения или типа строка с операцией конкатенации. Если пользователю понадобятся подобные типы, он может определить их в самом языке. Программирование на С++ по сути сводится к определению универсальных или зависящих от области приложения типов. Хорошо продуманный пользовательский тип отличается от встроенного типа только способом определения, но не способом применения.
Из языка исключались возможности, которые могут привести к накладным расходам памяти или времени выполнения, даже если они непосредственно не используются в программе. Например, было отвергнуто предложение хранить в каждом объекте некоторую служебную информацию. Если пользователь описал структуру, содержащую две величины, занимающие по 16 разрядов, то гарантируется, что она поместится в 32-х разрядный регистр.
Язык С++ проектировался для использования в довольно традиционной среде, а именно: в системе программирования С операционной системы UNIX. Но есть вполне обоснованные доводы в пользу использования С++ в более богатой программной среде. Такие возможности, как динамическая загрузка, развитые системы трансляции и базы данных для хранения определений типов, можно успешно использовать без ущерба для языка.
Типы С++ и механизмы упрятывания данных рассчитаны на определенный синтаксический анализ, проводимый транслятором для обнаружения случайной порчи данных. Они не обеспечивают секретности данных и защиты от умышленного нарушения правил доступа к ним. Однако, эти средства можно свободно использовать, не боясь накладных расходов памяти и времени выполнения программы. Учтено, что конструкция языка активно используется тогда, когда она не только изящно записывается на нем, но и вполне по средствам обычным программам.
В данной курсовой работе будет рассмотрена разработка программы по решению задачи средствами языка программирования С++.
Целью данной курсовой работы является создание программы, задачей которой является изменять порядок двух соседних букв.
Актуальность темы заключается в том, что современное общество невозможно представить без использования компьютера.
Основные задачи при написании курсовой работы:
-
Проанализировать условие задачи, составить таблицы данных. -
Разработать программу. -
Протестировать и проанализировать программу. -
Выявить пути оптимизации программы -
Среда разработки данной программы – С++.
1 Анализ требований и определение спецификаций на программный продукт
1.1 Функциональное назначение проектируемой программы
Основные задачи программы:
-
последовательные вычисления -
ветвления -
повторяющие вычисления -
Программа должна работать без сбоев.
1.2 Функциональные характеристики
Перед началом работы необходимо определить функции, которые должна выполнять программа, исходные данные и результаты, их форму и характеристики, а также требования к условиям эксплуатации.
К разрабатываемой системе предъявляются следующие функциональные требования:
Система должна сохранять работоспособность и обеспечивать восстановление своих функций при возникновении следующих внештатных ситуаций:
· при сбоях в системе электроснабжения аппаратной части, приводящих к перезагрузке ОС, восстановление программы должно происходить после перезапуска ОС и запуска исполняемого файла системы;
· при ошибках в работе аппаратных средств (кроме носителей данных и программ) восстановление функции системы возлагается на ОС;
· при ошибках, связанных с программным обеспечением (ОС и драйверы устройств), восстановление работоспособности возлагается на ОС.
В целях надежности системы она должна удовлетворять следующим требованиям:
· разработанная программа должна обладать средствами защиты от ошибочных действий пользователей;
· все ошибки должны отображаться с комментариями или подсказками по их устранению;
· гарантировать сохранность данных при сбоях в работе внешних устройств.
Для повышения надежности необходимо принять следующие меры:
· сконфигурировать аппаратные и программные средства в соответствии с техническими требованиями;
· периодически осуществлять резервное копирование информации;
· регулярно проверять целостность базы данных;
· поддерживать исправность оборудования.
1.3 Требования к аппаратным и программным средствам
Требования к программному обеспечению — совокупность утверждений относительно атрибутов, свойств или качеств программной системы, подлежащей реализации. Создаются в процессе разработки требований к программному обеспечению (ПО), в результате анализа требований.
Минимальные системные требования для использования С++:
-
Минимальные требования: Windows 7 или 10, 32 или 64 бит -
256 Мб оперативной памяти -
Частота процессора 500МГц -
Поддержка ОpenGL.
Рекомендуемые системные требования программы:
-
Компьютер с четырехъядерным процессором с частотой 2.5 ГГц и выше -
Оперативная память от 4 Гб, в идеале 8 Гб и выше -
Операционная система: Windows 10 64-bit или Mac OS X 10.9.2 и выше -
Минимальная видеокарта NVIDIA GeForce 470 GTX или AMD Radeon 6870 HD. Лучше NVIDIA GeForce GTX 970;
2 Проектирование и разработка программного продукта.
2.1 Проектирование базового алгоритма решения задачи
В процессе создания курсовой работы «Перестановки двух соседних букв местами с помощью шифра перестановки», был разработан алгоритм решения поставленной задачи. По этому алгоритму на языке C++ составлена и отлажена программа, удачно прошедшая тестирование.
Алгоритм – совокупность чётко определённых правил для решения задачи за конечное число шагов. В работе были учтены все необходимые свойства алгоритма: массовость, понятность, определённость, дискретность, конечность, результативность.
Блок-схема —распространённый тип схем(графических моделей), описывающих алгоритмы или процессы, в которых отдельные шаги изображаются в виде блоков различной формы, соединённых между собой линиями, указывающими направление последовательности.
Рассмотрим алгоритм замены местами двух соседних букв:
К шифрам простой замены относятся многие способы шифрования, возникшие в древности или средневековье, как, например, Атбаш (также читается как этбаш) или шифр Цезаря. Для вскрытия подобных шифров используется частотный криптоанализ.
Является частным случаем шифра подстановки.
Отметим, что шифр простой замены не всегда подразумевает замену буквы на какую-то другую букву. Допускается использовать замену буквы на число. К примеру представим некий шифр-алфавит: А - 33; Б - 17; В - 8; Г - 16; Д - 2; Е - 15; Ё - 14; Ж - 13; З - 73; И - 98; Й - 10; К - 97; Л - 96; М - 24; Н - 0; О - 11; П - 5; Р - 25; С - 7; Т - 3; У - 64; Ф - 26; Х - 66; Ц - 69; Ч - 4; Ш - 6; Щ - 36; Ь - 21; Ъ - 22; Ы - 23; Э - 37; Ю - 39; Я - 18.
Алгоритм преобразования текста в виде представлен на рисунке 1.
Рисунок 1 - .Перестановка букв местами
Рисунок 2 - Расшифровка слов
Для работы программы необходимо выполнить:
-
Запуск программы. -
Написать значение для добавления размера матрицы. -
Создание Зашифровки через кнопку “Зашифровать ” -
Перестановка данных ввода через кнопку “Расшифровать”.
После того как пользователь нажимает на кнопку “Выполнить” Данные, введённые в таблицу, изменят две соседние буквы.
2.2 Описание программного продукта
Приложение, разработанное в С++, состоит из ряда файлов, назначение которых представлено в таблице 1.
Таблица 1 – Состав файлов программы
Расширение | Назначение файла |
Project1.cfg | Файл конфигурации проекта, где хранятся данные о состоянии рабочего пространства среды (установки проекта), в частности, используемые директивы компилятора. |
Project1.dof | файл, содержащий опции проекта |
CPP | это временный кеш С++ . Файл расширения |
Project1.res | файл графических ресурсов - хранит курсоры, иконки и рисунки. Для редактирования графических ресурсов Borland C++ Builder предусмотрен редактор Image Editor. |
Unit1.dcu | Это означает, что, если у вас есть чей-то, например, компонентный скомпилированный исходный код, все, что вам нужно сделать, это перевернуть его и получить код. |
Unit1.ddp | файл, содержащий визуальную информацию о форме. |
Таблица 2- Использование модулей в С++
Имя процедуры | Применение |
Button1Click | Выполняет расчет скорости и выводит результат расчета в поле Label4. |
Button2Click | |
Edit1KeyPress | |
TForm1.Button1Click | Событие, которое произойдёт при нажатии на кнопку Button1 |
TForm1.Button2Click | Отвечает программы за завершение. |
TForm1.Edit1KeyPress | проверяет, какая клавиша нажата при вводе исходных данных в поле редактирования Edit1. |
3 Описание интерфейса
Когда вы разрабатываете класс в C++, первое, что вы должны продумать — открытый интерфейс для класса. Открытый интерфейс определяет