Руководство пользователя. При запуске приложения двойным щелчком мыши файла «Elevator.Zhegalkin.Gui» открывается окно
Установка приложения осуществляется посредством копирования папки с приложением «Elevator.Zhegalkin.Gui» на любой жесткий диск компьютера.
При запуске приложения двойным щелчком мыши файла «Elevator.Zhegalkin.Gui» открывается окно, интерфейс которого представлен на рисунке 3.2. После чего пользователь вводит n – число аргументов булевой функции в графу «Введите количество переменных» (изначально количество переменных равно 2).
Рисунок 3.2 – Главное окно программы
Рисунок 3.3 – Доопределение вектора F(…)
При выборе пункта меню «Доопределить вектор F(…)», в графе «F(…)» выводятся значения вектора БФ. Для того чтобы значения вектора БФ выводились в автоматическом режиме, достаточно поставить флажок на кнопке «Ввод вектора значений булевой функции в автоматическом режиме». При снятии флажка, значения вектора БФ обнуляются. Ввод вектора в автоматическом режиме всегда генерируются по-разному. Для ручного режима ввода вектора БФ, достаточно изменить значение ячейки в таблице истинности. Вид формы представлен на рисунке (рисунок 3.3) .
После установки значений вектора, становится возможно построить полином Жегалкина (рисунок 3.4).
Рисунок 3.4 – Построение полинома Жегалкина
При некорректной работе пользователя программа выводит предупреждающие сообщения. Если кнопка «Построить полином Жегалкина» нажата ранее построения вектора F(…), на экране появится текстовое предупреждение пользователя (рисунок 3.5).
Рисунок 3.5 – Предупреждающее сообщение
Рисунок 3.6 – Предупреждающее сообщение
Если пользователь что – то сделал не правильно, появляется предупреждающее окно с содержанием: «Неожиданная ошибка, пожалуйста проверьте данные».
Рисунок 3.7 – Предупреждение об ошибке
В программе предусмотрена возможность для ввода компонентов вектора БФ с частично определенными значениям, в форме содержащей случайным образом сгенерированный вектор значений БФ (рисунок 3.8). Затем доопределяем вектор БФ и реализуем алгоритм формирования полинома Жегалкина методом ЧПНФ используя кнопку «Доопределить вектор и построить минимальный полином» (рисунок 3.9).
Рисунок 3.8 – Ввод компонентов вектора БФ с частично определенными значениям
После сравнения количества коньюнкций в текущем и предыдущем полиномах, программа запоминает коэффициенты полинома Жегалкина с минимальным количеством коньюнкций и соответствующий доопределенный вектор значений БФ и выводит на экранную форму в разделы «Количество конъюнкций:» и «Полином Жегалкина:».
Рисунок 3.9 – Параметры тестирования
При нажатии на кнопку «Справка» появляется экранная форма с информацией о разработчике и назначении программы.
Рисунок 3.10 – Форма «Справка»
3.4 Анализ работы программного средства
Проанализируем работу программного обеспечения, сравнив результаты вычислительного эксперимента с данными программы.
Пример.
Таблица 3.1 - Таблица истинности функции
a | b | c | F | |
Пусть не полностью определена логическая функция , заданная с помощью таблицы истинности. Два первых значения в векторе БФ не определены (таблица 3.2):
Таблица 3.2 – Таблица истинности логической функции
a | b | c | F | |
- | ||||
- | ||||
Определяются исходные данные a, b и с, при которых значение логической функции равно 1. Доопределяем функцию единицами и нулями так, чтобы при составлении ДНФ было минимальное число импликант наименьшего ранга. Используя наборы для доопределения функции, получим следующие полиномы:
Форма ЧПНФ: .
Строим ДНФ БФ, а затем формируем полином Жегалкина, используя известные соотношения:
;
;
;
;
;
;
;
;
.
Для синтеза логической схемы используется СДНФ. Доопределим значение вектора БФ функции F(1,0,1,0,1,0,1,0)
Таблица 3.3 – Таблица истинности логической функции
a | b | c | F | |
При значении вектора БФ равным 10100110, вычислим:
СДНФ:
Перейдём от СДНФ к ПНФ, приведем подобные члены.
ПНФ:
Получаем полином Жегалкина .
Доопределим значение вектора БФ функции F(0,1,1,0,1,0,1,0)
Таблица 3.4 – Таблица истинности логической функции
a | b | c | F | |
При значении вектора БФ равным 01100110, вычислим:
СДНФ:
Перейдём от СДНФ к ПНФ, приведем подобные члены.
ПНФ:
Получаем полином Жегалкина – минимальный полином.
Доопределим значение вектора БФ функции F(0,0,1,0,1,0,1,0)
Таблица 3.5 – Таблица истинности логической функции
a | b | c | F | |
При значении вектора БФ равным 00100110, вычислим:
СДНФ:
ПНФ:
Получаем полином Жегалкина
Доопределим значение вектора БФ функции F(1,1,1,0,1,0,1,0)
Таблица 3.6 – Таблица истинности логической функции
a | b | c | F | |
При значении вектора БФ равным 11100110, вычислим:
СДНФ:
ПНФ: Получаем полином Жегалкина .
Из решения можно сделать вывод, что комбинация 01100110 – является минимальным полиномом.
Таблица 3.7 – Таблица доопределения функции
Наборы доопределения функции | Полином |
Результаты работы программного средства полностью совпадают с вышеизложенным решением и представлены на рисунке 3.11 и 3.12.
Рисунок 3.11 – Результат работы ПС
Рисунок 3.12 – Результат работы ПС
Таким образом, из результатов вычислительного эксперимента, следует, что разработанный алгоритм является верным и корректно реализованным.