子程序定义-3

46 篇文章 30 订阅 ¥39.90 ¥99.00
本文介绍了递归子程序的概念,强调了递归调用的两个关键条件,并通过计算阶乘的例子展示了如何编写递归程序。同时,提到了Perl 5预定义的三个字程序,以及子程序的定义、返回值处理、参数传递和局部变量的使用方法。
摘要由CSDN通过智能技术生成
 递归调用:

子程序可以互相调用,当调用该子程序本身时,即成了递归子程序。

递归子程序有两个条件:

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 调用子程序也可见

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

scan724

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值