请你给我写一个简单完整的 Turbo prolog 程序
时间: 2023-11-15 14:05:07 浏览: 29
以下是一个简单完整的 Turbo Prolog 程序,它实现了一个简单的数学运算器,可以对两个数字进行加、减、乘、除运算,并输出结果:
```
domains
number = integer
predicates
add(number, number, number)
subtract(number, number, number)
multiply(number, number, number)
divide(number, number, number)
clauses
add(X, Y, Z) :- Z = X + Y.
subtract(X, Y, Z) :- Z = X - Y.
multiply(X, Y, Z) :- Z = X * Y.
divide(X, Y, Z) :- Y = 0, write("Error: division by zero"), nl, fail; Z = X / Y.
goal
write("Enter first number: "), read(X),
write("Enter second number: "), read(Y),
write("Select operation (+, -, *, /): "), read(Op),
( Op = '+' -> add(X, Y, Z);
Op = '-' -> subtract(X, Y, Z);
Op = '*' -> multiply(X, Y, Z);
Op = '/' -> divide(X, Y, Z);
write("Error: invalid operation"), nl, fail ),
write("Result: "), write(Z).
```
程序定义了四个谓词:add、subtract、multiply和divide,分别实现加、减、乘、除运算。每个谓词接受两个参数,返回运算结果。在divide谓词中,如果被除数为零,则输出错误信息并返回失败。
程序的goal是一个交互式的界面,它提示用户输入两个数字和操作符,并根据操作符调用相应的谓词进行运算。如果输入的操作符无效,则输出错误信息并返回失败。最后输出运算结果。
相关推荐
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)