Scheme 方案:创建一个过程产品,该产品将要求两个数字并计算其产品

Scheme 方案:创建一个过程产品,该产品将要求两个数字并计算其产品,scheme,Scheme,创建一个过程产品,该产品将要求两个数字并计算其产品。如果乘积大于或等于20,程序将要求半径以计算圆的面积;否则,程序将要求输入长度和宽度以计算矩形的面积。如果产品为零,程序将显示无效输入!该计划应至少在两个程序中实施 请帮忙? 我有这个 (define circle (lambda (radius) (* 3.14 (* radius radius))) (define product (lambda (a b) (* a b)) 您可以使用read“索要两个数字”

创建一个过程产品,该产品将要求两个数字并计算其产品。如果乘积大于或等于20,程序将要求半径以计算圆的面积;否则,程序将要求输入长度和宽度以计算矩形的面积。如果产品为零,程序将显示无效输入!该计划应至少在两个程序中实施

请帮忙? 我有这个

(define circle
  (lambda (radius)
    (* 3.14 (* radius radius)))

(define product
  (lambda (a b)
    (* a b))
您可以使用
read
“索要两个数字”

> (let ((a (read))) (format "You typed: ~a" a))
12
"You typed: 12"
> 

这恰好也向您展示了如何设置输出的格式,尽管通读可能仍有助于提高细节。只需记住检查返回值是否是一个带的数字,其余的问题应该是不言自明的。

这是你的家庭作业吗?对矩形进行同样的操作,然后编写产生副作用(读取、显示)的过程,并根据描述使用其他过程。你熟悉let吗?你可以让它读起来像你的作业一样。正如Sylwester所说,使用
read
提示输入很容易。例如:
(定义(读取))
。您可以使用
display
write
来显示输出,
rectangle
非常简单;只需按照您的
圆圈
示例操作即可。