更改

跳到导航 跳到搜索
删除12字节 、 2022年3月15日 (二) 16:07
第71行: 第71行:  
这意味着一个表达式要么是一个数字,要么是两个表达式的乘积,要么是两个表达式的和。通过在第二行和第三行中递归引用表达式,该语法允许任意复杂的算术表达式,如 <code> (5 * ((3 * 6) + 8)) </code> ,在一个表达式中有多个乘积或和运算。
 
这意味着一个表达式要么是一个数字,要么是两个表达式的乘积,要么是两个表达式的和。通过在第二行和第三行中递归引用表达式,该语法允许任意复杂的算术表达式,如 <code> (5 * ((3 * 6) + 8)) </code> ,在一个表达式中有多个乘积或和运算。
    +
<br>
 
===协归纳定义的数据和共递归===
 
===协归纳定义的数据和共递归===
   第83行: 第84行:  
这与字符串列表的归纳定义非常相似;不同的是,这个定义指定了如何访问数据结构的内容,即通过访问函数的头<code>head</code>和尾<code>tail</code>以及这些内容可能是什么,而归纳定义则指定了如何创建结构以及它可能是由什么创建的。
 
这与字符串列表的归纳定义非常相似;不同的是,这个定义指定了如何访问数据结构的内容,即通过访问函数的头<code>head</code>和尾<code>tail</code>以及这些内容可能是什么,而归纳定义则指定了如何创建结构以及它可能是由什么创建的。
   −
共递归与协归纳相关,可以用来计算无限规模的对象。作为一种编程技术,它最常被用于 '''<font color="#f668800">惰性编程语言  lazy programming language'''中,当程序输出的大小或精度未知时,使用共递归会比递归更合适。在这种情况下,程序既需要一个无限大(或无限精确)结果的定义,又需要一个取该结果有限部分的机制。计算出前n个质数的问题,就是能用一个核心递归程序来解决的问题。
+
共递归与协归纳相关,可以用来计算无限规模的对象。作为一种编程技术,它最常被用于 '''惰性编程语言  lazy programming language'''中,当程序输出的大小或精度未知时,使用共递归会比递归更合适。在这种情况下,程序既需要一个无限大(或无限精确)结果的定义,又需要一个取该结果有限部分的机制。计算出前n个质数的问题,就是能用一个核心递归程序来解决的问题。
 +
 
 +
<br>
    
==递归的类型==
 
==递归的类型==
7,129

个编辑

导航菜单