<<
>>

ПРОГРАММИРОВАНИЕ ЛОГИЧЕСКИХ ФУНКЦИЙ

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

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

Рассмотрим пример описания логической функции «штрих Шеффера» на Прологе, используя трехместный предикат sht (•,*,•).

В разделе domains опишем аргументы предиката sht (*,*,•) как объекты типа char. Поместим в раздел predicates предикат sht (с, с, с) , где первый и второй аргументы с предиката sht описывают операнды А, В,

а третий с — соответствующее им значение функции из табл. 4.2.1. Раздел clauses будет содержать базу знаний функции «штрих Шеффера» из табл. 4.2.1.

Пролог-программа, описывающая логическую функцию приведена на рис.

4.2.5.

Целью (их всего 4) может быть предикат sht ( ' F' ,

' F' , X) , в котором требуется определить значение X логической функции «штрих Шеффера» при значениях А =' F ’ иВ = ' F1. Теперь перейдем к программированию на Прологе логических формул, используя в качестве примера формулу

AaBvC. (4.2.11)

Для описания этой формулы требуются базы данных, содержащие предикаты отрицания

neg (•,•), конъюнкции соп(*,#,*) и дизъюнкции diz (•,*,•), а также правило с головой-предикатом pred(А,В,С, Z) и телом, состоящим из предикатов con, neg и diz. Логические операции в формуле (4.2.11) выполняются в следующем порядке: конъюнкция, отрицание, дизъюнкция. Конъюнкцию А л В = X реализует предикат con (А, В, X), отрицание X = У — предикат neg (X, Y) и дизъюнкцию Y V С = Z — предикат diz (Y, С, Z) . В итоге правило примет вид

pred(А,В,С,Z):

-con (А, В, X) , neg (X, Y) , diz (Y, C, Z) .

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

<< | >>
Источник: Ю. И. КУДИНОВ, Ф.Ф. ПАЩЕНКО, А. Ю. КЕЛИНА. ПРАКТИКУМ ПО ОСНОВАМ СОВРЕМЕННОЙ ИНФОРМАТИКИ. 2011

Еще по теме ПРОГРАММИРОВАНИЕ ЛОГИЧЕСКИХ ФУНКЦИЙ:

  1. Функции журналистики. Понятие функцию Многообразие социальных и информационных потребностей общества – объективная основа функций журналистики.
  2. “Не язык — функция поэта, а поэт — функция языка”
  3. Основной курс (Программирование)
  4. Иванова Г.С. Основы программирования, 2002
  5. Эстетика программирования
  6. Г.С.Иванова, Т.Н.Ничушкина, Е.К.Пугачев. Объектно- ориентированное программирование, 2001
  7. О. Л. Голицына, Т. Л. Партыка, И. И. Попов. ЯЗЫКИ ПРОГРАММИРОВАНИЯ, 2008
  8. Логическое ударение
  9. Часть вторая Родительское программирование
  10. МЫШЛЕНИЕ СЛОВЕСНО-ЛОГИЧЕСКОЕ
  11. Логическая последовательность вопросов
  12. 3.2.4. Логический анализ основных понятий
  13. Сергей Александрович Орлов. Теория и практика языков программирования: Учебник для вузов. Стандарт 3-го поколения, 2013
  14. 3.9. Логические ошибки
  15. Программирование телевизионного вещания
  16. По единому логическому основанию