Теория множества и Булева алгебра. Вариант 4. Написать программу, которая находит полином Жегалкина булевой функции заданной по ТИ.
- Скачать файл main.py.
- Установить интерпритатор Python v3.12.
- Запустить скрипт через интерпритатор.
- Запуск в Linux и Unix подобых системах
python3 main.py. - Запуск в Windows
python main.py.
- Запуск в Linux и Unix подобых системах
В случае необходимости:
- укажите полные пути до интерпритатора и/или файла;
- запустите скрипт с привилегиями администратора.
Помещайте файлы ввода в ту же директорию, что и скрипт!
Эта программа строит полином Жегалкина булевой функции, заданной по таблице истинности.
Вводите текст после > затем нажмите enter, а случае ошибки, повторите ввод.
-
Введите последовательность из 0 и 1 длиной, кратной степени 2. Например >
10010110 -
Или путь к файлу (его название, если он лежит в той же директории) "в кавычках". Например >
"./path/to/file.txt"или так >"file.txt"
Для выхода введите q, для справки введите h.
После подсчёта вам будет предложено сохранить результат в файл: для этого просто введите путь сохранения (можно без кавычек), если не хотите, просто нажмите enter
Ввод пользователя происходит после > и Сохранить:
Введите ТИ или путь к файлу
> 10001
ТИ неправильной длины: 5, необходима натуральная степень 2 (от 0 до 52 переменных)
Введите ТИ или путь к файлу
> 1001
Результат:
1 + b + a
Нажмите enter, чтобы выйти, или введите путь к файлу для сохранения
Сохранить:
При работе с файлами
Введите ТИ или путь к файлу
> "txt.txt"
Результат:
b
Нажмите enter, чтобы выйти, или введите путь к файлу для сохранения
Сохранить: out.txt
В начале файла расположены следующие строки:
# 1 - Предлагает сохранить результат в файл
OPTION_SAVE_TO_FILE = 1
# 1 - Не завершается после получения результата
OPTION_LOOP_WORK = 0
# 1 - Выводит ПЖ с переменными, 0 - коэффициенты через запятую
OPTION_NICE_POLINOM = 1
Вы можете включать (1) и выключать (0) опции:
- предложение сохранить результат в файл
- продолжение работы программы после рассчётов (завершить)
- вывод ПЖ с переменными (в виде коэффициентов)
Кастомизируйте скрипт под свои нужды!
Общие критерии
- Программа должна быть написана на одном из top-50 языков индекса tiobe
- Программа должна запускаться на операционных системах UNIX-семейства
- Программа должна запускаться без взаимодействия с автором программы (необходима инструкция запуска)
- Программы должны использовать только встроенные в язык библиотеки (numpy и им подобные не разрешены)
- Работа является командной. Каждый участник команды должен внести свои вклад и сотрудничать с другими участниками команды.
- Нарушение хотя бы одного из пунктов ведет к невозможности получить за задание более 0 баллов
Задание
- Написать программу, которая находит полином Жегалкина булевой функции заданной по ТИ
Разбалловка (всего 12 баллов. Необходимо набрать 60%)
- 6 баллов за работоспособность программы
- 2 балла за понятный ввод и вывод
- 2 балла за наличие ввода не напрямую в файл с исходным текстом
- 2 балла за выбор оптимального решения (обосновать)