Работа предиката с составным типом - Prolog
Формулировка задачи:
Читаю записи БД вида eee/rrrr/0/vvvvv (длина и состав могут быть произвольными):
В идеале, хочу разделить на слова и затем сравнивать со своими значениями (что-то вроде: мой_предикат(запись, Ф1,Ф2,Ф3,Ф4)). Есть предикаты которые разбивают на слова, но работают они со строкой. У меня же, какой предикат я не подставляю плюётся на "found `uart_bus/0/proc_txd/e15' (a compound)"
Возможно, с данным типом нужно работать как то по другому?
Решение задачи: «Работа предиката с составным типом»
textual
Листинг программы
?- A/B/C/D = ddr3_bus/0/data(0)/47. A = ddr3_bus, B = 0, C = data(0), D = 47.
Объяснение кода листинга программы
- Задача кода - работа с предикатом, который имеет составной тип.
- Предикат A/B/C/D имеет четыре аргумента.
- Значение аргумента A равно
ddr3_bus
. - Значение аргумента B равно
0
. - Значение аргумента C равно
data(0)
. - Значение аргумента D равно
47
. - Переменная A содержит значение
ddr3_bus
. - Переменная B содержит значение
0
. - Переменная C содержит значение
data(0)
. - Переменная D содержит значение
47
. - Значение переменной A не равно значению переменной B.
- Значение переменной A не равно значению переменной C.
- Значение переменной A не равно значению переменной D.
- Значение переменной B не равно значению переменной C.
- Значение переменной B не равно значению переменной D.
- Значение переменной C не равно значению переменной D.
- Переменная A не равна переменной B.
- Переменная A не равна переменной C.
- Переменная A не равна переменной D.
- Переменная B не равна переменной C.
- Переменная B не равна переменной D.
- Переменная C не равна переменной D.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д