.


:




:

































 

 

 

 





 

, , , ( ). , :

;

;

;

, .

do_answer ()

/* 1 */

do_answer ("stop") :- write ("good bye").

/* 2 */

do_answer (X) :- X="all", colleague (Z,Y), write (" ", Z, " -> ", Y), nl, fail,!.

/* 3 */

do_answer (X) :- frontchar (X,"!",Z), colleague (Z,_) ,!, write (Z," "), nl, fail.

/* 4 */

do_answer (X) :- frontchar (X,"< ",Z), colleague (Q,Y), write (" ", Q, " -> ", Y), nl, Q=Z,!, fail.

/* 5 */

do_answer (X) :- colleague (X,Y), write (" ", X, " -> ", Y), nl, fail.

do_answer() ' . , ', .

1 , repeat.

5 . .

2 , all ( ). - , , , do_answer().

, , . fail, , , .

, all do_answer , , .

, 񳺿 do_answer all . , do_answer, 3, 4 5.

3 , , , , , . .

, , !. 3 ! .

frontchar (X,"!",Z) (. ). !, Z X, (Z =). !, .

, colleague (Z,_) - Z. , , . , .

ϳ , ᳔.

, . , write () , , . , , colleague () . , , 񳺿 do_answer (). , query , , repeat .

fail 3.

4 . , . , , , <.

, <. Z X, . , , . .

, , . , Q=Z , , fail , .

, 񳺿 do_answer(). query.

, colleague (Q, Y) , 2 5, fail, Q=Z. , fail, , ?

, do_answer() , query. , , repeat, .

4 fail , , . query do_answer (), repeat .

4 fail, . query do_answer (), , query . , .

stop, , ' fail 4.

 

 

2.10 ³ --

 

(') ' .

(, ),

. ̳ ' --. :

( ');

( ');

' , , . ' . parent (), , father ().

' ' father () .

/* 2.5 */

domains

n, child = symbol

predicates

father (name,child)

parnt (nam,child)

clauses

father ("", "").

father ("", "").

father ("", "").

father ("", "").

/* () */

parent (F,C) :- bound (C), fathr (F,C) ,!.

/* */

parent (F,C) :- free (C), fathr (F,C).

bound(C) , , free(C) , .

, . , , , . , , .

 





:


: 2015-11-05; !; : 430 |


:

:

,
==> ...

1793 - | 1710 -


© 2015-2024 lektsii.org - -

: 0.018 .