Калькулятор булевских выражений.
Переменные в выражении: xN, где N — натуральное число (то есть переменные x1, x2, x3, ...), могут принимать значения 0 и 1 (не ноль).
Операции:
~отрицание,&конъюнкция,vдизъюнкция,+сложение по модулю 2,>импликация (x → y),<обратная импликация (x ← y),=эквиваленция (x ≡ y),|штрих Шеффера (x | y),^стрелка Пирса (x ↓ y).
Калькулятор строит таблицу истинности для булевых функций, полином Жегалкина и проверяет систему функций на полноту.
Аргументы: действие, имя входного файла, имя выходного файла.
Во входном файле содержится система функций (в каждой отдельной строке записана функция).
- Вызов
boolcalc -table input outputосуществляет построение таблицы истинности для выражений записанных в файлеinputи записывает результаты в файлoutput(для каждой функции результат записывается в отдельной строке). - Вызов
boolcalc -zh input outputосуществляет построение полинома Жегалкина для выражений записанных в файлеinputи записывает результаты в файлoutput(для каждой функции результат записывается в отдельной строке). - Вызов
boolcalc -isfull input outputпроверяет систему функций на полноту. Если система функций в файлеinputполная, то в файлoutputвыводитсяyes, иначеno. - Вызов
boolcalc -hилиboolcalc ?выводит на экран помощь по использованию программы.
Если в выражениях во входном файле содержится ошибка, то в выходной файл записывается error.
Название программы с модульными тестами: test.
В полиноме Жегалкина в конъюнктах переменные записываются по возрастанию их индексов (номеров).
Таблица истинности записывается в виде строки из 0 и 1. Например, для формулы (x1 → ( (x2 & x3) v ~x1 )) значение функции 11110001.