You are on page 1of 3

!

"# $%&' ( ) '

31
PROLOG
!
5: " # #$ % #
& '()* !
+, & #

!"# $%&' ( ) ' !"# $%&' ( ) ' max(X,Y,M):- *


X>Y,
M=X.
. ! . ! max(X,Y,M):-
1. 1. X=<Y,
1. "# $ 1. "# $ M=Y.

) ! * + ! * * $ "$
% " !& $ ' # : :
: max(4,5, ).
max(X,Y,M):-
X>Y,
X=4, =5, = X=4, =5, = ?- max(4,5,N).
M=X. N = 5.
max(X,Y,M):- : 4>5, =4. : 4=<5, =5.
X=<Y,
M=Y. : =5.
: N=5
(" " :
?- max(4,5, ).
= 5. : max(5,4, ).
X=5, =4, = X=5, =4, =
?- max(5,4, ). ?- max(5,4,N).
= 5 ; : 5>4, =5. : 5=<4, =4. N = 5 ;
false. false.
: =5. false

: N=5
" ! " " " !
!"# $%&' ( ) ' !"# $%&' ( ) ' max(X,Y,M):- +
X>Y,!,
M=X.
. ! . ! max(X,Y,M):-
1. 1. X=<Y,
2. To " !/0 2. To " !/0 M=Y.

. $ * " $ * "$
% " !/0( + & cut) ! $ : max(4,5, ).

: X=4, =5, = X=4, =5, = ?- max(4,5,N).


N = 5.
"$ * * . : 4>5,!, =4. : 4=<5, =5.
$ , .- * ! "
, * ! : =5.
% !& * , * $ : N=5
* $ ! ! *
: max(5,4, ).
!" .
X=5, =4, = X=5, =4, =
# * *" max ' : ?- max(5,4,N).
: 5>4,!, =5. : 5=<4, =4. N = 5.
max(X,Y,M):-
X>Y,!,
: !, =5.
M=X.
max(X,Y,M):- : =5.
X=<Y,
: N=5
M=Y.

!"# $%&' ( ) ' !"# $%&' ( ) '


, -

. ! . !
1. 2. . ! %
2. To " !/0 1. To " fail / 0

*! $ * " /$ % " fail / 0 ! " * ! :


. "$ * * .
0 * ! # * " if-else ( "" )
1 *! *" : * " " .
2 $ * " * " # ! fail
max(X,Y,M):- !& * * ! * .
max(X,Y,M):-
X>Y,!,
M=X.
X>Y,!, max(X,Y, ):- (! ! & " + ! *
M=X. X>Y,!. $ ! * "$ *
max(X,Y,M):-
max(X,Y,M):- max(X,Y, ).
X=<Y,
M=Y.
" .
M=Y.
!"# $%&' ( ) ' !"# $%&' ( ) '
. /

.. " .. "
(, 1 (, 1
" Prolog:
first:- room(X),
write(X), 0 ! " :
nl, (a1) first.
fail. (a2) second.
second:- room(X),
!, (a3) third.
write(X), (a4) fourth.
nl, (a5) fifth.
fail.
third:- room(X),
write(X), ) " $ ! !
nl, " :
!,
fail. (1) (2) (3) (4) (5)
fourth:- !, a a a a a
room(X), b b b
write(X),
No c No c c
nl,
fail. d d d
fifth:- room(X),
write(X), No No No
nl,
fail,
!.
room(a). ) / , & * , . . a3->2
room(b).
room(c).
room(d).

!"# $%&' ( ) ' !"# $%&' ( ) '

.. " .. "
(, 2 (, 2

( ) f(X,Y):- X<0,!, Y=0.

f(X,Y):- X<0,!, Y=0.


( )
f(_,0).

f(X,Y):- X>=0, !, Y=0.


( )
f(_,1).

f(X,Y):- X<0, !, Y=0.


( )
f(_,1).

f(_,1).
()
f(X,Y):- X<0, !, Y=0.

You might also like