Метод отображения входного набора

Страницы работы

Содержание работы

Петербургский Государственный Университет

Путей Сообщения

Кафедра: ''Автоматика и телемеханика на ж/д транспорте''

Лабораторная работа № 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.Алгоритм реализации метода отображения входного набора

Похожие материалы

Информация о работе