Главная страница
Навигация по странице:

  • Иркутский национальный исследовательский технический университет

  • Лабораторная работа №2. Построение матриц бинарных отношений. Цели работы

  • Задание на выполнение ЛР

  • Алгоритм

  • Тесты: 1)

  • Лаба по дискретке. Лабораторная 2 дискретная математика. Отчет п о лабораторной работе 1 вариант 9 по дисциплине дискретная математика


    Скачать 44.52 Kb.
    НазваниеОтчет п о лабораторной работе 1 вариант 9 по дисциплине дискретная математика
    АнкорЛаба по дискретке
    Дата22.12.2022
    Размер44.52 Kb.
    Формат файлаdocx
    Имя файлаЛабораторная 2 дискретная математика.docx
    ТипОтчет
    #858981

    Министерство науки и высшего образования Российской Федерации

    Федеральное государственное бюджетное образовательное учреждение
    высшего образования
    Иркутский национальный исследовательский технический университет


    Институт информационных технологий и анализа данных

    наименование института

    Отделение прикладной математики и информатики

    наименование кафедры

    Использование языковых средств программирования для задач теории множеств.

    Отчет

    По лабораторной работе №1
    вариант №9
    по дисциплине «дискретная математика»







    Выполнил студент




    АСУб-22-2










    Гончаренко Д.И.







    шифр




    подпись




    Фамилия И.О.

    Принял доцент
















    Носырева Л.Л.













    подпись




    Фамилия И.О.

    Работа защищена с оценкой





    Иркутск 2022 г.


    Лабораторная работа №2. Построение матриц бинарных отношений.

    Цели работы:
    Изучить способы численного моделирования матрицы бинарного отношения и разработать компьютерную программу для построения матрицы бинарного отношения на двух заданных числовых множествах

    Задание на выполнение ЛР
    Составить компьютерную программу для построения матриц бинарных отношений, соответствующих вашему варианту. Программа должна предусматривать два способа введения множества А, на котором задано бинарное отношение: а) генерировать случайную последовательность входных данных, упорядочивать поля с входными данными по возрастанию, б) ручной ввод множества А; затем динамически строить булеву матрицу заданного отношения, проверять, является ли данное отношение полным, диагональю, рефлексивным, симметричным, антисимметричным, транзитивным.

    Отношение: a = b + 2

    Алгоритм:
    1) Создаем матрицу из случайных чисел, а количество элементов матрицы выбирает человек. Далее проверяем симметричность, рефлексивность, антисимметричность и транзитивность.

    2) Создаем матрицу задавая через enter числа. Далее проверяем симметричность, рефлексивность, антисимметричность и транзитивность.




    1. Генерируем массив из случайных чисел.

    2. С помощью созданного массива выводим матрицу на экран

    3. Проверяем симметричность\ антисимметричность

    4. Проверяем на рефлексивность\ не рефлексивность

    5. Проверяем транзитивность

    6. Выводим на экран ответ



    1. Пользователь вводит элементы множества

    2. Создаем массив из заданных элементов

    3. С помощью заданного массива выводим матрицу на экран

    4. Проверяем симметричность\ антисимметричность

    5. Проверяем на рефлексивность\ не рефлексивность

    6. Проверяем транзитивность

    7. Выводим на экран ответ


    Программа:

    import random
    print("Если нужно сгенерировать случайную последовательность введите 1")
    print("Если нужно ввести вручную последовательность введите 2")
    what = int(input(""))
    mnojestvo = []
    massiv = []
    Flag = 0
    if what == 1:
    while len(mnojestvo) != 5:
    a = random.randint(1, 9)
    if a not in mnojestvo:
    mnojestvo.append(a)
    mnojestvo.sort()
    print(" ", *mnojestvo)
    for i in range(0, len(mnojestvo)):
    massiv = []
    for j in range(0,len(mnojestvo)):
    if (mnojestvo[i] - mnojestvo[j]) % 3 == 0 and (mnojestvo[i] - mnojestvo[j]) != 0:
    massiv.append(1)
    Flag = 1
    else:
    massiv.append(0)
    print(mnojestvo[i], *massiv)
    print("Не рефлексивно")
    print("Симметрично")
    if Flag == 0:
    print("Не транзитивно")
    else:
    print("Транзитивно")


    if what == 2:
    while True:
    a = (input(""))
    if a == "*":
    break
    if a not in mnojestvo:
    mnojestvo.append(int(a))
    mnojestvo.sort()
    print(" ", *mnojestvo)
    for i in range(0, len(mnojestvo)):
    massiv = []
    for j in range(0, len(mnojestvo)):
    if (mnojestvo[i] - mnojestvo[j]) % 3 == 0 and (mnojestvo[i] - mnojestvo[j]) != 0 :
    massiv.append(1)
    Flag = 1
    else:
    massiv.append(0)
    print(mnojestvo[i], *massiv)
    print("Не рефлексивно")
    print("Симметрично")
    if Flag == 0:
    print("Не транзитивно")
    else:
    print("Транзитивно")


    Тесты:

    1)




    2)

    3 )



    написать администратору сайта