文档详情

子程序的嵌套教程.ppt

发布:2017-04-26约小于1千字共8页下载文档
文本预览下载声明
;;3.递归调用: ①递归的定义: Pascal语言中,如果在一个函数、过程等的定义或说明内部又直接或间接地出现有对自身的引用,则称它们是递归的或者是递归定义的。 ②递归的实现: 通过函数或过程的调用来实现。 函数或过程直接调用其自身,称为直接递归;函数或过程间接调用其自身,称为间接递归。; 使用递归求解问题,通常可以将一个比较大的问题层层转化为一个与原问题相类似的、规模较小的问题进行求解,最终达到对原问题的求解。;……;Program lx1; Var a,p:integer; Function fun (n:integer):integer; Begin If n=0 then fun=0 Else if n0 then fun:=fun(n-2)+2 Else fun:=fun(n+3)+3 End; Begin Read (a) P:=fun(a); Write(p);end. 读入5,输出: ;.program t4; var m,n:byte; procedure fen(i,j:byte;s:string); var k:byte; s1:string; begin if j=1 then writeln(m,=,s,i) else for k:=1 to i-j+1 do begin str(k,s1); fen(i-k,j-1,s+s1++); end; end; begin readln(m,n); fen(m,n, ); end.;例16:有n个半径各不相同的圆盘,按半径从大到小,自下而上依次套在A柱上,另外还有B、C两根空柱。要求将A柱上的n个圆盘全部搬到C柱上去,每次只能搬动一个盘子,且必须始终保持每根柱子上是小盘在上,大盘在下。
显示全部
相似文档