Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Контрольная работа по "Дискретной математике"

Автор:   •  Май 2, 2023  •  Контрольная работа  •  8,013 Слов (33 Страниц)  •  71 Просмотры

Страница 1 из 33

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

Федеральное государственное общеобразовательное учреждение

высшего образования

«Ярославский государственный технический университет»

Кафедра «Информационных систем»

Работу проверил

«__» __________ 2023

КОНТРОЛЬНАЯ РАБОТА

по курсу “Дискретная математика”

ЯГТУ 09.03.02 — 004 КР

Работу выполнил студент гр.

«__» __________ 2023

2023


[pic 1]

 Алгоритм решения:

- Заполняем таблицу истинности с которой будем работать

- Для составления СДНФ проходим по строкам таблицы отбирая только те, в которых результирующий бит = 1.

- После этого проходим по выбранным строкам, соединяя их члены с помощью конъюнкции, при этом если элемент = 0 то применяем к нему инверсию.

- Затем полученные конъюнкции строк соединяем между собой дизъюнкцией.

- Для составления СКНФ проходим по строкам таблицы отбирая только те, в которых результирующий бит = 0.

- После этого проходим по выбранным строкам, соединяя их члены с помощью дизъюнкции, при этом если элемент = 1 то применяем к нему инверсию.

- Затем полученные дизъюнкции строк соединяем между собой конъюнкцией.

Текст модуля:

using System.Text.RegularExpressions;

string[] matr;

string sdnf, sknf = "";

string[] menu0 =

{

    "Выберите один из двух вариантов...",

    "0 - Загнать тестовую матрицу",

    "1 - Ввести свою матрицу"

};

string[] menu = {

    "Выберите желаемое действие...",

    "1 - CДНФ",

    "2 - СКНФ",

    "3 - Изменить конкретную строку",

    "4 - Показать таблицу истинности",

    "5 - Переписать всю таблицу",

    "6 - Выход из программы"

};

string? v = "";

printMenu(menu0);

while(v != "0" && v != "1")

{

    v = Console.ReadLine();

}

if (v == "0")

    matr = test();

else

    matr = inputTable();

v = "";

printMenu(menu);

while (v != "6")

{

    v = Console.ReadLine();

    switch (v)

    {

        case "1":

            sdnf = building_nf("СДНФ", matr, "1", "&&", "||");

            Console.WriteLine(sdnf);

            break;

        case "2":

            sknf = building_nf("СКНФ", matr, "0", "||", "&&");

            Console.WriteLine(sknf);

            break;

        case "3":      

            matr = change(matr);

            break;

        case "4":

            printTable(matr);

            break;

        case "5":

            matr = inputTable();

            break;

    }

}

string[] inputTable()

{

    string[]? _matr = new string[32];

    Console.WriteLine("Вводите строки таблицы истинности в формате 'a b c d e f(a,b,c,d,e)' :");

    int i = 0;

    for(int a = 0; a < 2; a++)

        for(int b = 0; b < 2; b++)

            for(int c = 0; c < 2; c++)

                for(int d = 0; d < 2; d++)

                    for(int e = 0; e < 2; e++)

...

Скачать:   txt (35.8 Kb)   pdf (224.1 Kb)   docx (78 Kb)  
Продолжить читать еще 32 страниц(ы) »
Доступно только на Essays.club