在方案中从极性转换为矩形

时间:2014-04-07 00:45:58

标签: scheme

我正在尝试从极性转换为矩形,我编写此代码

(define (polar_to_rectangular h r)
  (cons
     (* (sin (DegreesToRadians h)) r) 
     (* (cos (DegreesToRadians h)) r)
  )
 )

但我有这个错误 缺点:第二个参数必须是一个列表,但收到#i4.999999999999999和#i8.660254037844387

结果是正确的但仍然出错 请帮忙!!

1 个答案:

答案 0 :(得分:0)

我猜你正在使用DrRacket。报告的错误发生是因为使用的教学语言不允许将非列表作为cons的第二个参数传递。改为使用list

(define (polar_to_rectangular h r)
  (list
     (* (sin (DegreesToRadians h)) r) 
     (* (cos (DegreesToRadians h)) r)))

或者如果你必须使用cons,那么在窗口的左下角选择“从源确定语言”并在文件的开头写下这一行:

#lang racket