Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Boolean Calculator (учебный проект)

Калькулятор булевских выражений.

Переменные в выражении: 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.

About

Калькулятор булевских выражений.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages