 
        
        ПДС ЛР1 Отчет
.docxМИНОБРНАУКИ РОССИИ
Федеральное государственное бюджетное образовательное учреждение
высшего образования
«Ижевский государственный технический университет имени М. Т. Калашникова»
Институт «Информатика и вычислительная техника»
Кафедра «Автоматизированные системы обработки информации и управления»
ОТЧЁТ
по лабораторной работе № 1
по дисциплине «Программирование дискретных структур»
на тему «Работа с множествами»
Вариант 2
Выполнил
студент гр. Б21-780-4 Д.О. Бондарь
Проверил
старший преподаватель кафедры АСОИУ Ю.В. Шибанова
Ижевск 2022
Текст задания:
Написать программу на языке Python, которая по заданным множествам А, В, С формирует множество, задаваемое формулой. Элементы полученного множества вывести на экран.
Предусмотреть возможность ввода исходных множеств с клавиатуры.
Предусмотреть обработку ошибок: ввод одинаковых элементов множества.
Вариант
тестового задания №2
– формула 
 
Аналитическое решение
Первым
действием вычисляем множество 
 – операция логической дизъюнкции.
– операция логической дизъюнкции.
Затем находим разность множества A с полученным в первом действии множеством.
Ответ выводим на экран.
Программирование
Средствами языка программирования Python реализуем ввод данных и их запись в объект типа данных «set», работающим согласно классической теории множеств.
После чего выведем на экран результат преобразований, описанный в аналитическом решении.
Код программы
| A = set(input("Введите эл-ты множества А через пробел: ")) B = set(input("Введите эл-ты множества B через пробел: ")) C = set(input("Введите эл-ты множества С через пробел: ")) result = A.difference((B.union(C))) if result == set(): print("Пустое множество") else: print(' '.join(result)) | 
Функция X.union(Y, Z, …) – возвращает объект типа set – множество - результат дизъюнкции множеств X, Y, Z, …
Функция X.difference(Y, Z, …) – возвращает объект типа set – множество – результат разности множества X с множествами Y, Z….
Также выполняется проверка на пустое множество, т.к. при простом вызове print(result) интерпретатор выведет назвние тип данных set() вместо пустого множества.
‘ ‘.join(result) – «аккуратный» вывод значений через пробел.
Пример входных данных №1
| A | 1 2 3 4 5 | 
| B | 1 2 5 9 | 
| C | 1 4 5 9 | 
Аналитическое решение на примере входных данных
Действие 1.
| 
			 | 1 2 5 9 | 1 4 5 9 | 1 2 4 5 9 | 
Действие 2.
| 
			 | 1 2 3 4 5 | 1 2 4 5 9 | 3 | 
Ответ: 3
Результат выполнения программы (скриншот)
 
Пример входных данных №2
| A | 5 8 2 4 0 1 6 | 
| B | 2 6 5 9 3 4 1 | 
| C | 2 5 | 
Аналитическое решение на примере входных данных
Действие 1.
| 
 | 2 6 5 9 3 4 1 | 2 5 | 2 6 5 9 3 4 1 | 
Действие 2.
| 
 | 5 8 2 4 0 1 6 | 2 6 5 9 3 4 1 | 0 8 | 
Ответ: 0, 8
Результат выполнения программы (скриншот)
 
Пример входных данных №3
| A | 1 2 3 | 
| B | 1 2 | 
| C | 3 | 
Аналитическое решение на примере входных данных
Действие 1.
| 
 | 1 2 | 3 | 1 2 3 | 
Действие 2.
| 
 | 1 2 3 | 1 2 3 | 
			 | 
Ответ:
Результат выполнения программы (скриншот)
 

 
 
