在 Prolog 中计算球体积
Calculate sphere volume in Prolog
如何在 Prolog 中计算球体积?
我有这样的代码:
area(R,P):-P is 3.14 * R *R.
vol(R,P,V):-V is 4/3 * R * area(R,P).
我在尝试编译上面的代码时遇到这样的错误:
fatal error: unknown operation in arithmetic expression (area/2)
compilation failed
这段代码有什么问题,这是否意味着我不能在另一个谓词中使用一个谓词?我正在使用 gprolog
.
您收到此错误是因为 gnu-prolog 不允许添加新的算术函数(除非您重新编译它的 'kernel')。
无论如何,您可以通过先计算面积然后使用该面积计算体积来计算体积。即:
area(R,P):-P is 4.0 * 3.14 * R *R.
vol(R,V):-
area(R,P),
V is 1/3 * R * P.
如何在 Prolog 中计算球体积?
我有这样的代码:
area(R,P):-P is 3.14 * R *R.
vol(R,P,V):-V is 4/3 * R * area(R,P).
我在尝试编译上面的代码时遇到这样的错误:
fatal error: unknown operation in arithmetic expression (area/2)
compilation failed
这段代码有什么问题,这是否意味着我不能在另一个谓词中使用一个谓词?我正在使用 gprolog
.
您收到此错误是因为 gnu-prolog 不允许添加新的算术函数(除非您重新编译它的 'kernel')。
无论如何,您可以通过先计算面积然后使用该面积计算体积来计算体积。即:
area(R,P):-P is 4.0 * 3.14 * R *R.
vol(R,V):-
area(R,P),
V is 1/3 * R * P.