Дискретная математика. Лабораторные работы 1-3. Для всех вариантов.
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
- Программа для просмотра текстовых файлов
- Microsoft Word
Описание
Лабораторная работа 1.
Отношения и их свойства
Бинарное отношение R на конечном множестве A: RA2 – задано списком упорядоченных пар вида (a,b), где a,bA. Требования на множество – в нём не должно встречаться повторяющихся элементов, кроме того, оно должно быть упорядочено по возрастанию. Если введённое пользователем множество не соответствует этим требованиям, программа должна автоматически привести его к необходимому виду. Программа должна построить матрицу бинарного отношения и определить его свойства: рефлексивность, антирефлексивность, симметричность, антисимметрич-ность, транзитивность (по материалам главы 1, п.1.3). Проверку свойств выполнять по матрице, сопровождая необходимыми пояснениями.
Работа программы должна происходить следующим образом:
1. На вход подаётся множество A из n элементов и список упорядоченных пар, задающий отноше-ние R (мощность множества, элементы и пары вводятся с клавиатуры).
2. Результаты выводятся на экран (с необходимыми пояснениями) в следующем виде:
а) матрица бинарного отношения размера nn;
б) список свойств данного отношения.
В матрице отношения строки и столбцы должны быть озаглавлены (элементы исходного мно-жества, упорядоченного по возрастанию).
3. После вывода результатов предусмотреть возможность изменения заданного бинарного отноше-ния либо выхода из программы.
Это изменение может быть реализовано различными способами. Например, вывести на экран список пар (с номерами) и по команде пользователя изменить что-либо в этом списке (удалить какую-то пару, добавить новую, изменить имеющуюся), после чего повторить вычисления, вы-брав соответствующий пункт меню. Другой способ – выполнять редактирование непосредст-венно самой матрицы отношения, после чего также повторить вычисления. Возможным вари-антом является автоматический пересчёт – проверка свойств отношения – после изменения лю-бого элемента матрицы.
Дополнительно: предусмотреть не только изменение отношения, но и ввод нового множества (раз-мер нового множества может тоже быть другим).
Лабораторная работа 2.
Генерация подмножеств
Задано целое положительное число n, которое представляет собой мощность некоторого множества. Требуется с минимальными трудозатратами генерировать все подмножества этого множества, для чего каждое последующее подмножество должно получаться из предыдущего путем добавления или удаления только одного элемента. Множество и все его подмножества представляются битовой шкалой. Для генерации использовать алгоритм построения бинарного кода Грея.
В качестве результата выводить построчно каждое из подмножеств (в виде битовой шкалы), сопровождая их порядковыми номерами. В случае большого количества результирующих строк (превышающего размер экрана) выполнять поэкранную выдачу, а также осуществлять их вывод в файл с выдачей на экран сообщения для пользователя – имя файла, его местонахождение...
Алгоритм построения бинарного кода Грея
Вход: n 0 – мощность множества.
Выход: последовательность кодов подмножеств B (битовая шкала).
1. Инициализация массива В и его выдача на печать.
2. В цикле по i (от 1 до 2 n –1):
а) Определение элемента для добавления или удаления: p:=Q(i);
б) Добавление или удаление элемента B[p]:=1–B[p];
в) Вывод очередного подмножества – массива B.
Функция Q(i) определяется как число, на единицу превышающее количество «2» в разложении числа i на множители. Очевидно, что для нечётных i значение этой функции равно 1, т.е. для нечётного i значение будет менять крайний правый бит шкалы (нумерация справа налево от 1), а для i, равных степени 2, будет «включаться» бит, соответствующий этой степени 2 (например, для 4 – 3-й бит, для 8 – 4-й бит, ...).
Пример: Выполнение алгоритма для n=3. Дополнительно: множество {a,b,c}.
i p B Дополнительно множества
0 0 0
1 1 0 0 1 {с}
2 2 0 1 1 {b,c}
3 1 0 1 0 {b}
4 3 1 1 0 {a,b}
5 1 1 1 1 {a,b,c}
6 2 1 0 1 {a,c}
7 1 1 0 0 {a}
Дополнительно:
Предоставить пользователю возможность задать исходное множество путём перечисления его элементов. Упорядочить это множество, сопоставить ему битовую шкалу. При выводе каждой строки битовой шкалы на экран в той же строке указывать конкретное подмножество, соответствующее этой шкале.
Лабораторная работа 3.
Поиск компонент связности графа
Граф задан его матрицей смежности. Требуется определить количество компонент связности этого графа (по материалам главы 3, п. 3.2.3 и 3.4). При этом должны быть конкретно перечислены вершины, входящие в каждую компоненту связности.
Выбор алгоритма поиска компонент связности – произвольный. Например, приветствуется использование одного из видов обхода (поиск в глубину или поиск в ширину по материалам п. 3.4.3).
Пользователю должна быть предоставлена возможность редактировать исходную матрицу, т.е. изменять исходный граф без выхода из программы. Предусмотреть также возможность изменения количества вершин.
При выполнении работы разрешается (даже рекомендуется!) использовать матрицу бинарных отношений из лабораторной работы No1.
Вход программы: число вершин графа и матрица смежности.
Выход: разбиение множества вершин на подмножества, соответствующие компонентам связности.
Дополнительно:
Заданный граф рассматривать как ориентированный. Выполнять поиск компонент сильной связности.
Отношения и их свойства
Бинарное отношение R на конечном множестве A: RA2 – задано списком упорядоченных пар вида (a,b), где a,bA. Требования на множество – в нём не должно встречаться повторяющихся элементов, кроме того, оно должно быть упорядочено по возрастанию. Если введённое пользователем множество не соответствует этим требованиям, программа должна автоматически привести его к необходимому виду. Программа должна построить матрицу бинарного отношения и определить его свойства: рефлексивность, антирефлексивность, симметричность, антисимметрич-ность, транзитивность (по материалам главы 1, п.1.3). Проверку свойств выполнять по матрице, сопровождая необходимыми пояснениями.
Работа программы должна происходить следующим образом:
1. На вход подаётся множество A из n элементов и список упорядоченных пар, задающий отноше-ние R (мощность множества, элементы и пары вводятся с клавиатуры).
2. Результаты выводятся на экран (с необходимыми пояснениями) в следующем виде:
а) матрица бинарного отношения размера nn;
б) список свойств данного отношения.
В матрице отношения строки и столбцы должны быть озаглавлены (элементы исходного мно-жества, упорядоченного по возрастанию).
3. После вывода результатов предусмотреть возможность изменения заданного бинарного отноше-ния либо выхода из программы.
Это изменение может быть реализовано различными способами. Например, вывести на экран список пар (с номерами) и по команде пользователя изменить что-либо в этом списке (удалить какую-то пару, добавить новую, изменить имеющуюся), после чего повторить вычисления, вы-брав соответствующий пункт меню. Другой способ – выполнять редактирование непосредст-венно самой матрицы отношения, после чего также повторить вычисления. Возможным вари-антом является автоматический пересчёт – проверка свойств отношения – после изменения лю-бого элемента матрицы.
Дополнительно: предусмотреть не только изменение отношения, но и ввод нового множества (раз-мер нового множества может тоже быть другим).
Лабораторная работа 2.
Генерация подмножеств
Задано целое положительное число n, которое представляет собой мощность некоторого множества. Требуется с минимальными трудозатратами генерировать все подмножества этого множества, для чего каждое последующее подмножество должно получаться из предыдущего путем добавления или удаления только одного элемента. Множество и все его подмножества представляются битовой шкалой. Для генерации использовать алгоритм построения бинарного кода Грея.
В качестве результата выводить построчно каждое из подмножеств (в виде битовой шкалы), сопровождая их порядковыми номерами. В случае большого количества результирующих строк (превышающего размер экрана) выполнять поэкранную выдачу, а также осуществлять их вывод в файл с выдачей на экран сообщения для пользователя – имя файла, его местонахождение...
Алгоритм построения бинарного кода Грея
Вход: n 0 – мощность множества.
Выход: последовательность кодов подмножеств B (битовая шкала).
1. Инициализация массива В и его выдача на печать.
2. В цикле по i (от 1 до 2 n –1):
а) Определение элемента для добавления или удаления: p:=Q(i);
б) Добавление или удаление элемента B[p]:=1–B[p];
в) Вывод очередного подмножества – массива B.
Функция Q(i) определяется как число, на единицу превышающее количество «2» в разложении числа i на множители. Очевидно, что для нечётных i значение этой функции равно 1, т.е. для нечётного i значение будет менять крайний правый бит шкалы (нумерация справа налево от 1), а для i, равных степени 2, будет «включаться» бит, соответствующий этой степени 2 (например, для 4 – 3-й бит, для 8 – 4-й бит, ...).
Пример: Выполнение алгоритма для n=3. Дополнительно: множество {a,b,c}.
i p B Дополнительно множества
0 0 0
1 1 0 0 1 {с}
2 2 0 1 1 {b,c}
3 1 0 1 0 {b}
4 3 1 1 0 {a,b}
5 1 1 1 1 {a,b,c}
6 2 1 0 1 {a,c}
7 1 1 0 0 {a}
Дополнительно:
Предоставить пользователю возможность задать исходное множество путём перечисления его элементов. Упорядочить это множество, сопоставить ему битовую шкалу. При выводе каждой строки битовой шкалы на экран в той же строке указывать конкретное подмножество, соответствующее этой шкале.
Лабораторная работа 3.
Поиск компонент связности графа
Граф задан его матрицей смежности. Требуется определить количество компонент связности этого графа (по материалам главы 3, п. 3.2.3 и 3.4). При этом должны быть конкретно перечислены вершины, входящие в каждую компоненту связности.
Выбор алгоритма поиска компонент связности – произвольный. Например, приветствуется использование одного из видов обхода (поиск в глубину или поиск в ширину по материалам п. 3.4.3).
Пользователю должна быть предоставлена возможность редактировать исходную матрицу, т.е. изменять исходный граф без выхода из программы. Предусмотреть также возможность изменения количества вершин.
При выполнении работы разрешается (даже рекомендуется!) использовать матрицу бинарных отношений из лабораторной работы No1.
Вход программы: число вершин графа и матрица смежности.
Выход: разбиение множества вершин на подмножества, соответствующие компонентам связности.
Дополнительно:
Заданный граф рассматривать как ориентированный. Выполнять поиск компонент сильной связности.
Дополнительная информация
май 2019, зачтено без замечаний
в программе указано имя автора
в программе указано имя автора
Похожие материалы
Дискретная математика. Лабораторная работа № 1
svladislav987
: 16 апреля 2021
Бинарное отношение R на конечном множестве A: RA2 – задано списком упорядоченных пар вида (a,b), где a,bA. Требования на множество – в нём не должно встречаться повторяющихся элементов, кроме того, оно должно быть упорядочено по возрастанию. Если введённое пользователем множество не соответствует этим требованиям, программа должна автоматически привести его к необходимому виду. Программа должна построить матрицу бинарного отношения и определить его свойства: рефлексивность, антирефлексивность, с
200 руб.
Дискретная математика. Лабораторная работа №1
Bodibilder
: 14 марта 2019
Лабораторная работа No 1 Множества и операции над ними
Написать программу, в которой для конечных упорядоченных множеств реализовать все основные операции (È , Ç , Í , \) с помощью алгоритма типа слияния (по материалам главы 1, п.1.2). Допустима организация множеств в виде списка или в виде массива.
Работа программы должна происходить следующим образом:
На вход подаются два упорядоченных множества A и B (вводятся с клавиатуры, элементы множеств – буквы латинского алфавита).
После ввода множес
15 руб.
Дискретная математика. Лабораторная работа №1
sibguter
: 5 июня 2018
Тема: Множества и операции над ними
Задание
Написать программу, в которой для конечных упорядоченных множеств реализовать все основные операции ( , \) с помощью алгоритма типа слияния (по материалам главы 1, п.1.2). Допустима организация множеств в виде списка или в виде массива.
Работа программы должна происходить следующим образом:
1. На вход подаются два упорядоченных множества A и B (вводятся с клавиатуры, элементы множеств – буквы латинского алфавита).
2. После ввода множеств выбирается т
49 руб.
Лабораторная работа № 1. Дискретная математика
Antipenko2016
: 8 января 2017
Лабораторная работа No 1 Множества и операции над ними
Написать программу, в которой для конечных упорядоченных множеств реализовать все основные операции ( , \) с помощью алгоритма типа слияния (по материалам главы 1, п.1.2). Допустима организация множеств в виде списка или в виде массива.
Работа программы должна происходить следующим образом:
1. На вход подаются два упорядоченных множества A и B (вводятся с клавиатуры, элементы множеств – буквы латинского алфавита).
2. После ввода множеств
150 руб.
Лабораторная работа №1 по дискретной математике
puzirki
: 25 декабря 2013
Работа No 1.Множества и операции над ними
Написать программу, в которой для конечных упорядоченных множеств реализовать все основные операции ( , \) с помощью алгоритма типа слияния (по материалам главы 1, п.1.2). Допустима организация множеств в виде списка или в виде массива.
Работа программы должна происходить следующим образом:
1. На вход подаются два упорядоченных множества A и B (вводятся с клавиатуры, элементы множеств – буквы латинского алфавита).
2. После ввода множеств выбирается тре
200 руб.
Дискретная математика. Лабораторная работа №1
PShulepov
: 13 октября 2013
Написать программу, в которой для конечных упорядоченных множеств реализовать все основные операции с помощью алгоритма типа слияния. Допустима организация множеств в виде списка или в виде массива.
100 руб.
Дискретная математика. Лабораторная работа №1
GTV8
: 10 сентября 2012
Написать программу, в которой для конечных упорядоченных множеств реализовать все основные операции ( , \) с помощью алгоритма типа слияния (по материалам главы 1, п.1.2). Допустима организация множеств в виде списка или в виде массива.
Работа программы должна происходить следующим образом:
1. На вход подаются два упорядоченных множества A и B (вводятся с клавиатуры, элементы множеств – буквы латинского алфавита).
2. После ввода множеств выбирается требуемая операция (посредством текстового ме
250 руб.
Лабораторная работа №1 по дискретной математике
migsvet
: 7 апреля 2012
Множества и операции над ними
Написать программу, в которой для конечных упорядоченных множеств реализовать все основные операции ( , \) с помощью алгоритма типа слияния (по материалам главы 1, п.1.2). Допустима организация множеств в виде списка или в виде массива.
Работа программы должна происходить следующим образом:
1. На вход подаются два упорядоченных множества A и B (вводятся с клавиатуры, элементы множеств – буквы латинского алфавита).
2. После ввода множеств выбирается требуемая опер
100 руб.
Другие работы
Социология. Маргиналы
Qiwir
: 29 августа 2013
Понятие маргинальности служит для обозначения пограничности, периферийности или промежуточности по отношению к каким либо социальным общностям (национальным, классовым, культурным). Маргинал, просто говоря,- “промежуточный” человек. Классическая, так сказать, эталонная фигура маргинала - человек, пришедший из села в город в поисках работы: уже не крестьянин, еще не рабочий; нормы деревенской субкультуры уже подорваны, городская субкультура еще не усвоена. Главный признак маргинализации - разрыв
5 руб.
Задача №5 из контрольной работы №1 (вариант 9)
ilya01071980
: 28 августа 2017
Контрольная работа 1
Вариант 9
Задача 5
1. Перечислите электронные приборы, служащие для отображения информации.
2. Поясните принцип действия и устройство заданного индикаторного прибора, поясните маркировку.
Решение.
1. Электронные приборы, служащие для отображения информации:
- электронно-лучевые трубки (ЭЛТ);
- знаковые газоразрядные индикаторы;
- вакуумные накаливаемые индикаторы;
- полупроводниковые индикаторы;
- жидкокристаллические индикаторы (ЖКИ).
50 руб.
ЖБК каркасного здания
Рики-Тики-Та
: 4 июня 2012
1. Компоновка конструктивной схемы сборного перекрытия
1.1 Расчёт и конструирование многопустотной предварительно напряжённой плиты перекрытия
1.1.1 Исходные данные
1.1.2 Расчёт плиты по предельным состояниям первой группы
1.1.3 Расчёт плиты по предельным состояниям второй группы
1.2 Расчёт и конструирование однопролётного ригеля
1.2.1 Исходные данные
1.2.2 Определение усилий в ригеле
1.2.4 Расчёт прочности ригеля по сечению, наклонному к продольной оси
1.2.5 Построение эпюры материалов
1.3 Расч
55 руб.
Объектно-ориентированное программирование. Лабораторная работа №3. Для всех вариантов (2019)
nik200511
: 16 мая 2019
Лабораторная работа №3
Тема: Принцип полиморфизма. Использование виртуальных методов.
Задание:
Внести следующие изменения в программу, разработанную в лабораторной работе №2:
Использовать общий метод движения фигур, описанный в родительском классе самого верхнего уровня иерархии (т.е. описание самого метода движения Move убрать из всех классов, кроме самого верхнего родительского).
Использовать виртуальные методы для корректной работы программы после внесенных изменений.
52 руб.