Найти тему
Андрей Куликов

Номера логических функций

...................................."Не принимаю славы от человеков.", - И.Христос (Ин.5.41).

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

Например, в TurboBasic'е есть встроенные бинарные логические функции: AND, OR, XOR, EQV и IMP. Определим их собственные номера.

Для этого для бинарной (двухаргументной) функции AND составим следующую таблицу:

Перебор значений аргументов начинают от 0 до 1 с первого операнда (Ai) и записывают в таблице справа налево. Получившаяся строка двоичных значений результата (1000) и является номером функции в двоичной системе счисления, который можно перевести в десятичную (8) или в любую другую систему счисления. Программно это выглядит так:

-2

Рис.1. Текст программы в TurboBasic'е.

Много знаков "-" в формулах из-за того, что в TurboBasic'е False = 0, а True = -1.

В других языках программирования, в которых False = 0, а True = 1 формулы проще.

-3

Рис.2. Снимок с экрана результата прогона программы.

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

Литература:

1. Википедия. Булева функция. Бинарные функции

https://ru.wikipedia.org/wiki/%D0%91%D1%83%D0%BB%D0%B5%D0%B2%D0%B0_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F#%D0%91%D0%B8%D0%BD%D0%B0%D1%80%D0%BD%D1%8B%D0%B5_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8

Приложения:

1. TurboBasic: https://andserkul.narod.ru/TurboBasic.rar

2. Файл с исходным кодом программы на Turbobasic'е:

https://andserkul.narod.ru/NUMBERS.bas

Версия 2024.06.28.