Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

End for




End for

End for

End for

End if

End for

End if

End for

End if

End if

Else

End if

Else

End for

Методические указания

БУЛЕВЫ ФУНКЦИИ

Лабораторная работа №3

Цель работы: изучение и реализация алгоритмов работы с булевыми функциями.

Теоретический материал приведен в главе 5. Рассмотрим алгоритмы, связанные с булевыми функциями. В алгоритмах используются следующие обозначения:

Конструкция

for x Î M do

P(x)

означает применение процедуры Р ко всем элементам множества М.

Оператор

Select m Î М

означает выбор произвольного элемента т из множества М. Этот оператор часто необходим в «переборных» алгоритмах.

Оператор

yield x

означает возврат значения х, но при этом выполнение функции не прекращается, а продолжается со следующего оператора.

Совершенные нормальные формы

Алгоритм 1. Построение СДНФ

Вход: вектор X: array [l.. n ] of string идентификаторов переменных,

матрица V: array [1..2 n, l.. n ] of 0..1 всех различных наборов значений переменных,

вектор F: array [1..2 n ] of 0..1 соответствующих значений функции.

Выход: последовательность символов, образующих запись формулы СДНФ для заданной функции.

f := false { признак присутствия левого операнда дизъюнкции }

for i from 1 to 2 n do

if F [ i ] = 1 then

if f then

yield 'Ú' { добавление в формулу знака дизъюнкции }

f: = true

g: = false { признак присутствия левого операнда конъюнкции }

for j from 1 to n do

if g then

yield 'Ù' { добавление в формулу знака конъюнкции }

g: =true

if V [ i, j ] = 0 then

yield ' Ø ' {добавление в формулу знака отрицания }

yield X [ j ]{добавление в формулу идентификатора переменной }

Алгоритм 2. Алгоритм вычисления СНДФ

Вход: массив, представляющий СДНФ: f: array [1.. k, 1.. n ] of 0..1;

множество значений переменных x: array [1.. n ] of 0..1.

Выход: 0..1 – значение булевой функции.

for i from 1 to k do

for j from 1 to n do

if f [ i, j ] ¹ x [ j ] then

next for i

return 1

return 0 {все слагаемые в дизъюнкции = 0}

 

Алгоритм построения бинарного кода Грея

Данный алгоритм генерирует последовательность всех подмножеств поэлементного множества, причем каждое следующее подмножество получается из преды­дущего удалением или добавлением одного элемента.

Алгоритм 3. Алгоритм построения бинарного кода Грея

Вход: n > 0 — мощность множества

Выход: последовательность кодов подмножеств В

В: array [l..n] of 0..1 { битовая шкала для представления подмножеств }

for i from 1 to n do

B [ i ]: =0 { инициализация }

yield В {пустое множество }

for i from 1 to 2 n -1 do

p: =Q (i){ определение элемента, подлежащего добавлению или удалению }

В [ р ]:=1 - В [ р ]{добавление или удаление элемента }

yield В {очередное подмножество }

proc Q (i){количество 2 в разложении i на множители + 1 }

q: = 1; j: = i

while j четно do

j:=j / 2; q:=q + 1




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 373; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.