Программа для минимизации булевых функций при помощи карт Карно с пошаговой визуализацией
Введение
Актуальность темы
Объект и предмет исследования
Цели и задачи
Что сделано до нас?
Выбор инструментов для проектирования
Результаты проектирования проекта
Выбор инструментов для реализации
Результаты реализации проекта
Тестирование
Заключение и перспективы
Контактная информация
2.20M
Category: programmingprogramming

Программа для минимизации булевых функций при помощи карт Карно с пошаговой визуализацией

1. Программа для минимизации булевых функций при помощи карт Карно с пошаговой визуализацией

Факультет социально-экономических и компьютерных
наук
Кафедра информационных
технологий в бизнесе
Направление «Программная
инженерия»
Программа для минимизации булевых
функций при помощи карт Карно с
пошаговой визуализацией
Курсовой проект
Работу выполнили студенты группы РИС-24-2
Копаницкий Ярослав
Чирцов Юрий
Шустов Григорий
Руководитель
Кушев В.О.
Пермь 2025

2. Введение

Кафедра информационных
технологий в бизнесе
Направление «Программная
инженерия»
Введение
Булевы функции лежат в основе цифровой логики и
широко используются в программировании и
проектировании электронных схем. Их минимизация
позволяет упрощать логические выражения, делая их более
эффективными. Один из методов упрощения —
использование карт Карно, который может быть непрост
для понимания студентами.
Наше веб-приложение помогает освоить этот метод
пошагово: оно не только минимизирует булевы функции,
но и показывает весь процесс преобразования на примерах.
Копаницкий Ярослав, Чирцов Юрий, Шустов Григорий
Программа для минимизации булевых функций при
помощи карт Карно с пошаговой визуализацией
2/15

3. Актуальность темы

Кафедра информационных
технологий в бизнесе
Направление «Программная
инженерия»
Актуальность темы
Актуальность разработки веб-приложения для
минимизации булевых функций с помощью карт Карно
обусловлена тем, что современные студенты, особенно на
начальных этапах обучения, сталкиваются с трудностями
при работе с минимизацией булевых функций.
Разработка такого приложения позволяет закрыть пробел
между теорией и практикой, предлагая возможность
пошагово изучить процесс минимизации. Вебприложение может быть использовано как
преподавателями для быстрой минимизации выражений,
так и студентами для самостоятельного изучения
материала
Копаницкий Ярослав, Чирцов Юрий, Шустов Григорий
Программа для минимизации булевых функций при
помощи карт Карно с пошаговой визуализацией
3/15

4. Объект и предмет исследования

Кафедра информационных
технологий в бизнесе
Направление «Программная
инженерия»
Объект и предмет исследования
Объектом исследования являются булевы функции и
метод минимизации с помощью карт Карно. Предметом
исследования выступает процесс пошаговой
визуализации минимизации булевых функций и
взаимодействия пользователя с картой Карно в
образовательном приложении.
Копаницкий Ярослав, Чирцов Юрий, Шустов Григорий
Программа для минимизации булевых функций при
помощи карт Карно с пошаговой визуализацией
4/15

5. Цели и задачи

Кафедра информационных
технологий в бизнесе
Направление «Программная
инженерия»
Программа для минимизации булевых функций при
помощи карт Карно с пошаговой визуализацией
Цели и задачи
Цель проекта – готовое веб-приложение для минимизации булевых функций при помощи карт Карно с
пошаговой визуализацией.
Для того, чтобы вышел качественный и рабочий продукт нужно выполнить следующие задачи:
− приложение должно уметь строить карту Карно автоматически после ввода пользователем булевой
функции через таблицу истинности;
− создание обучающих материалов и подсказок внутри приложения для пользователей, плохо
знакомых с методом карт Карно;
− разработать удобный пользовательский интерфейс, обеспечивающий простоту понимания карты
Карно и детальное отображение результатов минимизации.
Копаницкий Ярослав, Чирцов Юрий, Шустов Григорий
5/15

6. Что сделано до нас?

Кафедра информационных
технологий в бизнесе
Направление «Программная
инженерия»
Что сделано до нас?
До нас уже существовали программы для минимизации
булевых функций, но большинство из них
предоставляют только конечный результат, без
пошаговой визуализации или возможности ручного
взаимодействия. А среди тех, которые представляют
очень редко можно найти пошаговое объяснение
действий.
Копаницкий Ярослав, Чирцов Юрий, Шустов Григорий
Программа для минимизации булевых функций при
помощи карт Карно с пошаговой визуализацией
6/15

7. Выбор инструментов для проектирования

Кафедра информационных
технологий в бизнесе
Направление «Программная
инженерия»
Программа для минимизации булевых функций при
помощи карт Карно с пошаговой визуализацией
7/15
Выбор инструментов для проектирования
Для проектирования веб-приложения были выбраны следующие инструменты:
-
UML-диаграммы: использовались для описания структуры системы взаимодействия между компонентами
и моделирования поведения приложения
Текстовые сценарии: описывали типичные действия пользователя, что помогло выявить ключевые
функции приложения на этапе проектирования.
Использование этих инструментов позволило чётко спланировать архитектуру системы и упростило переход к
этапу реализации.

8. Результаты проектирования проекта

Кафедра информационных
технологий в бизнесе
Направление «Программная
инженерия»
Результаты проектирования
проекта
Ниже представлены результаты проектирования
нашего веб-приложения:
- Структура веб-приложения, включающая:
парсинг выражения, построение таблицы
истинности, генерация карты Карно,
минимизация и визуализация;
- UML-диаграммы классов, отражающие
архитектуру системы и связи между
компонентами;
- Сценарии использования, описывающие
действия пользователя: ввод выражения,
просмотр пошаговой минимизации, получение
результата, необходимость помощи;
Копаницкий Ярослав, Чирцов Юрий, Шустов Григорий
Программа для минимизации булевых функций при
помощи карт Карно с пошаговой визуализацией
8/15

9. Выбор инструментов для реализации

Кафедра информационных
технологий в бизнесе
Направление «Программная
инженерия»
Программа для минимизации булевых функций при
помощи карт Карно с пошаговой визуализацией
Выбор инструментов для реализации
Для реализации проекта были выбраны следующие технологии:
-
-
C# и ASP.NET CORE - основа серверной части приложения.
Обеспечивают обработку логических выражений,
построение таблиц истинности, генерацию карты Карно и
минимизацию функции;
HTML, CSS, JS - используются для создания структуры и
оформления пользовательского интерфейса.
Выбор этих инструментов позволил создать надёжное,
интерактивное и кроссплатформенное веб-приложение с
наглядным интерфейсом и высоким уровнем удобства для
пользователей.
Копаницкий Ярослав, Чирцов Юрий, Шустов Григорий
9/15

10. Результаты реализации проекта

Кафедра информационных
технологий в бизнесе
Направление «Программная
инженерия»
Результаты реализации проекта
Ниже приведен принцип работы нашего веб-приложения:
1. Пользователь вводит логическое выражение или
вектор функции.
2. На основе введенной функции генерируется таблица
истинности.
3. На основе таблицы истинности генерируется СКНФ и
СДНФ.
4. На основе таблицы истинности генерируется карта
Карно.
5. Ниже карты Карно идет пошаговое объяснение ее
построения.
6. На основе таблицы истинности генерируется МКНФ
и МДНФ.
Копаницкий Ярослав, Чирцов Юрий, Шустов Григорий
Программа для минимизации булевых функций при
помощи карт Карно с пошаговой визуализацией
10/15

11. Тестирование

Кафедра информационных
технологий в бизнесе
Направление «Программная
инженерия»
Программа для минимизации булевых функций при
помощи карт Карно с пошаговой визуализацией
11/15
Тестирование
Тестирование
Для обеспечения стабильности и корректности работы
приложения мы используем unit-тестирование. В качестве
фреймворка для тестирования выбран MSTest ,
интегрированный в Visual Studio.
Будут созданы тесты для проверки основных функций
приложения — от обработки пользовательского ввода до
правильности минимизации булевых функций с помощью
карт Карно. Это поможет заранее выявлять ошибки,
упростит дальнейшее развитие проекта и повысит его
надежность.
Минимизации
Ввода
Построение
таблицы
истинности
Справочная
служба
Копаницкий Ярослав, Чирцов Юрий, Шустов Григорий
Построение карты
Карно

12. Заключение и перспективы

Кафедра информационных
технологий в бизнесе
Направление «Программная
инженерия»
Программа для минимизации булевых функций при
помощи карт Карно с пошаговой визуализацией
12/15
Заключение и перспективы
В рамках проекта было создано веб-приложение для пошаговой минимизации булевых функций с
использованием карт Карно. Оно сочетает теоретические основы с наглядной визуализацией, что делает
процесс обучения проще и понятнее.
Приложение позволяет не только получить минимизированную форму функции, но и проследить каждый этап
преобразования. Благодаря удобному интерфейсу и встроенным подсказкам, оно подходит как для студентов,
так и для преподавателей.
Проект достиг своей цели — мы разработали простой и эффективный инструмент для обучения минимизации
булевых функций.
В будущем наш проект можно развивать дальше и добавлять в него различные новые функции, например, как
генерация тестов для студентов с ответами для преподавателя.
Копаницкий Ярослав, Чирцов Юрий, Шустов Григорий

13.

Благодарим за внимание!

14. Контактная информация

Кафедра информационных
технологий в бизнесе
Направление «Программная
инженерия»
Программа для минимизации булевых функций при
помощи карт Карно с пошаговой визуализацией
14/15
Контактная информация
idkopanitskii@edu.hse.ru
Копаницкий Ярослав Дмитриевич
gvshustov@edu.hse.ru
Шустов Григорий Васильевич
ischirtsov@edu.hse.ru
Чирцов Юрий Сергеевич
Telegram
Telegram
Telegram

15.

Факультет социально-экономических и компьютерных
наук
Кафедра информационных
технологий в бизнесе
Направление «Программная
инженерия»
Оглавление
2
3
4
5
6
7
8
9
10
11
12
English     Русский Rules