Программа для построения схемы по таблице истинности

Use saved searches to filter your results more quickly

Cancel Create saved search

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window.

Reload to refresh your session.

Таблица истинности, булев вектор, взаимное расположение и тд..

License

enxy0/relational_algebra

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Switch branches/tags
Branches Tags
Could not load branches
Nothing to show
Could not load tags

Nothing to show

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Cancel Create

  • Local
  • Codespaces

HTTPS GitHub CLI
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more about the CLI.

Построение таблиц истинности

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

Latest commit message
Commit time

README.md

Программный интерфейс для работы с таблицами истинности

Операция Запись в коде
x ∨ y x or y (x || y)
x x, y -> // (x ∆ y) ↑ ¬(x

Для 3х переменых

val truthTableD = TruthTable.build(name = ‘D’, varNames = listOf(‘a’, ‘b’, ‘c’)) < a, b, c -> // (a b) → c (a differs b) implies c >

Для 4х переменых

val truthTableF = TruthTable.build(name = ‘F’, varNames = listOf(‘a’, ‘b’, ‘c’, ‘d’)) < a, b, c, d -> // (a ↓ b) ← (1 ∨ (c

Создание таблицы истинности по заданному булевому вектору:

val truthTableC = TruthTable.build(name = ‘C’, varNames = listOf(‘x’, ‘y’, ‘z’), vector = «11111111»)

Красивый вывод таблицы истинности:

truthTableD.printTable()

Вывод:

+—+—+—+—+ | a | b | c | D | +—+—+—+—+ | 0 | 0 | 0 | 1 | | 0 | 0 | 1 | 1 | | 0 | 1 | 0 | 1 | | 0 | 1 | 1 | 1 | | 1 | 0 | 0 | 0 | | 1 | 0 | 1 | 1 | | 1 | 1 | 0 | 1 | | 1 | 1 | 1 | 1 | +—+—+—+—+

Красивый вывод булевого вектора:

truthTableD.printVector() truthTableE.printVector() truthTableF.printVector() truthTableC.printVector()

Вывод:

D = (1, 1, 1, 1, 0, 1, 1, 1) E = (1, 0, 0, 1) F = (1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) C = (1, 1, 1, 1, 1, 1, 1, 1)

СДНФ, СКНФ и полином Жегалкина

truthTableD.perfectDisjunctiveNormalForm() // СДНФ truthTableD.perfectConjunctiveNormalForm() // СКНФ truthTableD.polynomZhegalkin() // полином Жегалкина

Вывод:

СДНФ: (¬a ¬c) ⋁ (¬a c) ⋁ (¬a ¬c) ⋁ (¬a c) ⋁ (a c) ⋁ (a ¬c) ⋁ (a c) СКНФ: (¬a ⋁ b ⋁ c) Полином Жегалкина: 1 ⊕ (a) ⊕ (a b) ⊕ (a c)

Проверка на взаимное расположения булевых векторов (равно, входит/не входит в подмножество):

TruthTable.printSubsetsEquality( listOf( truthTableD, // (1, 1, 1, 1, 0, 1, 1, 1) truthTableC, // (1, 1, 1, 1, 1, 1, 1, 1) truthTableV // (1, 1, 1, 1, 1, 1, 1, 1) для проверки равенств множеств ) )

Вывод:

D ⊂ C D ⊂ V C ⊆ V V ⊆ C

Нахождение соседних и противоположных наборов в множестве:

Записывать можно в любом удобном формате Главное, чтобы наборы были разделены запятыми.

val subset = «» println(subset) findOppositeSubsets(subset) findNeighboursSubsets(subset)

Вывод:

; Противоположные наборы: (01100), (10011) Соседние наборы: (10011), (00011)

Если вы импоритруете проект с помощью Intellij Idea, то IDE должна подхватить все сама. Вам ничего не нужно делать 🙂
Просто тыкайте зеленую кнопку Run

gradlew run

Источник: github.com

Проектирование электронных устройств в Multisim 12.0. Часть 12

Лицевая панель логического преобразователя, его пиктограмма на схеме и пример подключения данного прибора к схеме

Рассмотрим подробно работу со следующими виртуальными инструментами в Multisim: логический преобразователь, пробник-индикатор напряжения, частотомер. Работа с логическим преобразователем. Логический преобразователь выполняет преобразования представления схемы и цифровых сигналов и используется для анализа цифровых схем. Реального аналога данный прибор не имеет. Для того, что бы добавить логический преобразователь в рабочее поле программы, необходимо нажать на его пиктограмму на панели «Приборы» и разместить его с помощью мыши в необходимом месте на схеме. Для того, что бы отобразить лицевую панель прибора, необходимо дважды щелкнуть левой кнопкой мыши на его пиктограмме на схеме. Принцип соединения логического преобразователя с элементами схемы такой же, как и для других компонентов схемы. Рисунок 1 демонстрирует лицевую панель рассматриваемого виртуального прибора и его пиктограмму на схеме, а так же пример его подключения к схеме.
Рис. 1. Лицевая панель логического преобразователя, его пиктограмма на схеме и пример подключения данного прибора к схеме Прибор имеет восемь входов и один выход. Рассмотрим лицевую панель логического преобразователя более подробно. В левой части панели находится окно таблицы истинности исследуемой схемы. Столбцы таблицы соответствуют входам логического преобразователя (A, B, C, D, E, F, G, H). Над каждым столбцом таблицы расположен кружок, который отображается белым цветом в случае, когда вход преобразователя используется и серым – когда вход свободен. Последний столбец таблицы истинности соответствует выходу логического преобразователя. Значения данного столбца можно изменять для каждого входного условия, для чего необходимо щелкнуть по нему левой кнопкой мыши, переключаясь между тремя возможными установками: логический 0, логическая 1, значение Х. В нижней части лицевой панели находится строка функций, в которой отображается логическое выражение соответствующее исследуемой схеме. Логическое выражение в данное поле можно ввести и вручную в том случае, когда есть необходимость построить таблицу истинности согласно заданной функции либо произвести синтез схемы, реализующей функцию, описываемую введенным логическим выражением. В правой части лицевой панели прибора расположено шесть кнопок выбора преобразования:

  • «Построение таблицы истинности исследуемой схемы»;
  • «Построение логического выражения согласно с таблицей истинности»;
  • «Построение логического выражения в упрощенной форме согласно с таблицей истинности»;
  • «Построение таблицы истинности согласно с логическим выражением»;
  • «Построение схемы на логических вентилях согласно с логическим выражением»;
  • «Построение схемы на логических вентилях в базисе И-НЕ согласно с логическим выражением».

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

Для построения логического выражения согласно с таблицей истинности необходимо составить таблицу истинности в соответствующем окне лицевой панели логического преобразователя. Для того, что бы заполнить данное окно воспользуйтесь кнопками-кружками в верхней части лицевой панели. Задайте так же и выходные значения таблицы истинности. После того как таблица составлена, нажмите на кнопку «Построение логического выражения согласно с таблицей истинности» или «Построение логического выражения в упрощенной форме согласно с таблицей истинности» в случае, когда необходимо получить выражение в дизъюнктивной нормальной форме.

Построение таблицы истинности согласно с логическим выражением производится путем ввода логического выражения в строку функций и последующего нажатия на кнопку «Построение таблицы истинности согласно с логическим выражением». Ввод выражения производится в соответствии со следующими правилами:

  • в выражении могут использоваться только значения букв совпадающие с названиями входов логического преобразователя (то есть: A, B, C, D, E, F, G, H) ;
  • логическая операция сложения обозначается знаком «+»;
  • логическая операция умножения не обозначается;
  • инверсия обозначается знаком «’»;
  • при составлении выражения при необходимости могут использоваться скобки «( )».

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

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

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

Построение схемы в базисе И-НЕ, которая реализует заданное логическое выражение, производится путем ввода в строке функций этого выражения и последующего нажатия на кнопку «Построение схемы на логических вентилях в базисе И-НЕ согласно с логическим выражением». В результате чего логическим преобразователем будет выведена на рабочее поле программы схема, соответствующая условиям заданной функции, реализованная только на вентилях И-НЕ. Пример данного преобразования представлен на рисунке 3.

Построение схемы в базисе И-НЕ при помощи логического преобразователя

Рис. 3. Построение схемы в базисе И-НЕ при помощи логического преобразователя

Пробник-индикатор напряжения.

На панели инструментов «Виртуальные измерительные компоненты» (данную панель можно добавить в проект при помощи команды меню «Вид/Панель инструментов») находятся пиктограммы пяти цветных пробников-индикаторов напряжения: бесцветный, синий, зеленый, красный, желтый. Принцип работы данных индикаторов не отличается, различие состоит лишь в цвете.

Пробник-индикатор напряжения определяет напряжение в конкретной точке схемы и если исследуемая точка имеет напряжение равное или большее значения напряжения срабатывания, которое указано в настройках данного пробника-индикатора, то индикатор загорается цветом. Задать необходимое пороговое значение срабатывания пробника-индикатора можно в окне настроек данного прибора на вкладке «Параметры», установив в поле «Пороговое напряжение (VT)» необходимое значение напряжения.

Для вступления в силу произведенных изменений нужно нажать на кнопку ОК. Окно настроек можно открыть с помощью двойного щелчка левой кнопки мыши на пиктограмме данного прибора на схеме. Название окна настроек соответствует названию цвета настраиваемого пробника-индикатора.

К примеру, для зеленого пробника-индикатора окно настроек будет иметь название «PROBE_GREEN», а для желтого – «PROBE_YELLOW». На схеме пороговое напряжение срабатывания пробника-индикатора отображается рядом с его пиктограммой. На рисунке 4 представлен пример подключения нескольких пробников-индикаторов к исследуемой схеме, а так же окно настроек зеленого пробника.

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

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

Проведение измерений при помощи частотомера.

Частотомер – это измерительный прибор, который используется для измерения частоты сигнала. В Multisim данный прибор находится на панели инструментов «Приборы». Пиктограмма прибора используется для его подключения к схеме, а лицевая панель для настройки и наблюдения за результатами измерений. На рисунке 5 представлен пример, который наглядно демонстрирует подключение двух частотомеров XFC1 и XFC2 к исследуемой схеме.

Пример подключения двух частотомеров к исследуемой схеме

Рис. 5. Пример подключения двух частотомеров к исследуемой схеме

Рассмотрим представленный пример более подробно. Частотомер XFC1 используется для измерения времени переднего и заднего фронта сигнала, частотомер XFC2 для измерения длительности положительного и отрицательного импульса. Так же частотомер можно использовать для измерения частоты сигнала и длительности одиночного цикла сигнала.

Измеряемый параметр выбирается при помощи кнопок: «Частота», «Период», «Длительность», «Фронт/Спад» в окне «Измеряемый параметр» в левой части лицевой панели прибора. Результаты измерений отображаются в «Окне результатов», которое находится в верхней части лицевой панели прибора.

В поле «Чувствительность (RMS)» задается нужное значение и единицы измерения чувствительности прибора. В поле «Уровень запуска» задается нужное значение и единицы измерения переключения (точка, которую должен достигнуть сигнал, прежде, чем отобразится результат). В нижней левой части лицевой панели прибора расположено окно «Вид измерения», в котором находятся две кнопки. Посредством выбора одной из кнопок можно задать отображение в «Окне результатов» только переменной составляющей сигнала (кнопка «АС») или сумму переменной и постоянной составляющих сигнала (кнопка «DC»). Переключатель в правой нижней части лицевой панели прибора отображает наличие подключения частотомера к исследуемой схеме.

Теги:

beluikluk Опубликована: 19.12.2015 0

Вознаградить Я собрал 0 0

Источник: cxem.net

Конструктор схем СДНФ

Обучающее приложение, представляющее собой эмулятор лабораторной установки по дисциплине Основы цифровой техники. Эмулятор обеспечивает выполнение лабораторных и практических работ по разделам «Математическое описание цифровых устройств» и «Комбинационные логические устройства». Приложение может оказаться полезным для преподавателей технических учебных заведений, студентов, изучающих цифровую схемотехнику, а так же для тех, кто хочет самостоятельно освоить азы цифровой электроники.
Назначение программы:
— изучение физического смысла совершенной дизъюнктивной нормальной формы записи логических функций (СДНФ, англ. PDNF — principal disjunctive normal form);
— изучение порядка синтеза логических устройств на основе алгебраических форм записи функций алгебры логики (ФАЛ);
— формирование у обучаемых практических навыков разработки структурных схем логических устройств комбинационного типа, заданных в виде СДНФ;
— исследование функционирования разработанного устройства в статическом и динамическом режиме.
Программа позволяет осуществлять конструирование простых цифровых электронных схем с использованием базовых логических элементов: конъюнкторов, дизъюнкторов и инверторов. Схема может содержать один, два или три входа. Максимальное число выходов – четыре. Таким образом, эмулятор способен реализовать одновременно до четырех произвольных ФАЛ трех аргументов, обеспечивая, при необходимости, полный набор конституент единицы (минтермов). Для конструирования устройств, логические функции должны быть предварительно сформулированы алгебраически в виде СДНФ.
В программе предусмотрены:
— возможность создания нового проекта, его сохранения в памяти устройства, загрузки и редактирования сохраненных проектов;
— интерактивный интерфейс, содержащий высококачественные векторные изображения лабораторной установки, элементов управления и индикации;
— ручное масштабирование изображения лабораторной установки в зависимости от размера и разрешения экрана для обеспечения удобства работы;
— интуитивно понятный процесс построения схемы, основанный на непосредственном воздействии на элементы интерфейса;
— простая схемотехническая реализация конституент единицы и их логических сумм в виде соединения входов конъюнкторов и дизъюнкторов с соответствующими проводниками шин;
— эмуляция включения/выключения стенда, выбора статического или динамического режима исследований, переключения частоты;
— эмуляция функционирования разрабатываемого устройства в реальном времени, непосредственно в процессе его создания и модификации;
— возможность подачи на входы схемы произвольной комбинации аргументов Х2, Х1 и Х0 в статическом режиме;
— наглядное отображение значений входных и выходных сигналов в двоичной системе счисления с помощью двухцветных индикаторов;
— возможность подачи на входы схемы периодически повторяющейся последовательности двоичных кодов аргументов от «000» до «111» в динамическом режиме;
— наглядное отображение совокупности входных и выходных сигналов в шестнадцатеричной системе счисления с помощью семисегментных индикаторов;
— возможность выбора частоты формирования двоичных кодов аргументов в динамическом режиме;
— возможность вывода на экран схемы разрабатываемого устройства на любом этапе его разработки;
— ручное масштабирование схемы разрабатываемого устройства в зависимости от размера и разрешения экрана, для удобства ее просмотра;
— возможность отображения таблицы истинности на любом этапе разработки устройства;
— отключаемая система интерактивной помощи по работе с программой;
— примеры готовых устройств.

Последнее обновление
22 авг. 2015 г.
Образование

Безопасность данных

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

Нет информации.

Оценки и отзывы

Оценки и отзывы проверены info_outline
arrow_forward
Оценки и отзывы проверены info_outline
phone_android Телефон
tablet_android Планшет
199 отзывов

Пользователь Google
more_vert

  • Пожаловаться

Источник: play.google.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru