Вы находитесь на странице: 1из 11

Белорусский Государственный Университет Информатики и Радиоэлектроники

Отчет по Лабораторной работе №2


Выполнение операций над графиками

Работу выполнили:
Степанов Н.Ю., Протас С.А., Рудьман И.О
Группа 021704
Проверила:
Гулякина Н.А.

Минск 2021
Постановка задачи:
Даны 2 графика, выполнить операции над ними: объединение, пересечение,
разность, симметрическую разность, инверсию, композицию.
Элементы графиков задаются перечислением.
Уточнение постановки задачи:
1. Мощность графика задается пользователем, мощность графика является
целым числом, мощность графика ϵ[1;10], пользователь задает значение
из этого диапазона
2. Элементами графика являются упорядоченные пары, элементами
которых являются целые числа ϵ[1;20]. Пары, принадлежащие графикам,
вводятся пользователем, без повторений следующим образом:
пользователь задает первый элемент кортежа, затем задает второй
элемент.
3. Пользователь выбирает одну из предложенных операций, и она
выполняется согласно алгоритму
4. Программа работает, пока пользователь не выбрал операцию выхода
Определения:
Множество – совокупность некоторых элементов, мыслимые как единое.

График — это множество, каждый элемент которого является парой или


кортежем длины 2.

Кортеж — упорядоченная последовательность конечного числа элементов.

Мощность множества – характеристика множеств, обобщающая понятие


количества элементов конечного множества.

Объединение множеств – множество, содержащее все элементы исходных


множеств.
Пусть даны множества А и В, тогда A ∪ B= { x ∈ A V x ∈ B }.
Пересечение множеств – множество, которому принадлежат только те
элементы, которые принадлежат одновременно всем данным множествам.
Пусть даны множества А и В, тогда A ∩ B= { x ∈ A∧x ∈ B } .

График P называется инверсией графика Q óP = {< x , y >¿< y , x> ∈Q }

График R называется композицией двух графиков Р и Q тогда, когда для


∀ 〈 x , y 〉∈ R∃ z ∶ 〈 x , z 〉∈Р∧〈 z , y 〉∈Q .
Разность множеств A и B – множество, состоящее из элементов, которые
принадлежат множеству A, но не принадлежащих B. Обозначается A\B

Симметрическая разность множеств A и B – множество, состоящее из


элементов, которые принадлежат только лишь множеству A или только лишь
множеству B. Обозначается A∆B.

Порядковый номер - номер указывающий место и последовательность по


принятому порядку счёта.
Порядковый номер элемента во множестве – номер указывающий на место
элемента во множестве при порядке счета с начала множества
Алгоритм

1. Ввод данных
1.1. Пользователь вводит мощность множества (графика) A
1.2. Пользователь вводит мощность множества (графика B
1.3. Пользователь задает множество (график) A
1.3.1. Создадим переменную k
1.3.2. Пользователь вводит первую пару (зададим переменной k значение 1)
1.3.2.1. Вводит первый элемент в паре
1.3.2.2. Вводит второй элемент в паре
1.3.3. Если k меньше мощности A
1.3.3.1. Пользователь вводит пару:
1.3.3.1.1. Вводит первый элемент в паре
1.3.3.1.2. Вводит второй элемент в паре
1.3.3.2. Добавляем пару во множество (график) A
1.3.3.3. Увеличиваем k на 1
1.4. Пользователь задает множество (график) B
1.4.1. Пользователь вводит первую пару (зададим переменной k значение 1)
1.4.1.1. Вводит первый элемент в паре
1.4.1.2. Вводит второй элемент в паре
1.4.2. Если k меньше мощности B
1.4.2.1. Пользователь вводит пару:
1.4.2.1.1. Вводит первый элемент в паре
1.4.2.1.2. Вводит второй элемент в паре
1.4.2.2. Добавляем пару во множество (график) B
1.4.2.3. Увеличиваем k на 1
1.5. Выводим на экран элементы множества A
1.6. Выводим на экран элементы множества B
2. Выбор операции
2.1. Пользователь должен выбрать, какую из операции он хочет выполнить, в зависимости от его
выбора будет выполнена операция из следующего списка:
 Объединение
 Пересечение
 Разность множеств A и B
 Разность множеств В и А
 Симметрическая разность
 Инверсия графика А
 Инверсия графика В
 Композиция графиков A и B
 Композиция графиков B и А
 Выход из программы
2.2. Если пользователь выбрал объединение, переходим к пункту 3;
2.3. Если пользователь выбрал пересечение, переходим к пункту 4;
2.4. Если пользователь выбрал разность множеств A и B, переходим к пункту 5;
2.5. Если пользователь выбрал разность множеств В и А, переходим к пункту 6;
2.6. Если пользователь выбрал симметрическую разность, переходим к пункту 7;
2.7. Если пользователь выбрал инверсию графика A, переходим к пункту 8;
2.8. Если пользователь выбрал инверсию графика B, переходим к пункту 9;
2.9. Если пользователь выбрал композицию графиков A и B, переходим к пункту 10;
2.10. Если пользователь выбрал композицию графиков B и A, переходим к пункту 11;
2.11. Если пользователь выбрал выход из программы, переходим к пункту 12;
3. Операция объединения
3.1. Создаём пустое множество С, которое будет результатом операции
3.2. Добавляем во множество С все элементы множества А (теперь в нем хранится n элементов)
3.3. Берем первый элемент множества А
3.4. Берем первый элемент множества B
3.4.1. Сравниваем выбранные элементы:
3.4.1.1. Если первая компонента элемента множества А равна первой компоненте
элемента множества В:
3.4.1.1.1. Если вторая компонента элемента множества А равна второй
компоненте элемента множества В, то выбранные элементы равны
3.4.1.1.2. Если вторая компонента элемента множества А не равна второй
компоненте элемента множества В, то выбранные элементы не равны
3.4.1.2. Если первая компонента элемента множества А не равна первой
компоненте элемента множества В, то выбранные элементы не равны
3.4.2. Если выбранные элементы не равны
3.4.2.1. Если элемент из множества А не последний
3.4.2.1.1. Выбираем следующий элемент множества А и
переходим к 3.4.1
3.4.2.2. Если элемент из множества А последний,
3.4.2.2.1. Добавляем элемент множества B в С
3.4.2.2.2. Если элемент из множества B не последний
3.4.2.2.2.1. Берем первый элемент из множества А и следующий элемент
множества B и переходим к 3.4.1
3.4.2.2.3. Если элемент из множества B последний, переходим к шагу 3.5
3.4.3. Если выбранные элементы равны
3.4.3.1. Если элемент из множества B не последний
3.4.3.1.1. Выбираем следующий элемент множества B и первый элемент
множества А и переходим к 3.4.1
3.4.3.2. Если элемент из множества B последний, переходим к шагу 3.5
3.5. Выводим все элементы множества С
3.6. Переходим к шагу 2
4. Операция пересечения
4.1. Создаём пустое множество С, которое будет результатом операции
4.2. Берем первый элемент множества А и первый элемент множества B
4.2.1. Сравниваем выбранные элементы:
4.2.1.1. Если первая компонента элемента множества А равна первой компоненте
элемента множества В:
4.2.1.1.1. Если вторая компонента элемента множества А равна второй
компоненте элемента множества В, то выбранные элементы равны
4.2.1.1.2. Если вторая компонента элемента множества А не равна второй
компоненте элемента множества В, то выбранные элементы не равны
4.2.2. Если первая компонента элемента множества А не равна первой компоненте
элемента множества В, то выбранные элементы не равны
4.2.3. Если выбранные элементы равны
4.2.3.1. Добавляем элемент множества B в С
4.2.3.2. Если элемент из множества А не последний
4.2.3.2.1. Выбираем следующий элемент множества А и первый элемент
множества B и переходим к 4.2.1
4.2.3.3. Если элемент из множества А последний
4.2.3.3.1. Переходим к шагу 4.3
4.2.4. Если выбранные элементы не равны
4.2.4.1. Если элемент из множества B не последний
4.2.4.1.1. Выбираем следующий элемент множества B и переходим к 4.2.1
4.2.4.2. Если элемент из множества B последний
4.2.4.2.1. Переходим к шагу 4.2.1.2
4.3. Выводим все элементы множества С
4.4. Переходим к шагу 2
5. Операция разности А и В
5.1. Создается пустое множество E, которое будет результатом операции
5.2. Выбираем первый элемент множества A
5.3. Выбираем первый элемент множества B
5.4. Сравниваем выбранные элементы:
5.4.1. Если первая компонента элемента множества А равна первой компоненте элемента
множества В:
5.4.1.1. Если вторая компонента элемента множества А равна второй компоненте
элемента множества В, то выбранные элементы равны
5.4.1.2. Если вторая компонента элемента множества А не равна второй компоненте
элемента множества В, то выбранные элементы не равны
5.4.2. Если первая компонента элемента множества А не равна первой компоненте
элемента множества В, то выбранные элементы не равны
5.5. Если выбранный элемент множества А не равен выбранному элементу множества В
5.5.1. Если выбранный элемент множества В не является последним:
5.5.1.1. Выбираем следующий элемент множества B, переходим к пункту 5.4
5.5.2. Если выбранный элемент множества В является последним:
5.5.2.1. Записываем выбранный элемент множества А в множество Е
5.5.2.2. Если выбранный элемент множества А не является последним, выбираем
следующий элемент множества А, переходим к пункту 5.3.
5.5.2.3. Если выбранный элемент множества А является последним, переходим к
пункту 5.7.
5.6. Если выбранный элемент множества А равен выбранному элементу множества В
5.6.1. Если выбранный элемент множества А не является последним, выбираем
следующий элемент множества А, переходим к пункту 5.3
5.6.2. Если выбранный элемент множества А является последним, переходим к пункту 5.7
5.7. Е – результат разности множества А и В, Е выводится на экран
5.8. Переходим к пункту 2
6. Операция разности В и А
6.1. Создается пустое множество F, которое будет результатом операции
6.2. Выбираем первый элемент множества B
6.3. Выбираем первый элемент множества A
6.4. Сравниваем выбранные элементы:
6.4.1. Если первая компонента элемента множества А равна первой компоненте элемента
множества В:
6.4.1.1. Если вторая компонента элемента множества А равна второй компоненте
элемента множества В, то выбранные элементы равны
6.4.1.2. Если вторая компонента элемента множества А не равна второй компоненте
элемента множества В, то выбранные элементы не равны
6.4.2. Если первая компонента элемента множества А не равна первой компоненте
элемента множества В, то выбранные элементы не равны
6.5. Если выбранный элемент множества B не равен выбранному элементу множества A:
6.5.1. Если выбранный элемент множества A не является последним:
6.5.1.1. Выбираем следующий элемент множества A, переходим к пункту 6.4
6.5.2. Если выбранный элемент множества A является последним:
6.5.2.1. Записываем выбранный элемент множества B в множество F
6.5.2.2. Если выбранный элемент множества B не является последним, выбираем
следующий элемент множества B, переходим к пункту 6.3.
6.5.2.3. Если выбранный элемент множества B является последним, переходим к
пункту 6.7.
6.6. Если выбранный элемент множества B равен выбранному элементу
множества A

6.6.1. Если выбранный элемент множества B не является последним, выбираем


следующий элемент множества B, переходим к пункту 6.3
6.6.2. Если выбранный элемент множества B является последним, переходим к пункту 6.7
6.7. F – результат разности множества B и A
6.8. F выводится на экран
6.9. Переходим к пункту 2
7. Операция симметрической разности
7.1. Создаем пустое множество C - результат операции
7.2. Выбираем первый элемент множества A
7.3. Выбираем первый элемент множества B
7.4. Сравниваем выбранные элементы:
7.4.1. Если первая компонента элемента множества А равна первой компоненте элемента
множества В:
7.4.1.1. Если вторая компонента элемента множества А равна второй компоненте
элемента множества В, то выбранные элементы равны
7.4.1.2. Если вторая компонента элемента множества А не равна второй компоненте
элемента множества В, то выбранные элементы не равны
7.4.2. Если первая компонента элемента множества А не равна первой компоненте
элемента множества В, то выбранные элементы не равны
7.5. Если выбранный элемент множества A не равен выбранному элементу множества В:
7.5.1. Если выбранный элемент множества В не является последним:
7.5.1.1. Выбираем следующий элемент множества B, переходим к пункту 7.4
7.5.2. Если выбранный элемент множества В является последним:
7.5.2.1. Записываем выбранный элемент множества A в множество С
7.5.2.2. Если выбранный элемент множества A не является последним, выбираем
следующий элемент множества A, переходим к пункту 7.3.
7.5.2.3. Если выбранный элемент множества A является последним, переходим к
пункту 7.7.
7.6. Если выбранный элемент множества A равен выбранному элементу множества B
7.6.1. Если выбранный элемент множества A не является последним, выбираем
следующий элемент множества A, переходим к пункту 7.3
7.7. Выбираем первый элемент множества B
7.8. Выбираем первый элемент множества A
7.9. Сравниваем выбранные элементы:
7.9.1. Если первая компонента элемента множества В равна первой компоненте элемента
множества А:
7.9.1.1. Если вторая компонента элемента множества Вравна второй компоненте
элемента множества А, то выбранные элементы равны
7.9.1.2. Если вторая компонента элемента множества В не равна второй компоненте
элемента множества А, то выбранные элементы не равны
7.9.2. Если первая компонента элемента множества В не равна первой компоненте
элемента множества В, то выбранные элементы не равны
7.10. Если выбранный элемент множества B не равен выбранному элементу множества A:
7.10.1. Если выбранный элемент множества A не является последним:
7.10.1.1. Выбираем следующий элемент множества A, переходим к пункту 7.9
7.10.2. Если выбранный элемент множества A является последним:
7.10.2.1. Если выбранный элемент множества B в множество С
7.10.2.2. Если выбранный элемент множества B не является последним, выбираем
следующий элемент множества B, переходим к пункту 7.9
7.10.2.3. Если выбранный элемент множества B является последним, переходим к
пункту 7.12.
7.11. Если выбранный элемент множества B равен выбранному элементу множества
7.11.1. Если выбранный элемент множества B не является последним, выбираем
следующий элемент множества B, переходим к пункту
8. Операция композиции графиков A и В
8.1. Создаем пустой график С
8.2. Берем первый элемент графика A
8.3. Берем первый элемент графика B
8.4. Если вторая компонента элемента графика A равна первой компоненте элемента графика B
8.4.1. Создать кортеж d
8.4.2. В качестве первой компоненты d записать первую компоненту элемента графика A
8.4.3. В качестве второй компоненты d записать вторую компоненту элемента графика B
8.4.4. Добавить кортеж d в график C
8.5. Если элемент из графика B не последний
8.5.1. Взять следующий элемент графика B
8.5.2. Перейти к пункту 8.4
8.6. Если элемент графика В последний
8.6.1. Если элемент графика А не последний
8.6.1.1. Взять следующий элемент графика А
8.6.1.2. Перейти к пункту 8.3
8.7. Вывести все элементы графика С
8.8. Переходим к пункту 2.1

9. Операция композиции графиков В и А


9.1. Создаем пустой график С
9.2. Берем первый элемент графика В
9.3. Берем первый элемент графика А
9.4. Если вторая компонента элемента графика В равна первой компоненте элемента графика А
9.4.1. Создать кортеж d
9.4.2. В качестве первой компоненты d записать первую компоненту элемента графика В
9.4.3. В качестве второй компоненты d записать вторую компоненту элемента графика А
9.4.4. Добавить кортеж d в график C
9.5. Если элемент из графика А не последний
9.5.1. Взять следующий элемент графика А
9.5.2. Перейти к пункту 9.4
9.6. Если элемент графика А последний
9.6.1. Если элемент графика В не последний
9.6.1.1. Взять следующий элемент графика В
9.6.1.2. Перейти к пункту 9.3
9.7. Вывести все элементы графика С
9.8. Переходим к пункту 2.1