初学prolog, 请教大家一个例子
prolog吧
全部回复
仅看楼主
level 1
italianyu 楼主
有这么一个例子,看不太懂,说是prolog中代替if的,请大家给我解释一下。
有几个基本的概念没搞明白,是不是说一个函数中的每一部分都得是true才可以继续执行?
例如“ X=\=Y,
write('this is a rectangle').”
当X和Y相等时,X=\=Y的结果是false, 所以后面的那句 write('this is a rectangle').就不会执行了,就好像if(x=\=y)   write('this is a rectangle'). 我理解的对吗?
谢谢大家
rectangle_example:-
write('Enter the width: '),
read(W),
write('Enter the height: '),
read(H),
rectangle_or_square(W, H).
rectangle_or_square(X, X):-
write('this is a square').
rectangle_or_square(X, Y):-
X=\=Y,
write('this is a rectangle').
|?-rectangle_example.
2010年03月10日 04点03分 1
level 4
prolog中的逗号是“与”的意思,上面所说 是当X不等于Y 并且 write为true,而且程序前后两部分都会被执行,但前半部分先执行 所以就达到了 if 的效果。
2012年02月04日 18点02分 2
1