Петербургский Государственный Университет
Путей Сообщения
Лабораторная работа № 6
«Метод отображения входного набора»
Вариант - 20
Выполнил: студент
ЭТ факультета
гр. АС-607
Ушакова Е.В.
Проверил:
Фомин Д.Н.
Санкт – Петербург
2010
Метод отражения входного набора
Данный метод относится к интерпретирующим методам программной реализации булевых функций (БФ). Суть метода отображения входного набора заключается в сравнении входного набора с заранее заданными константами. Если входной набор совпадает с одной из заданных констант f=1, если входной набор не совпадает ни с одной из констант, то f=0. Данный метод предполагает, что функция задана в виде ДНФ.
Заданна функция:
Преобразуем ее следующим образом:
Слово конъюнкции – набор по количеству конъюнкций. Для каждого слова конъюнкции строится слово маски .
слово - конъюнкции: 0 ~ ~ ~ ~ 0 1 ~ ~ ~ ~ 0
слово маски: 1 0 0 0 0 1 1 0 0 0 0 1
Символ ~ обозначает переменные не входящие в данную конъюнкцию. Полученные наборы будем называть словами конъюнкции. Очевидно, что если входной набор совпадает по всем разрядам с одним из слов-конъюнкций рассматриваемой функции, то значение функции на данном входном наборе будет = 1, иначе функция будет = 0.
Если слово-конъюнкции образованно не всеми переменными, то с входным набором сравнивается только те разряды, которые не содержат символ ~. Для исключения неопределенности в словах-конъюнкциях каждому из них сопоставляется слово-маска. В разрядах слова-маски записаны 1, если соответствующие разряды слова конъюнкции содержат 0 или 1,и 0 если ~.
air [1] 1000 [0x08] – маска первой конъюнкции.
air [2] 0111 [0x07] – первое слово- конъюнкции.
air [3] 0110 [0x06] – маска второй конъюнкции.
air [4] 1010 [0x0A] – второе слово- конъюнкции.
air [5] 0001 [0x01] – маска третей конъюнкции.
air [6] 1110 [0x0E] – третье слово- конъюнкции.
air [7] 0000 [0x00] – последнее слово массива
int air [ ] = {0x08, 0x07, 0x06, 0x0A , 0x01, 0x0E , 0x00}
Ручной расчет функции для входного набора 0000:
Входной набор : 0000
1-ое слово –конъюнкции: 0111
0111 &
1-ое слово -маски 1000
0000 совпало f = 1
Таблица истинности для заданной функции:
x4 |
x3 |
x2 |
x1 |
f |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
2. Этапы разработки проекта
1. Открыть проект.
2. Сохранить проект.
3. Добавление в проект дополнительных файлов.
3.1. Добавление в проект DriverDataIO.cpp
3.2. Добавление в проект adsapi32.lib
3.3. Добавление в проект DriverDataIO.h
4. Добавление в проект #define BASE 0x100
5. Визуальное проектирование.
4.1. Label 1 – «Входной набор»
4.2. Label 2
4.3. Label 3 – «Выходная функция»
4.4. Label 4
4.5. Button 1 – «Пуск»
4.6. Timer (false, 100мс)
6. Создание обработчиков событий для Button 1 и Timer.
7. Создание FormCreate, FormDestroy
8. Программирование файла реализации проекта.
9. Запуск проекта.
3.Алгоритм работы приложения «ImageDealing_In»
4.Алгоритм реализации метода отображения входного набора
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.