【问题标题】:How is the recursion and control sturctures in this LISP code different from normal functions and control structures?此 LISP 代码中的递归和控制结构与普通函数和控制结构有何不同?
【发布时间】:2020-05-18 03:57:44
【问题描述】:

所以这段代码在我老师给我们准备递归考试的工作表上。老师说在LISP中,你在变量之前写操作数,这很有意义。没有意义的是,我的教授说第 2 行的 if 块仍然可以正常读取,“如果 y 小于 1”,但他说第 3 行的代码在“y 不小于 1”时执行。工作表上的问题要求我们找出 f(3 2) 的结果。任何一个问题的答案都将不胜感激!

【问题讨论】:

    标签: function recursion lisp


    【解决方案1】:

    if 语句具有三个子项:测试条件、测试为真时的结果和测试为假时的结果。在您的代码中可能会造成混淆,因为最后两个元素已在第 3 行中组合在一起。真正的结果只是“x”,而错误的结果是 (f (* x x) (- y 1))
    因此该语句将被读作“如果 y 小于 1 则返回 x,否则返回 (f (* x x) (- y 1))”。
    我希望这足以让您开始。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-25
      • 2011-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多