Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Практикум по дисциплине «Теория дискретных автоматов» для студентов 3-го курса направления подготовки 10.03.01 «Информационная безопасность».

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ
РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«ДОНСКОЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Кафедра «Вычислительные системы и информационная безопасность»
ПРАКТИКУМ
по дисциплине «Теория дискретных автоматов» для студентов 3-го курса
направления подготовки 10.03.01 «Информационная безопасность»
Ростов-на-Дону
ДГТУ
2019
1
УДК 519.713
Составители: Д.В.Фатхи, В.А. Фатхи
Практикум по дисциплине «Теория дискретных автоматов» для студентов 3-го курса направления подготовки 10.03.01 «Информационная безопасность». – Ростов-на-Дону: Донской гос. техн. ун-т, 2019. – 53 с.
В компактной форме приводятся теоретические сведения, задания для выполнения практических работ и контрольные вопросы. Практикум может быть использован для самостоятельной работы студентов 3-го курса направления подготовки 10.03.01 «Информационная безопасность».
УДК 519.713
Печатается по решению редакционно-издательского совета
Донского государственного технического университета
Ответственный за выпуск
зав. кафедрой «Вычислительные системы и информационная безопасность»
д-р техн. наук, профессор В.А. Фатхи
_____________________________________________________
В печать 08.02.2019 г.
Формат 60×84/16. Объем 3,3 усл. п. л.
Тираж 30 экз. Заказ № 95.
__________________________________________________
Издательский центр ДГТУ
Адрес университета и полиграфического предприятия:
344000, г. Ростов-на-Дону, пл. Гагарина, 1
© Донской государственный
технический университет, 2019
2
Оглавление
Практическая работа № 1. Построение формальных выражений функций выходов синтезируемых комбинационных автоматов………………………...4 Практическая работа № 2. Построение функциональных электрических схем комбинационных автоматов……………………………………………………8 Практическая работа № 3. Построение таблицы истинности комбинационных автоматов по функциональной электрической схеме при анализе………….19 Практическая работа № 4. Оценка влияния состязаний сигналов комбинационных автоматов на функционирование………………………….27 Практическая работа № 5. Построение проверяющих тестов комбинационных автоматов………………………………………………………………………..32 Практическая работа № 6. Составление функций возбуждения элементов памяти анализируемого автомата с памятью…………………………………34 Практическая работа № 7. Построение структурной таблицы переходов­выходов дискретных автоматов с памятью при анализе…………………….38 Практическая работа № 8. Построение абстрактной таблицы переходов­выходов дискретных автоматов с памятью при анализе…………………….39 Практическая работа № 9. Построение таблицы переходов-выходов минимизированных автоматов с памятью при синтезе………………………43 Практическая работа № 10. Построение структурной таблицы переходов­выходов синтезируемого автомата с памятью………………………………..47 Практическая работа № 11. Определение функций возбуждения элементов памяти синтезируемого автомата с памятью…………………………………52
3
Практическая работа № 1
x1 x2 f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f
10 f11
f12
f13
f14
f15 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1
1
1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
1
Тема: Построение формальных выражений функций выходов синтезируемых комбинационных автоматов. Цель: Изучить логические функции двух аргументов, формулы представления логических функций, выражение сложных функций через булевские операции, базисы логических функций, законы алгебры логики. УГО логических функций. Задание логических функций.
Теоретические сведения
1.Логические функции
Задание логической функции связано с указанием ее значения на наборах переменных этой функции. Логическая функции может быть задана с помощью таблицы истинности (таблицы соответствия). В алгебре логики широко используются функции одной и двух переменных, из которых можно образовать другие, более сложные функции.
Рассмотрим логические функции двух переменных. Количество функций двух переменных – 16. В таблице 1 приведены таблицы истинности логических функций двух переменных.
Таблица 1 – Таблица истинности логических функций двух переменных
Шесть логических функций имеют значения аналогичные функциям одной переменной (таблица 1), которые обозначаются f0=0, f3= , f5= , f10=
2, f12=1, f15=1.
Остальные 10 логических функций можно рассматривать парами.
1. Функция f1(, )=·
– конъюнкция. Операцию конъюнкции можно
обозначать ·= ˄= &= .
Функция f14(, ) = f1󰇛 󰇜
Операция штрих Шеффера обозначается |= 
– штрих Шеффера, отрицание конъюнкции.
и соответствует
логической связке И-НЕ.
2. Функция f7(, )=󰥎
– дизъюнкция.
Функция f8(, )= f7󰇛 󰇜 – стрелка Пирса, отрицание дизъюнкции.
Операция стрелка Пирса обозначается ↓=󰥎
и соответствует
логической связке ИЛИ-НЕ.
3. Функция f9(, )=~– равнозначность (эквивалентность).
Функция f6(, )=f9󰇛 󰇜 – неравнозначность (сложение по модулю 2).
Операция неравнозначность   
и соответствует
логической связке «Исключающее ИЛИ».
4. Функция f13( )=→
– импликация, следование  из .
4
Функция f2(, ) = f13󰇛 󰇜 – отрицание импликации.
Операция отрицание импликации   1󰥎=соответствует логической связке «запрет по ».
5. Функция f11(, )=→
Функция f4(, 󰇜  
Операция отрицание импликации  
– импликация, следование  из .
– отрицание импликации →
  1
логической связке «Запрет по ».
Все перечисленные функции можно выразить через операции конъюнкция, дизъюнкция и отрицание.
Штрих Шеффера | 
Стрелка Пирса ↓ 󰥎
 󰥎   
Эквиваленция ~= 󰥎
Сложение по «модулю 2»
  󰥎
Импликация →
→=ˇ
Отрицание импликации (Запрет по )  
Импликация →
→= 󰥎
Отрицание импликации (Запрет по )  
2.
Базисы логических функций
=x2 = 
  1
Выше были рассмотрены логические функции, выраженные через три операции: отрицание, конъюнкцию и дизъюнкцию:
|= 
↓ 󰥎
 󰥎 (1)
   (2)
~= 󰥎  (3)
  = 󰥎  (4)
→ 󰥎 (5)  
  (6)
→= 󰥎 (7)  
 1 (8)
Эти выражения можно преобразовать так, чтобы в них осталось по две связки: И, НЕ или ИЛИ, НЕ, используя закон де Моргана.
Так конъюнкцию и дизъюнкцию можно представить через ИЛИ, НЕ, а также И, НЕ.
f1󰇛, 󰇜  
f2󰇛, 󰇜  󰥎
 
   
󰥎
 
Поэтому выражения (1)  (8) можно преобразовать так, чтобы в них осталось по две связки: ИЛИ, НЕ или И, НЕ.
Представление через «стрелку Пирса» и «штрих Шеффера» имеет вид
f12(, 󰇜  
f12(, 󰇜  
  ; f1(, 󰇜 · 󰇛 󰇜  󰇛 󰇜;
 ; f7(, 󰇜 󰥎 󰇛
То есть, все логические операции можно выразить
– через операции И, ИЛИ, НЕ;
– через операции И, НЕ или ИЛИ, НЕ;
5
 
.
соответствует
󰇜
󰇛󰇜;
– через операцию «стрелка Пирса» или «штрих Шеффера».
Указанные наборы операций называются базисными для логических функций.
Выбор того или иного базиса, из которого может быть построена любая функция, реализуемая ДУ, связана с соображениями технического порядка. Выбираемый базис представляет модель простейших конструктивных элементов ДУ.
3.Реализация основных логических операций
Ограничимся рассмотрением интегральных микросхем, представленных условными графическими обозначениями (УГО) элементов.
УГО элемента имеет форму прямоугольника, к которому подводят линии выводов (входов и выходов) для соединения с другими элементами. Входы элементов изображают с левой стороны УГО, выходы – с правой стороны. Особенности изображения УГО целесообразно посмотреть в ГОСТ. Примеры УГО конъюнктора, дизъюнктора и инвертора, представлены на рис.1.
Рис. 1. УГО а) конъюнктора, б) дизъюнктора и в) инвертора.
4.Задание логических функций
Логические функции могут быть заданы следующими способами:
- словесно, путем описания принимаемых значений в зависимости от
значений переменных;
- с помощью таблиц, задающих значения функции при различных
наборах значений переменных;
- цифровой, перечислением наборов переменных на которых функция
принимает определенные значения;
- аналитически, записью формулы логической функции.
Словесный способ удобен при малом количестве переменных, является неформализованным. При большом количестве переменных словесный способ не применяется.
Табличный способ использует, так называемые, таблицы истинности, задающие последовательное перечисление значений функции для различных наборов переменных. Обычно наборов переменных , где n- число переменных. Способ нагляден, формализован, но громоздок. В таблице истинности рабочие наборы заданы 1, запрещенные 0, условные - представлены прочерком (-), на них функция не определена.
Пример таблицы истинности представлен табл. 2.
6
Таблица истинности функции f(x1x2x3)
Двоичный эквивалент
x1
x2
x3
f(x1x2x3)
0 0 0 0 ‒ 1 0 0 1 1 2 0 1 0 1 3 0 1 1 ‒ 4 1 0 0 0 5 1 0 1 1 6 1 1 0 1 7 1 1 1
0
x1
x2 x3
00
01
11
10 0 - 1 - 1 1 0 1 0 1
В качестве табличного способа задания логических функций могут использоваться матрицы Карно.
Матрица Карно по таблице истинности табл.2 представлена в табл.3.
Таблица 2
Таблица 3
Матрица Карно
Цифровой способ задания функции перечисляет номера наборов или в
двоичном виде, или в десятичном, на которых функция равна 1, в качестве рабочих, и наборов на которых функция равна 0, в качестве запрещенных.
Кроме того, для частично определенных функций выделяются условные наборы, на которых функция не определена, т.е. на них функция может принимать значение либо 0, либо 1.
Для рассматриваемой функции, заданной таблицей истинности (табл. 2), цифровой способ задания функции будет иметь вид: f:={001,010,101,110󰇞, ={100,111󰇞, ={000,011󰇞 - при
использовании двоичных значений наборов,
f:={1,2,5,6󰇞, ={4,7󰇞, ={0,3󰇞 - при задании наборов десятичными числами.
Аналитический способ использует сочетание символов функции, их переменных, логических операций и скобок, составляющих формулу.
Так, для таблицы истинности ( табл. 2) и других, представленных выше способов задания, аналитическое представление логической функции имеет вид:
f(  )= 

˅

˅
˅
.
Данное представление является функцией выхода конкретного
комбинационного автомата. Эта функция выхода может дальше преобразовываться с целью упрощения. Что будет рассмотрено в последующих занятиях.
Задачи для решения
По заданным ниже логическим функциям записать формальные выражения функций выходов синтезируемых комбинационных автоматов
7
1. f:= {0,1,2,3󰇞
2. f:= {1,2,3,4󰇞
3. f:= {2,3,4,5󰇞
4. f:= {3,4,5,6󰇞
5. f:= {4,5,6,7󰇞
6. f:= {0,2,4,6󰇞
7. f:= {1,3,5,7󰇞
8. f:= {2,4,6,7󰇞
9. f:= {3,5,6,7󰇞
10. f:= {0,3,5,7󰇞
11. f:= {1,4,5,6󰇞
12. f:= {1,4,6,7󰇞
Контрольные вопросы
1. Какие логические функции двух переменных известны?
2. Представьте таблицы истинности функций Штрих Шеффера и Стрелка Пирса.
3. Представьте таблицы истинности операций Сложение по модулю 2 и Равнозначность.
4. Записать все операции запрета.
5. Представьте обозначения логических элементов используемых в ФЭС комбинационных автоматов.
6. Как по таблице истинности функции записать аналитическое выражение логической функции.
7. Приведите способы задания логических функций, реализуемых комбинационными автоматами.
8. Отличия таблиц истинности от матриц Карно.
Практическая работа № 2
Тема: Построение функциональных электрических схем комбинационных
автоматов Цель: Изучить нормальные формы логических функций, алгоритмы получения нормальных форм логических функций. Получение совершенных нормальных форм по таблице истинности и введением недостающих переменных. Минимизация логических функций.
Теоретические сведения
1.Нормальные формы логических функций
Дизъюнктивные нормальные формы логических функций
Дизъюнктивной нормальной формой (ДНФ) называется дизъюнкция
различный между собой элементарных конъюнкций.
Элементарные конъюнкции это конъюнкция неповторяющихся
переменных с отрицанием или без отрицания.
8
Например:  
 , 
 
,    – элементарные конъюнкции;

не элементарная конъюнкция содержит две переменные .
Известен алгоритм получения ДНФ произвольной формулы логической
функции.
Алгоритм 1 получения ДНФ
1. В произвольной форме все логические операции выразить через И, ИЛИ, НЕ
согласно формальных выражений; A B =󰥎   󰥎  
  󰥎      󰥎
2. Опустить знаки инверсии на отдельные переменные по закону де Моргана:
 󰥎󰥎 󰥎󰥎 
3. Раскрыть скобки и образовать дизъюнкцию элементарных конъюнкций по законам алгебры логики.
4. Исключить повторяющиеся элементарные конъюнкции.
Пример:󰇛   
󰥎

󰥎
󰥎 󰥎
  
󰇜󰇛

󰇜
󰥎󰇛
󰥎
󰥎 󰥎
 󰇜󰇛
󰥎
󰇛

󰥎
󰥎
󰥎
󰇜
󰇜
󰥎󰇛
󰥎
󰇜
Любая логическая функция может иметь несколько ДНФ, но одна из них
имеет особый вид и называется совершенной ДНФ (СДНФ).
Совершенная ДНФ логической функции
Совершенной ДНФ логической функции называется ДНФ элементарных
конъюнкций, которая содержит все переменные, от которых зависит функция. Пример: 󰇛  
󰇜
 󰥎
󰥎

Известны способы получения СДНФ:
1) по таблице истинности;
2) введение недостающих переменных;
3) методом разложения логической функции по всем переменным.
Получение СДНФ по таблице истинности
Для получения СДНФ используются все рабочие наборы таблицы
истинности. Необходимо выполнять:
1) выписать все рабочие наборы в виде конституент единицы;
2) записать дизъюнкцию всех конституент единицы рабочими наборами
логической функции в виде элементарных конъюнкций с заменой 0 на  и 1 на 
Пример:
В таблице истинности функции 󰇛  󰇜 рабочими наборами
являются: 000, 010, 011, 111.
Им соответствуют конституенты единицы
000 ―
010 ― 
011 ― 




111 ― 
Тогда СДНФ 󰇛  󰇜=


󰥎

󰥎
󰥎
Получение СДНФ введением недостающих переменных
В основе получения СДНФ лежат соотношения алгебры логики:
9
1=󰥎 и A=1A
Ввести переменные  в элементарные конъюнкции можно умножением
ее на выражения (󰥎).
Последовательность получения СДНФ содержит следующие этапы:
1) получить ДНФ функции;
2) определить отсутствующие переменные в элементарных конъюнкциях;
3) умножить каждую элементарную конъюнкцию на (󰥎) по каждой недостающей переменной;
4) раскрыть скобки и привести формулу к виду ДНФ.
Пример:󰇛  
󰇛  
󰇜
 󰇛󰥎󰇜󰥎
 
󰇜
 
󰥎
󰥎
󰥎

󰥎
󰇛
󰥎󰇜󰥎
󰥎

󰥎
Получение СДНФ разложением функции по n переменным
Разложение логической функции 󰇛  󰇜 по переменной  имеет
вид:
󰇛  
󰇜
 󰇛   
Пример: Разложить логическую функцию 󰇛  
󰇜
󰥎
󰇛   
󰇜
 󰥎
󰇜

по
переменной .
 󰥎

󰥎󰥎

 󰥎
Разложение по двум переменным  и 󰇛  󰇜:
󰇛  
󰥎
󰇛    
󰇜
 󰇛   
󰇜
󰥎

󰇜
󰥎
󰇛   
󰇛   
󰇜
󰥎
󰇜
Здесь каждое слагаемое включает конъюнкцию сочетаний значений
переменных в прямом и инверсном виде  
 
, 

.
Для получения СДНФ логической функции надо разложить ее по всем
переменным и привести к ДНФ. Пример: 󰇛  
󰥎
󰇛󰥎󰇜󰥎
󰇜
 󰥎 

󰥎󰇛󰥎󰇜󰥎
󰇛
󰥎󰇜󰥎
󰇛
󰥎󰇜 

󰇛󰥎󰇜󰥎
󰇛󰥎󰇜󰥎
󰥎

󰥎

󰇛
󰥎󰇜󰥎
󰇛
󰥎  󰇜󰥎
󰥎
󰥎.
Конъюнктивные нормальные формы логических функций
Конъюнктивной нормальной формой (КНФ) называется конъюнкция
различных между собой элементарных дизъюнкций.
Элементарная дизъюнкция это дизъюнкция неповторяющихся
переменных с отрицанием или без отрицания.
Пример: (󰥎󰥎), (
󰥎),  элементарные дизъюнкции.
Известен алгоритм получения КНФ произвольной формулы
логической функции.
Алгоритм 2 получения КНФ
1. В произвольной формуле все логические операции выразить через И, ИЛИ, НЕ; AB=󰥎   󰥎     󰥎     
󰥎
10
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]