Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






CLAUSES. 10. Теперь выполните программу со следующей целью, Пролог должен вывести следующий ответ (рис






append([], List, List).

append([H|L1], List2, [H|L3]): -

append(L1, List2, L3).

10. Теперь выполните программу со следующей целью, Пролог должен вывести следующий ответ (рис. 6):

append([1, 2, 3], [5, 6], L).

Рис. 6. Вывод списка

 

11. Задайте следующую цель (рис. 7):

append([1, 2], [3], L), append(L, L, LL).

 

Рис. 7. Вывод списков

Составные списки

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

DOMAINS /* функторы l, i, c, и s */

llist = l(list); i(integer); c(char); s(string)

list = llist*

Список

[2, 9, [" food", " goo" ], " new" ] /* запись списка не на языке Пролог*/

записывается как

[i(2), i(9), l([s(" food"), s(" goo")]), s(" new")] /* запись списка на языке Пролог*/

12. Рассмотрим пример, который показывает, как использовать это объявление домена в типичной программе манипуляции списка.

DOMAINS

llist = l(list); i(integer); c(char); s(string)

list = llist*

 

PREDICATES

append(list, list, list)

 

CLAUSES

append([], L, L).

append([X|L1], L2, [X|L3]): -

append(L1, L2, L3).

 

GOAL

append([s(likes), l([s(bill), s(mary)])], [s(bill), s(sue)], Ans),

write(“FIRST LIST: ”, Ans, “\n\n”),

append([l([s(“This”), s(“is”), s(“a”), s(“list”)]), s(bee)], [c(‘c’)], Ans2),

write(“SECOND LIST: ”, Ans2, ‘\n’).

 

13. Пролог выдаст ответ (рис. 8):

 

Рис. 8. Результат программы


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.005 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал