Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Prolog > Результат выполнения запроса


Автор: DokuDera 2.8.2013, 14:42
Добрый день!Так как я новичок в Прологе, прощу помощи.
Есть задачка.
Укажите результат выполнения следующего запроса на Прологе:

-? author(X, Y), derivedFrom(Y, unix)
для программы:

author(dijkstra, algol).
author(ritchie, unix).
author(wirth, pascal).
author(kernighan, awk).
author(backus, fortran).
author(kernighan, unix) .
author(backus, algol) .
author(kernighan, awk).
author(ritchie, plan9).
author(ritchie, c).
author(torvalds, linux).
author(corbato, multics).
author(aho, awk).
author(thompson, c).
author(straustrup, cpp).
author(hubbard, freebsd).

basedOn(linux, unix).
basedOn(pascal, algol).
basedOn(plan9, unix).
basedOn(unix, multics).
basedOn(awk, c).
basedOn(inferno, plan9).
basedOn(limbo, c).
basedOn(cpp, c).
basedOn(freebsd, c).
basedOn(openbsd, freebsd).

derivedFrom(X, Y) :- basedOn(X, Y).
derivedFrom(X, Z) :- basedOn(X, Y), basedOn(Y, Z).

и ответы(из которых нужно выбрать):
 X = ritchie, Y = kernighan;
 X = plan9, Y = ritchie; X = torvalds, Y = linux;
 X = ritchie
 WARNING! X, Y :- NOT DEFINED
 X = ritchie, Y = plan9; X = torvalds, Y = linux;
 (ritchie, kernighan)
 (torvalds, linux)

Подозреваю, что ответ может быть  X = ritchie, Y = kernighan; или  (ritchie, kernighan). А как на самом деле, не знаю. Заранее спасибо!

Автор: DokuDera 3.8.2013, 09:26
Кто-то может помочь? Выдает ошибку в процессе компиляции...

Автор: Фантом 3.8.2013, 10:09
Цитата(DokuDera @  2.8.2013,  15:42 Найти цитируемый пост)

Подозреваю, что ответ может быть  X = ritchie, Y = kernighan; или  (ritchie, kernighan). А как на самом деле, не знаю. Заранее спасибо! 


Нет. Ответ будет таким: X = ritchie, Y = plan9 .

Автор: DokuDera 3.8.2013, 10:17
Над этим тоже думал. Но такого варианта нет.
Может, тогда:  X = ritchie, Y = plan9; X = torvalds, Y = linux; ?

Автор: Фантом 3.8.2013, 19:11
Цитата(DokuDera @  3.8.2013,  11:17 Найти цитируемый пост)
Над этим тоже думал. Но такого варианта нет.

Это было не предположение, а утверждение.  smile Попробуйте разобраться, почему ответ будет именно таким.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)