递归调用:
子程序可以互相调用,当调用该子程序本身时,即成了递归子程序。
递归子程序有两个条件:
1.除了不被子程序改变的变量外,所有的变量必须是局部的
2.该子程序要含有停止调用本身的代码。
递归程序编写: 计算阶乘: f(10)
1.写出初始条件: f(1)=1;
2.写出递推通式: f(n)=n*f(n-1) 类似数学归纳法的假设部分
sub f{
my $a=shift;
if($a==1){ ##或者$a==1?1:$a*f($a-1);
return 1;
}
else {
return $a*f($a-1);
}
预定义的子程序:
perl 5预定义了三个字程序,分别在特定的时间执行,你可以自己定义它们,以在特定时间执行所需要的动作。
总结:
一. 子程序的定义sub subname{}
二. 子程序返回值:最后一个执行的语句值
三.参数传递: @_,$_[0],shift. 别名*[通配变量],引用\
四.局部变量: my块内可见。Local 调用子程序也可见
子程序定义-3
最新推荐文章于 2024-07-19 04:12:30 发布
本文介绍了递归子程序的概念,强调了递归调用的两个关键条件,并通过计算阶乘的例子展示了如何编写递归程序。同时,提到了Perl 5预定义的三个字程序,以及子程序的定义、返回值处理、参数传递和局部变量的使用方法。
摘要由CSDN通过智能技术生成