Разработка мобильного приложения "Симулятор логических схем"

Использование симулятора для облегчения изучения алгебры логики. Основной базис построения вычислительных устройств и систем. Создание логических схем в виртуальной среде. Разработка приложения на языке Kotlin для обучения студентов программированию.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 11.12.2024
Размер файла 1,9 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://allbest.ru

Восточно-Сибирский государственный университет технологий и управления

Разработка мобильного приложения «Симулятор логических схем»

Рабданова В.В., кандидат экономических наук, доцент

доцент кафедры «Программная инженерия

и искусственный интеллект»

Дугаров В.А., студент 4 курс,

факультет Компьютерных наук и технологий

Россия,г. Улан-Удэ

Аннотация

В данной статье рассматривается разработка мобильного приложения «Симулятор логических схем». Основными этапами в ходе исследования являются: определение логической схемы; определение интерфейса мобильного приложения; реализация работы симулятора логических схем на высокоуровневом языке программирования Kotlin.

Ключевые слова: мобильное приложение, симулятор, логическая схема, математическая логика, теория алгоритмов.

Annotation

This article discusses the development of a mobile application "Logic Circuit Simulator”. The main stages in the course of the study are: definition of a logical circuit; definition of the interface of a mobile application; implementation of the operation of a logic circuit simulator in the high-level Kotlin programming language.

Key words: mobile application, simulator, logic circuit, mathematical logic, theory of algorithms.

В ходе обучения дисциплине «Математическая логика и теория алгоритмов» возникла потребность в разработке мобильного приложения для построения логических схем. Данное приложение -симулятор логических схем - было разработано для облегчения изучения основ алгебры логики. Симулятор обладает средствами визуализации и интуитивно понятным интерфейсом для пользователя. Именно поэтому этот логический симулятор был выбран для подготовки серии практических работ по дисциплине.

Логической схемой называется совокупность логических электронных элементов, соединенных между собой таким образом, чтобы выполнялся заданный закон функционирования схемы, иначе говоря, -- выполнялась заданная логическая функция [1]. Она широко используется в электронике, телекоммуникациях и других сферах для построения вычислительных устройств и систем. программирование симулятор логика виртуальный

Известно, что всякую булеву функцию от n аргументов можно выразить через элементы: конъюнкцию, дизъюнкцию и отрицание, которые составляют так называемый основной базис с технологической точки зрения [2, c .155]. Эти элементы формируют основу для создания сложных цифровых устройств.

Программа реализована на языке Kotlin под платформу Android. Для реализации интерфейса был использован Jetpack Compose. В нем используется декларативный способ задания интерфейса, то есть построение интерфейса происходит непосредственно в коде программы.

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

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

Для хранения информации о типах элементов было создано перечисление «COMPONENT_TYPE_CLASS»

Данное перечисление включает такие компоненты как AND, OR, INV, NAND и NOR. Код данного перечисления изображен на рисунке 1.

Рисунок 2. Перечисление типов элементов

Для удобства создания элементов и линий между ними были реализованы следующие интерфейсы и классы.

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

Рисунок 3. Интерфейс IComponent

Реализацией данного интерфейса является класс MyComponent. Код данного класса изображен на рисунке 3.

Рисунок 4. Реализация интерфейса IComponent

Таким же образом были реализованы другие элементы. На форме были размещены кнопки для добавления элементов. Для хранения элементов был использован список componentList, а для хранения линий между элементами - список lineList. При добавлении элемента в componentList добавляется новый компонент, и переменная elementCount увеличивается на 1. При изменении переменной elementCount вызывается функция DrawElementQ, которая создает элемент на форме.

Для реализации соединения двух элементов линией были использованы две переменные activePoint1 и activePoint2 (рисунок 4). В них записывается нажатый вход/выход и если были нажаты две кнопки, то в LineList добавляются эти кнопки, и переменная lineCount увеличивается на 1 и между ними рисуется линия. Реализация отрисовки линии изображена на рисунках 5, 6.

Рисунок 5. Код добавление элементов в lineList

Рисунок 6. Код отрисовки линий между элементами

Элементы можно перемещать, используя drag-and-drop. Данная функция была реализована с помощью pointerInput и detectDragGestures. Код представлен на рисунке 7.

Рисунок 7. Код реализации drag-and-drop

Пример построенной схемы в приложении изображен на рисунке 8.

Рисунок 8. Пример работы приложения

Разработанное приложение может быть использовано для обучения студентов дисциплинам: «Математическая логика и теория алгоритмов», «Программирование для мобильных устройств».

Мобильное приложение «Симулятор логических схем» становится инструментом, способствующим более широкому пониманию теории алгоритмов и объектно-ориентированного программирования в целом.

Использованные источники

1. Самостоятельное изучение схемотехники. Основные понятия. Часть 1. URL: (дата обращения: 19.12.2023)

2. Оленев А.А., Киричек К.А., Потехина Е.В. Математическая логика: построение логических схем из логических элементов в Maple // Вест. КРАУНЦ. Физ.-мат. науки. 2021. №3. URL: https://cyberleninka.ru/article/n/matematicheskaya-logika-postroenie-logicheskih- shem-iz-logicheskih-elementov-v-maple (дата обращения: 19.12.2023.

3. «Android Studio» // Википедия, свободная энциклопедия [онлайн]. 19.12.2023. URL: http://ru.wikipedia.org/wiki/Android Studio

Размещено на Allbest.ru


Подобные документы

  • Проектирование арифметико-логических устройств (АЛУ). Отладка описания логических схем на языке VHDL. Классификация АЛУ по способу представления чисел, характеру использования элементов и узлов. Список стандартных функций АЛУ, его описание на языке VHDL.

    лабораторная работа [633,4 K], добавлен 11.03.2014

  • Типовые комбинационные схемы. Основы математического аппарата анализа и синтеза логических устройств. Функциональная полнота элементов Шеффера и Пирса. Логические элементы, образующие логический базис. Особенности синтеза схем с запрещенными комбинациями.

    методичка [977,1 K], добавлен 28.04.2009

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

    методичка [2,1 M], добавлен 16.03.2014

  • Характеристика графических возможностей пакета MS Excel. Сущность MS Accses. Анализ систем счисления и арифметические операции над ними. Модифицированный, дополнительный и обратный коды. Принципы построения логических схем, изучение логических операций.

    курсовая работа [2,3 M], добавлен 25.03.2015

  • Разработка приложения для проверки использования времен глаголов в английском языке. Создание базы данных. Анализ используемых средств для реализации автоматического разбора текста. Проектирование мобильного приложения с помощью диаграмм деятельности.

    дипломная работа [2,6 M], добавлен 13.09.2017

  • Изучение инструментальной графической среды программирования промышленных контроллеров и языка программирования FBD. Разработка приложения, реализующего вычисление арифметических и логических выражений. Проверка работы приложения программой "Maple".

    контрольная работа [2,2 M], добавлен 26.05.2015

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

    курсовая работа [1,2 M], добавлен 24.01.2014

  • Реализация системы визуального программирования. Выбор технических средств для нее. Варианты использования языка JavaScript. Создание приложения программы-редактора блок-схем и сайта удалённого обучения на основе интерактивной системы обучения Moodle.

    дипломная работа [2,2 M], добавлен 07.07.2012

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

    курсовая работа [1,6 M], добавлен 22.06.2011

  • Рaзрaботка программного приложения (синтаксического aнaлизaторa), которое производит проверку синтaксисa простейшей программы на языке С++. Процедура проверки арифметических и логический выражений. Механизм удаления всех фиктивных переменных из программы.

    курсовая работа [27,2 K], добавлен 28.06.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.