Scheme PLT[球拍/方案]复利+;蓄能器-如何

Scheme PLT[球拍/方案]复利+;蓄能器-如何,scheme,racket,Scheme,Racket,我在另找时间做一件(应该很容易的)工作 复利。。。(公式已知) 方案。。。(在一年中,一切都完美无瑕) 问题:需要蓄电池。。。 我的程序必须能够记住前一次计算的结果,并将其作为下一次计算的蓝图 我的问题来了:如何在没有列表的情况下设置accu程序。。。。? 还是我现在大错特错了,我必须使用它们 不知怎的,我不得不一次又一次地调用递归过程 多谢各位, 真的,安德烈亚斯 Andreas_p你是说: (define (fv n pv r) (if (= n 0) pv (f

我在另找时间做一件(应该很容易的)工作

复利。。。(公式已知) 方案。。。(在一年中,一切都完美无瑕)

问题:需要蓄电池。。。 我的程序必须能够记住前一次计算的结果,并将其作为下一次计算的蓝图

我的问题来了:如何在没有列表的情况下设置accu程序。。。。? 还是我现在大错特错了,我必须使用它们

不知怎的,我不得不一次又一次地调用递归过程

多谢各位, 真的,安德烈亚斯


Andreas_p

你是说:

(define (fv n pv r)
  (if (= n 0)
      pv
      (fv (- n 1) (* pv (+ 1 r)) r)))
其中,
pv
的值替换为周期结束时的值,并且周期数每递归一次减少一个


对如何构造递归有很好的介绍,值得一读。

你是说:

(define (fv n pv r)
  (if (= n 0)
      pv
      (fv (- n 1) (* pv (+ 1 r)) r)))
其中,
pv
的值替换为周期结束时的值,并且周期数每递归一次减少一个


对如何构造递归有很好的介绍,值得一读。

读你的问题让我有点头晕。我有很多答案给你,但我感觉你不太确定你的问题是什么

我给你的真正建议是慷慨地帮助你。具体来说,您需要从第一步开始,决定您的程序接收和生成什么,并编写一行描述,说明输入如何映射到输出


像往常一样,对任何冒犯表示歉意。

读到你的问题让我有点头晕。我有很多答案给你,但我感觉你不太确定你的问题是什么

我给你的真正建议是慷慨地帮助你。具体来说,您需要从第一步开始,决定您的程序接收和生成什么,并编写一行描述,说明输入如何映射到输出


一如既往,对任何冒犯表示歉意。

非常感谢您善意的回答

;;[没有真正的DBC!]
;;合同:复利:编号->编号
;;用途:此函数必须创建“复利”计算方法,
;; 当再次递归调用复利函数最多x次时。
;;示例:(复利1000 1.05 360)//应产生1050

(定义(复利资本利率计息时间)
(cond;
[(利息时间>=3600)资本];
[否则;
(*利率(复利资本利率(-利息时间360)))];
);
);

(勾选范围为(复利2000 1.05 360)2100 0.1)
(勾选范围为(复利2000 1.05 720)2205 0.01)
(勾选范围为(复利2000 1.05 1080)2315.25 0.001)
(勾选范围为(复利2000 1.05 1440)2431.0125 0.0001)
(勾选范围为(复利2000 1.05 1800)2552.563125 0.00001)
(勾选范围为(复利2000 1.05 2160)2680.19128125 0.000001)
(勾选范围为(复利2000 1.05 2540)2814.20084531 0.0000001)
(勾选范围为(复利2000 1.05 2900)2954.91088758 0.00000000 1)
;(复利2000 1.05 3260)
;(复利2000 1.05 3600)

一开始你是对的我走错了方向。。。关于累加器与否。。。 然后一位同学向我解释了原因,结果如下。

嗯,[第一评论员]:是的,它看起来非常相似,但因为它是SICP,它是 由于DrRacket中没有安装SICP校正模块,计划在6.001 MIT中使用,因此我无法真正使用。

也许你是对的,我应该更详细地解释 阅读更多关于我们学院“记忆功能”的内容。

最后但并非最不重要的一点是,谢谢你的两个答案,我现在觉得解决并结束这条“线索”(有些)是明智的

祝你有愉快的一天。。。[极客们]
Andreas_P

非常感谢您友好的回答

;;[没有真正的DBC!]
;;合同:复利:编号->编号
;;用途:此函数必须创建“复利”计算方法,
;; 当再次递归调用复利函数最多x次时。
;;示例:(复利1000 1.05 360)//应产生1050

(定义(复利资本利率计息时间)
(cond;
[(利息时间>=3600)资本];
[否则;
(*利率(复利资本利率(-利息时间360)))];
);
);

(勾选范围为(复利2000 1.05 360)2100 0.1)
(勾选范围为(复利2000 1.05 720)2205 0.01)
(勾选范围为(复利2000 1.05 1080)2315.25 0.001)
(勾选范围为(复利2000 1.05 1440)2431.0125 0.0001)
(勾选范围为(复利2000 1.05 1800)2552.563125 0.00001)
(勾选范围为(复利2000 1.05 2160)2680.19128125 0.000001)
(勾选范围为(复利2000 1.05 2540)2814.20084531 0.0000001)
(勾选范围为(复利2000 1.05 2900)2954.91088758 0.00000000 1)
;(复利2000 1.05 3260)
;(复利2000 1.05 3600)

一开始你是对的我走错了方向。。。关于累加器与否。。。 然后一位同学向我解释了原因,结果如下。

嗯,[第一评论员]:是的,它看起来非常相似,但因为它是SICP,它是 由于DrRacket中没有安装SICP校正模块,计划在6.001 MIT中使用,因此我无法真正使用。

也许你是对的,我应该更详细地解释 阅读更多关于我们学院“记忆功能”的内容。

最后但同样重要的是,谢谢你