ПДС ЛР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 |
|
Ответ:
Результат выполнения программы (скриншот)