Автор работы: Пользователь скрыл имя, 20 Декабря 2011 в 20:10, курсовая работа
Целью проекта является закрепление навыков и умений решать задачи программирования, а также ознакомление с правилами составления и оформления проектных документов, соответствующих этой стадии.
Аннотация.......................................................................................................................................3
Задание............................................................................................................................................4
Введение.........................................................................................................................................5
Анализ.............................................................................................................................................6
Проектирование.............................................................................................................................7
Кодирование и отладка.................................................................................................................9
Тестирование................................................................................................................................11
Руководство пользователя………………………………….….….……......….….…….….….17
Акт независимого тестирования….……………………………….…………………………..18
Заключение...................................................................................................................................19
Список используемой литературы.............................................................................................20
Приложение А..............................................................................................................................21
Приложение Б..............................................................................................................................30
Приложение В..............................................................................................................................32
Строка № 155. int AnsiStrToInt(AnsiString) - Функция преобразования двоичного кода в целое число. Данная функция выполняет преобразование числа, представленного в виде строки, в целое число.
Строка 186. void VariableToTable(AnsiString) - Функция отображения КНФ или ДНФ на карте Карно. В зависимости от длины переменной ((x)=1 или (!x)=2) функция определяет истинное или ложное значение имеет переменная. Затем определяется местоположение рассматриваемой переменной на карте Карно. Если принимает истинное значение, то в соответствующую ячейку ставится знак «1».
char *itoa(int value, char *string, int radix) - Функция преобразования десятичного числа в двоичное число. Результат функции будет являться массив, содержащий двоичный код входного числа. Данная функция взята из стандартной библиотеки.
ТЕСТИРОВАНИЕ
Для настройки и тестирования программы выполним задание и рассмотрим результат программы.
При запуске программы открывается рабочее окно в котором производится задание параметров логической функции.
Рис.4 Запущенное приложение
Задание для тестирования программы:
Выберем количество функций 3, первая функция двух переменных тип функции КНФ, вторая функция от трех переменных, третья функция от 4 переменных тип функций ДНФ.
Первая функция: F=a+b&!a+b&!a+!b тип: КНФ
Рис.5 Отображение первой функции
Первая функция отображается на карте Карно верно.
Выберем вторую функцию: F=a&b&c+!a&!b&!c тип функции: ДНФ
Рис.6 Отображение второй функции
Вторая функция отображается на карте Карно верно.
Выберем третью функцию: F=a&!b&!c&d+!a&b&c&d+a&!b&!c&d тип функции: ДНФ
Рис.7 Отображение третьей функции
Третья функция отображается на карте Карно верно.
Сохраним функции в файл:
Нажмем кнопку «Сохранить», появится диалоговое окно, зададим имя и расширение файла.
Рис.8 Сохранение в файл
Откроем сохраненный файл:
Изменим функции:
Загрузим новые функции в приложение:
Нажмем кнопку «Загрузить»
Выберем в диалоговом окне нужный файл и откроем его.
Рис.9 Диалоговое окно
Рис.10 Загрузка из файла
Для того чтобы отобразить загруженные функции на карте Карно, необходимо настроить все параметры и нажать кнопку «Ок».
Рис.11 Отображение первой функции
Рис.12 Отображение второй функции
Отображение функций загруженных из файла на карте Карно происходит верно.
Протестируем функцию с большим количеством переменных равным 8:
F=a&b&c&d&e&f&g&h+a&!b&!c&!d&!
Рис.13 Отображение функции с 8 переменными.
Ошибки, возникающие при работе с приложением:
1. При неверном
вводе количества функций
Рис.14 Отображение первого сообщения об ошибке
2. При неверном вводе количества переменных выводится сообщение:
Рис.15 Отображение второго сообщения об ошибке
3. Если
размерность текущей функции
не соответствует с
Рис.16 Отображение третьего сообщения об ошибке
4. При нажатие кнопки «Закрыть» или «крестик» выводится сообщение:
Рис.17 Отображение предупреждающего сообщения
5. В данном приложение не были учтены ошибки при вводе функций с клавиатуры, поэтому пользователю необходимо проверять правильность ввода функций.
6. Для
правильного представления
РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ
Рис. 18 Основное окно
Для того чтобы отобразить функцию на карте Карно, необходимо:
- правильно ввести функцию:
для ДНФ функция вводится без скобок;
для КНФ каждая импликанта должна быть помещена в скобки.
- Правильно указать вид функции (КНФ или ДНФ), которую будем строить.
- Поставить
галочку напротив функции,
- Нажать на кнопку «Построение».
В новом окне появится карта Карно.
Рис. 19 Карта Карно
Для изменения порядка следования переменных на карте Карно необходимо нажать на главной форме кнопку «Порядок переменных». Откроется окно со списком переменных. Переменные перетаскиваются мышкой после установки нужной последовательности нажать кнопку «Ок». Выведется карта Карно с изменой последовательностью переменных.
Приложение может
Рис. 19 Окно настройки последовательности переменых
АКТ
независимого тестирования программного
продукта
Объектом тестирования является Приложение «Представление логических выражений в виде карты Карно»
Для тестирования предоставлены:
Тестирование проводилось в операционной системе Windows, без специальных средств отладки, тестирования и тестового приложения.
Вид проведенного тестирования: тестирование «черного ящика».
Программный
продукт полностью
При тестировании обнаружены недостатки:
Тестирование проведено « 24 » июня 2010 г.
Эксперт: студент гр. 12-61 _____________ _______________
ЗАКЛЮЧЕНИЕ
Результатом выполнения курсового проекта является программный продукт, позволяющий получить представление логических выражений в виде карт Карно.
Программный продукт удовлетворяет всем требованиям, приведенным в задании. Результаты и исходные данные могут быть сохранены в файл, а так же существует возможность загрузки исходных функций из файла созданного ранее.
Необходимая информация для работы с программой представлена в разделе руководство пользователя. Данную информацию можно использовать как инструкцию для работы с приложением.
Было проведено тестирование программного продукта, которое определило работоспособность приложения и правильность построения карты Карно. После доработки приложение почти все недостатки, обнаруженные при тестировании, были устранены. Для этого был упрощен алгоритм функции прорисовки влияния переменных относительно кода Грея, что позволило уменьшить время представления карты Карно, откорректирован алгоритм прорисовки карты в зависимости от количества переменных, исправлены ошибки при вводе функции. У приложения удобный интерфейс. Он позволят наилучшим образом воспринимать информацию и обрабатывать её.
ИСПОЛЬЗОВАННАЯ ЛИТЕРАТУРА
Приложение А.
Файл carno.cpp
Информация о работе Представление логических выражений в виде карт Карно