отчет лаба 3 схемота
.docx
ФЕДЕРАЛЬНОЕ
АГЕНСТВО ВОЗДУШНОГО ТРАНСПОРТА
(РОСАВИАЦИЯ)
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ГРАЖДАНСКОЙ АВИАЦИИ» (МГТУ ГА)
Кафедра вычислительных машин, комплексов, сетей и систем.
Лабораторная работа защищена с оценкой ____________________
____________________
(подпись преподавателя, дата)
ЛАБОРАТОРНАЯ РАБОТА №3
по дисциплине «Схемотехническое моделирование».
Тема: «Построение схем реализации различных процессов.»
Выполнила студентка группы ИС2-1
Магальник Екатерина Борисовна
Руководитель: Затучный Дмитрий Александрович
МОСКВА – 2024
Теоретическая часть.
Визуализация процессов играет важную роль в понимании и оптимизации рабочих процессов. Схемы реализации процессов предоставляют наглядное представление последовательности действий, решений и взаимодействий, что способствует эффективному анализу, коммуникации и совершенствованию. Также используются блок схемы для наглядного разбиения на этапы процесса.
Схемы реализации применимы в том числе для объяснения логики работы тех или иных процессов: работоспособность системы, отказ системы, установка приоритетов операций, “голосование” логических элементов системы с учётом приоритетности.
Задание 1. Система состоит из 5 блоков. Система отказывает, если отказали 1 и\или 2 блок и любой из оставшихся блоков. Построить схему определения отказа в системе. Построить блок-схему алгоритма определения отказа в системе, записать функцию и таблицу истинности, написать программу реализации алгоритма, построить структуру системы из 5 блоков.
Получившаяся
функция:
Блок-схемы алгоритмов:
Схема реализации функции:
Результат работы программы:
x1, x2, x3, x4, x5, y
0 0 0 0 0 0
0 0 0 0 1 0
0 0 0 1 0 0
0 0 0 1 1 0
0 0 1 0 0 0
0 0 1 0 1 0
0 0 1 1 0 0
0 0 1 1 1 0
0 1 0 0 0 0
0 1 0 0 1 1
0 1 0 1 0 1
0 1 0 1 1 1
0 1 1 0 0 1
0 1 1 0 1 1
0 1 1 1 0 1
0 1 1 1 1 1
1 0 0 0 0 0
1 0 0 0 1 1
1 0 0 1 0 1
1 0 0 1 1 1
1 0 1 0 0 1
1 0 1 0 1 1
1 0 1 1 0 1
1 0 1 1 1 1
1 1 0 0 0 0
1 1 0 0 1 1
1 1 0 1 0 1
1 1 0 1 1 1
1 1 1 0 0 1
1 1 1 0 1 1
1 1 1 1 0 1
1 1 1 1 1 1
Листинг программы:
print("x1, x2, x3, x4, x5, y") for x1 in range(2): for x2 in range(2): for x3 in range(2): for x4 in range(2): for x5 in range(2): if ((x1 or x2) and (x3 or x4 or x5)) == 1: print (x1, " ", x2, " ", x3, " ", x4, " ", x5, " ", 1) else: print (x1, " ", x2, " ", x3, " ", x4, " ", x5, " ", 0)
Задание 2. В вычислительной системе на очереди стоит 7 операций, разделенных по приоритету. В случае отказа выполнения процедуры с высшим приоритетом переходит к более низкому. Разработать комбинационную схему формирования последовательности выполнения операций. Построить блок-схему алгоритма, записать функцию и таблицу истинности. Написать программу реализации алгоритма.
Получившаяся
функция:
Блок-схемы алгоритмов:
Схема реализации функции:
Результат работы программы:
x1, x2, x3, x4, x5, x6, x7, y
0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 7
0 0 0 0 0 1 0 6
0 0 0 0 0 1 1 76
0 0 0 0 1 0 0 5
0 0 0 0 1 0 1 75
0 0 0 0 1 1 0 65
0 0 0 0 1 1 1 765
0 0 0 1 0 0 0 4
0 0 0 1 0 0 1 74
0 0 0 1 0 1 0 64
0 0 0 1 0 1 1 764
0 0 0 1 1 0 0 54
0 0 0 1 1 0 1 754
0 0 0 1 1 1 0 654
0 0 0 1 1 1 1 7654
0 0 1 0 0 0 0 3
0 0 1 0 0 0 1 73
0 0 1 0 0 1 0 63
0 0 1 0 0 1 1 763
0 0 1 0 1 0 0 53
0 0 1 0 1 0 1 753
0 0 1 0 1 1 0 653
0 0 1 0 1 1 1 7653
0 0 1 1 0 0 0 43
0 0 1 1 0 0 1 743
0 0 1 1 0 1 0 643
0 0 1 1 0 1 1 7643
0 0 1 1 1 0 0 543
0 0 1 1 1 0 1 7543
0 0 1 1 1 1 0 6543
0 0 1 1 1 1 1 76543
0 1 0 0 0 0 0 2
0 1 0 0 0 0 1 72
0 1 0 0 0 1 0 62
0 1 0 0 0 1 1 762
0 1 0 0 1 0 0 52
0 1 0 0 1 0 1 752
0 1 0 0 1 1 0 652
0 1 0 0 1 1 1 7652
0 1 0 1 0 0 0 42
0 1 0 1 0 0 1 742
0 1 0 1 0 1 0 642
0 1 0 1 0 1 1 7642
0 1 0 1 1 0 0 542
0 1 0 1 1 0 1 7542
0 1 0 1 1 1 0 6542
0 1 0 1 1 1 1 76542
0 1 1 0 0 0 0 32
0 1 1 0 0 0 1 732
0 1 1 0 0 1 0 632
0 1 1 0 0 1 1 7632
0 1 1 0 1 0 0 532
0 1 1 0 1 0 1 7532
0 1 1 0 1 1 0 6532
0 1 1 0 1 1 1 76532
0 1 1 1 0 0 0 432
0 1 1 1 0 0 1 7432
0 1 1 1 0 1 0 6432
0 1 1 1 0 1 1 76432
0 1 1 1 1 0 0 5432
0 1 1 1 1 0 1 75432
0 1 1 1 1 1 0 65432
0 1 1 1 1 1 1 765432
1 0 0 0 0 0 0 1
1 0 0 0 0 0 1 71
1 0 0 0 0 1 0 61
1 0 0 0 0 1 1 761
1 0 0 0 1 0 0 51
1 0 0 0 1 0 1 751
1 0 0 0 1 1 0 651
1 0 0 0 1 1 1 7651
1 0 0 1 0 0 0 41
1 0 0 1 0 0 1 741
1 0 0 1 0 1 0 641
1 0 0 1 0 1 1 7641
1 0 0 1 1 0 0 541
1 0 0 1 1 0 1 7541
1 0 0 1 1 1 0 6541
1 0 0 1 1 1 1 76541
1 0 1 0 0 0 0 31
1 0 1 0 0 0 1 731
1 0 1 0 0 1 0 631
1 0 1 0 0 1 1 7631
1 0 1 0 1 0 0 531
1 0 1 0 1 0 1 7531
1 0 1 0 1 1 0 6531
1 0 1 0 1 1 1 76531
1 0 1 1 0 0 0 431
1 0 1 1 0 0 1 7431
1 0 1 1 0 1 0 6431
1 0 1 1 0 1 1 76431
1 0 1 1 1 0 0 5431
1 0 1 1 1 0 1 75431
1 0 1 1 1 1 0 65431
1 0 1 1 1 1 1 765431
1 1 0 0 0 0 0 21
1 1 0 0 0 0 1 721
1 1 0 0 0 1 0 621
1 1 0 0 0 1 1 7621
1 1 0 0 1 0 0 521
1 1 0 0 1 0 1 7521
1 1 0 0 1 1 0 6521
1 1 0 0 1 1 1 76521
1 1 0 1 0 0 0 421
1 1 0 1 0 0 1 7421
1 1 0 1 0 1 0 6421
1 1 0 1 0 1 1 76421
1 1 0 1 1 0 0 5421
1 1 0 1 1 0 1 75421
1 1 0 1 1 1 0 65421
1 1 0 1 1 1 1 765421
1 1 1 0 0 0 0 321
1 1 1 0 0 0 1 7321
1 1 1 0 0 1 0 6321
1 1 1 0 0 1 1 76321
1 1 1 0 1 0 0 5321
1 1 1 0 1 0 1 75321
1 1 1 0 1 1 0 65321
1 1 1 0 1 1 1 765321
1 1 1 1 0 0 0 4321
1 1 1 1 0 0 1 74321
1 1 1 1 0 1 0 64321
1 1 1 1 0 1 1 764321
1 1 1 1 1 0 0 54321
1 1 1 1 1 0 1 754321
1 1 1 1 1 1 0 654321
1 1 1 1 1 1 1 7654321
Листинг:
def funk(x1, x2, x3, x4, x5, x6, x7): return x7*'7' + x6*'6' + x5*'5' + x4*'4' + x3*'3' + x2*'2' +x1*'1' print("x1, x2, x3, x4, x5, x6, x7, y") for x1 in range(2): for x2 in range(2): for x3 in range(2): for x4 in range(2): for x5 in range(2): for x6 in range(2): for x7 in range(2): x = funk(x1, x2, x3, x4, x5, x6, x7) print (x1, " ", x2, " ", x3, " ", x4, " ", x5, " ", x6, " ", x7, " ", x)
Задание 3. Построить схему тестирования студентов при сдачи итогового экзамена. Для сдачи экзамена надо положительно ответить на теоретический и практический вопросы. По каждому вопросу положительную или отрицательную оценку ставят 2 преподавателя и завкафедрой. В случае разных оценок у преподавателей, приоритетное слово за завкафедрой. Построить блок-схему алгоритма, записать функцию и таблицу истинности. Написать программу реализации алгоритма.
Получившаяся
функция:
Блок-схемы алгоритмов:
Схема реализации функции:
Результат работы программы:
x1 x2 x3 x4 x5 x6 y
0 0 0 0 0 0 0
0 0 0 0 0 1 0
0 0 0 0 1 0 0
0 0 0 0 1 1 0
0 0 0 1 0 0 0
0 0 0 1 0 1 0
0 0 0 1 1 0 0
0 0 0 1 1 1 1
0 0 1 0 0 0 0
0 0 1 0 0 1 0
0 0 1 0 1 0 0
0 0 1 0 1 1 1
0 0 1 1 0 0 0
0 0 1 1 0 1 0
0 0 1 1 1 0 0
0 0 1 1 1 1 1
0 1 0 0 0 0 0
0 1 0 0 0 1 0
0 1 0 0 1 0 0
0 1 0 0 1 1 1
0 1 0 1 0 0 0
0 1 0 1 0 1 0
0 1 0 1 1 0 0
0 1 0 1 1 1 1
0 1 1 0 0 0 0
0 1 1 0 0 1 0
0 1 1 0 1 0 0
0 1 1 0 1 1 1
0 1 1 1 0 0 0
0 1 1 1 0 1 0
0 1 1 1 1 0 0
0 1 1 1 1 1 1
1 0 0 0 0 0 0
1 0 0 0 0 1 0
1 0 0 0 1 0 0
1 0 0 0 1 1 1
1 0 0 1 0 0 0
1 0 0 1 0 1 0
1 0 0 1 1 0 0
1 0 0 1 1 1 1
1 0 1 0 0 0 0
1 0 1 0 0 1 0
1 0 1 0 1 0 0
1 0 1 0 1 1 1
1 0 1 1 0 0 0
1 0 1 1 0 1 0
1 0 1 1 1 0 0
1 0 1 1 1 1 1
1 1 0 0 0 0 0
1 1 0 0 0 1 0
1 1 0 0 1 0 0
1 1 0 0 1 1 1
1 1 0 1 0 0 0
1 1 0 1 0 1 0
1 1 0 1 1 0 0
1 1 0 1 1 1 1
1 1 1 0 0 0 0
1 1 1 0 0 1 0
1 1 1 0 1 0 0
1 1 1 0 1 1 1
1 1 1 1 0 0 1
1 1 1 1 0 1 1
1 1 1 1 1 0 1
1 1 1 1 1 1 1
Листинг:
print("x1 ", "x2 ", "x3 ", "x4 ", "x5 ", "x6 ", "y")
for x1 in range(2):
for x2 in range(2):
for x3 in range(2):
for x4 in range(2):
for x5 in range(2):
for x6 in range(2):
if (x1 and x2 and x3 and x4) or ((x1 or x2 or x3 or x4) and (x5 and x6)) == 1:
print(x1, " ", x2, " ", x3, " ", x4, " ", x5, " ", x6, " ", 1)
else:
print(x1, " ", x2, " ", x3, " ", x4, " ", x5, " ", x6," ", 0)
Задание 4. Построить схему управления работой сложной системы. Система считается работоспособной, если выполняется хотя бы 2 функции из 3 имеющихся. За выполнением каждой из функций следят 3 датчика. При срабатывании всех датчиков функция считается выполненной, при срабатывании 2 из 3 датчиков дается возможность проверить работу последнего датчика еще раз. Построить блок-схему алгоритма, записать функцию и таблицу истинности. Написать программу реализации алгоритма.
Получившаяся
функция:
Блок-схемы алгоритмов:
Схема реализации функции:
Результат работы программы:
x1 x2 x3 y
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
Листинг:
print("x1 ", "x2 ", "x3 ", "y")
numbers = []
for x1 in range(2):
for x2 in range(2):
for x3 in range(2):
if x1 or x2 == 1:
numbers.append(1)
if x1 or x3 == 1:
numbers.append(1)
if x2 or x3 == 1:
numbers.append(1)
if len(numbers) == 2:
if ((x1 or x2) and (x1 or x3) and (x2 or x3)) or x3 == 1:
print(x1, " ", x2, " ", x3, " ", 1)
numbers.clear()
else:
print(x1, " ", x2, " ", x3, " ", 0)
numbers.clear()
else:
if len(numbers) == 3:
print(x1, " ", x2, " ", x3, " ", 1)
numbers.clear()
else:
print(x1, " ", x2, " ", x3, " ", 0)
numbers.clear()
Вывод: в данной лабораторной работе были усвоены навыки построения схем реализации для различных процессов для объяснения логики их работы, построения к ним блок схем, программ реализации и логических функций. Например, по задачам: работоспособность системы, отказ системы, установка приоритетов операций, “голосование” логических элементов системы с учётом приоритетности.
