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

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

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

Авторы: ,

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.

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

.

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

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

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

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

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

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

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


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

Решение логической задачи разными способами и сравнение их...

Ключевые слова: логика, логическая задача, алгебра логики, метод таблиц, метод рассуждений.

Оба выше приведенных способа дают результат при решении данной задачи.

Iспособ. С использованием таблицы истинности.

Построение логических схем с использованием Matlab/Simulink...

Рис. 2. Программа «Анализ и синтез логических систем управления» [1].

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

Применение булевых функций к релейно-контактным схемам

Из этого можно сделать вывод, что методы логического анализа и синтеза

Построение логических схем с использованием Matlab/Simulink...

Схемы и таблицы на уроках истории помогают выделить главное, они «запирают» информацию в замкнутое пространство.

Особенности изучения способа тестирования базового пути...

Цикломатическая сложность — это метрика программного обеспечения, которая обеспечивает количественную оценку логической сложности программы.

— количество узлов потокового графа ; 3) Цикломатическая сложность формируется по формуле

Роль и содержание курса «Математическая логика»...

Равносильные преобразования формул. Нормальные формы. СДНФ. СКНФ. Логическое следование.

Модуль 3. Исчисление высказываний. Аксиоматическое построение логики высказываний. Аксиомы, правила вывода.

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

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

Интерфейс и пример решения показан на рис. 1. Рис. 1. Демонстрация интерфейса и решения с помощью прикладной программы.

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

Анализ основной образовательной программы по математике [5] показывает, что развитие мышления учащихся (в том числе, логического

Осталось подставить найденные значения х в формулу 3х‑2у‑12=0. Если х=2, то у=‑3. Если х= , то у=‑5. Ответ: (2; ‑3), ( ; ‑6) (рис. 4).

Метод обобщённого правила рекурсии как средство развития...

Одно из основных преимуществ языка Пролог — возможность создания программы в терминах решаемой задачи.

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

Использование прогнозной аналитики...

Результатом такого обучения будет сформированная программой модель, которая

Успех построения прогнозной модели зависит, прежде всего, от объема истории и ширины профиля

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

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

Решение логической задачи разными способами и сравнение их...

Ключевые слова: логика, логическая задача, алгебра логики, метод таблиц, метод рассуждений.

Оба выше приведенных способа дают результат при решении данной задачи.

Iспособ. С использованием таблицы истинности.

Построение логических схем с использованием Matlab/Simulink...

Рис. 2. Программа «Анализ и синтез логических систем управления» [1].

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

Применение булевых функций к релейно-контактным схемам

Из этого можно сделать вывод, что методы логического анализа и синтеза

Построение логических схем с использованием Matlab/Simulink...

Схемы и таблицы на уроках истории помогают выделить главное, они «запирают» информацию в замкнутое пространство.

Особенности изучения способа тестирования базового пути...

Цикломатическая сложность — это метрика программного обеспечения, которая обеспечивает количественную оценку логической сложности программы.

— количество узлов потокового графа ; 3) Цикломатическая сложность формируется по формуле

Роль и содержание курса «Математическая логика»...

Равносильные преобразования формул. Нормальные формы. СДНФ. СКНФ. Логическое следование.

Модуль 3. Исчисление высказываний. Аксиоматическое построение логики высказываний. Аксиомы, правила вывода.

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

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

Интерфейс и пример решения показан на рис. 1. Рис. 1. Демонстрация интерфейса и решения с помощью прикладной программы.

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

Анализ основной образовательной программы по математике [5] показывает, что развитие мышления учащихся (в том числе, логического

Осталось подставить найденные значения х в формулу 3х‑2у‑12=0. Если х=2, то у=‑3. Если х= , то у=‑5. Ответ: (2; ‑3), ( ; ‑6) (рис. 4).

Метод обобщённого правила рекурсии как средство развития...

Одно из основных преимуществ языка Пролог — возможность создания программы в терминах решаемой задачи.

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

Использование прогнозной аналитики...

Результатом такого обучения будет сформированная программой модель, которая

Успех построения прогнозной модели зависит, прежде всего, от объема истории и ширины профиля

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

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