Разработка и конструирование логического калькулятора | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 30 ноября, печатный экземпляр отправим 4 декабря.

Опубликовать статью в журнале

Авторы: ,

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №20 (206) май 2018 г.

Дата публикации: 18.05.2018

Статья просмотрена: 1636 раз

Библиографическое описание:

Чалыкина, Е. Г. Разработка и конструирование логического калькулятора / Е. Г. Чалыкина, И. В. Сухан. — Текст : непосредственный // Молодой ученый. — 2018. — № 20 (206). — С. 39-44. — URL: https://moluch.ru/archive/206/50486/ (дата обращения: 16.11.2024).



В статье описан процесс разработки и создания собственного логического калькулятора, позволяющего решать основные расчетные задачи математической логики.

В сети Интернет имеется большое количество пользовательских программ, доступных для online-использования или для скачивания. В том числе есть и программы-«попытки» анализа логических формул, но ни одна не содержит всех необходимых компонентов анализа, либо вовсе предоставляет некорректный результат. В ходе анализа соответствующего потребительского рынка были выявлены основные проблемы, встречающиеся во всех инструментах для работы с логическими формулами: недостаток основных компонентов для анализа формулы; неграмотное использование алгоритмов, что приводит в большинстве случаев к некорректному результату; неудобный пользовательский интерфейс. Зачастую с попыткой компенсации последнего недостатка определяется еще одна основная проблема — неинформативно составленная инструкция к пользованию программой, или же, напротив, нагромождение таковой излишней информацией.

Был разработан логический калькулятор со следующими возможностями обработки логической формулы: построение таблицы истинности; определение типа формулы; определение класса формулы; определение логического следования; нахождение конъюнктивной и дизъюнктивной нормальных форм и соответствующих совершенных форм; построение упрощенной формы; построение полинома Жегалкина.

Из анализа пользовательских потребностей следует, что программа должна соответствовать следующим требованиям: удобный интерфейс; возможность применения стандартных функций ОС Windows: копирования и вставки; возможность ввода информации с клавиатуры; возможность корректирования введенной формулы; обработка ошибок ввода с выводом соответствующего сообщения.

Основой для содержательного и комплексного ответа на заявленные требования является качественно продуманный интерфейс калькулятора.

Код программы организован посредством нескольких связанных между собой классов. Каждый класс отвечает за определенную функцию в программе. Базовым для всех операций является класс для построения таблицы истинности. Таблица истинности необходима для поиска корректного ответа при запросе любой опции, заявленной в калькуляторе, поэтому программно реализованный класс таблицы истинности используется во всех других классах, то есть является родителем.

При запуске программы открываются два окна: стартовая страница (рисунок 1) и главное окно программы (рисунок 2).

Рис. 1. Стартовая страница программы

Рис. 2. Главное окно программы

Пользователю предлагается ввести формулу, содержащую до пяти переменных, однако есть возможность использования ввода с клавиатуры, что значительно увеличивает максимальное количество используемых переменных. Программа может обрабатывать девять заявленных операций (инверсия, конъюнкция, дизъюнкция, сложение по модулю два, стрелка Пирса, Штрих Шеффера, импликация, репликация, эквивалентность), причем их приоритетность соответствует порядку следования операций в формате чтения (слева направо).

По завершении программной реализации каждая опция калькулятора была протестирована на индивидуально подготовленной выборке, которая учитывала все возможные конфликтные ситуации. При обнаружении сбоев были внесены необходимые корректировки, после чего производилось повторное тестирование. После чего был сделан вывод, что программа пригодна для анализа любой логической формулы, все опции калькулятора работают исправно.

Приведем несколько примеров.

Для тестирования опции «Класс» пример был подобран таким образом, чтобы программа определила отношение формулы к классу «Сохраняющая константу» сразу в двух случаях. В соответствии с правилом классификации, формула является сохраняющей константы 1 и 0 одновременно (рисунок 3).

Рис. 3. Демонстрация опции «Класс»

Программа верно отрабатывает конфликтную ситуацию и производит корректную классификацию формулы.

Определение типа формулы представлено на рисунке 4.

Рис. 4. Демонстрация опции «Тип» на примере тождественно истинной формулы

Проверка логического следования представлена на рисунке 5.

Рис. 5. Демонстрация опции «Логическое следствие»

Тестирование опции «СКНФ и СДНФ» было принято осуществить на трех примерах: СКНФ отсутствует, СДНФ отсутствует и есть обе совершенные формы. Программа всегда выдает верный результат (рисунки 6, 7).

.

Рис. 6. Вывод результата для тождественно истинной формулы

.

Рис. 7. Вывод результата для опции «СКНФ и СДНФ»

Опция «Упрощенный вид» является самой сложной в реализации по отношению к другим. Это обусловливается большим количеством содержащихся в ней вычислительных операций. Необходимо отметить, что для некоторых формул существует два или более варианта упрощенного вида (минимальной ДНФ). Формулой для теста стала . Данная формула имеет две минимальные ДНФ: и . Результат работы программы приведен на рисунке 8.

Рис. 8. Демонстрация опции «Упрощенный вид»

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

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

Созданная программа выгодно выделяется на фоне подобных разработок. Во-первых, функциональность калькулятора значительно выше, чем у других. Во-вторых, интерфейс и его составляющие в первую очередь адаптированы под пользователя, которым может быть как студент в целях обучения, так и преподаватель — для более быстрого и эффективного анализа проверочных работ обучающихся.

Основные термины (генерируются автоматически): демонстрация опции, программа, вывод результата, главное окно программы, истинная формула, логическая формула, логическое следование, некорректный результат, опция калькулятора, построение таблицы истинности.


Похожие статьи

Нестандартные способы решения математических задач

В работе раскрываются основные нестандартные способы решения математических задач.

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

В статье рассматривается метод применения магнитно-импульсной обработки для стабилизации геометрии прецизионных деталей машин.

Применение логических задач на уроках математики для развития творческого мышления учащихся

В данной статье рассматриваются показатели, характеризующие творческое мышление, приводятся примеры логических задач, применяемые для развития творческого мышления учащихся на уроках математики.

Нормативно-правовое регулирование исследования компьютерных и мобильных устройств

В статье автор рассматривает актуальные аспекты нормативно-правового регулирования при исследовании компьютерных и мобильных устройств.

Использование метода обратных операторов для синтеза систем наблюдения, контроля и управления

Приведены примеры использования метода обратного оператора при синтезе технических систем. Рассматривается применение этого метода при реализации системы управления двигателем внутреннего сгорания.

Разработка экспертных систем

В статье описан процесс исследования и самостоятельной разработки курсового проекта в области экспертных систем.

Методы контроля и оценки результатов обучения в учебном процессе

В статье рассматривается проблемы преимущества и недостатки традиционных и новых методов контроля оценки результатов обучения в учебном процессе.

Перспектива применения электродвигателей в автомобилях

В статье проведен анализ основных направлений применения электродвигателей в автомобилестроении в качестве силовых агрегатов. Выделены наиболее перспективные направления.

Формирование компетенций в области дискретной математики у обучающихся старших классов

В статье поднимается вопрос о формировании компетенций у старшеклассников в области дискретной математики.

Проблемы разработки и стандартизации дидактических тестов

В статье обсуждаются проблемы разработки, анализ данных апробации, подходы к стандартизации дидактических тестов, используемых в учебном процессе.

Похожие статьи

Нестандартные способы решения математических задач

В работе раскрываются основные нестандартные способы решения математических задач.

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

В статье рассматривается метод применения магнитно-импульсной обработки для стабилизации геометрии прецизионных деталей машин.

Применение логических задач на уроках математики для развития творческого мышления учащихся

В данной статье рассматриваются показатели, характеризующие творческое мышление, приводятся примеры логических задач, применяемые для развития творческого мышления учащихся на уроках математики.

Нормативно-правовое регулирование исследования компьютерных и мобильных устройств

В статье автор рассматривает актуальные аспекты нормативно-правового регулирования при исследовании компьютерных и мобильных устройств.

Использование метода обратных операторов для синтеза систем наблюдения, контроля и управления

Приведены примеры использования метода обратного оператора при синтезе технических систем. Рассматривается применение этого метода при реализации системы управления двигателем внутреннего сгорания.

Разработка экспертных систем

В статье описан процесс исследования и самостоятельной разработки курсового проекта в области экспертных систем.

Методы контроля и оценки результатов обучения в учебном процессе

В статье рассматривается проблемы преимущества и недостатки традиционных и новых методов контроля оценки результатов обучения в учебном процессе.

Перспектива применения электродвигателей в автомобилях

В статье проведен анализ основных направлений применения электродвигателей в автомобилестроении в качестве силовых агрегатов. Выделены наиболее перспективные направления.

Формирование компетенций в области дискретной математики у обучающихся старших классов

В статье поднимается вопрос о формировании компетенций у старшеклассников в области дискретной математики.

Проблемы разработки и стандартизации дидактических тестов

В статье обсуждаются проблемы разработки, анализ данных апробации, подходы к стандартизации дидактических тестов, используемых в учебном процессе.

Задать вопрос