- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
PAGE
课题
任务6.4根据驾驶员的工作年限,求工资的数额(嵌套和递归)
课型
讲练
授课班级
授课时数
2
教学目标
掌握递归函数的算法
运用软件开发方法提出问题,分析问题的能力;
运用各种开发工具调试程序。
教学重点
递归函数的算法
教学难点
递归函数的算法
学情分析
学生前面已经学习的函数的方法,在讲解循环中也引入了递归函数,此个递归函数也许会和循环讲解时产生问题,此处多注意他们的问题。
教学效果
教后记
任务6.4根据驾驶员的工作年限,求工资的数额(嵌套和递归)
6.4.1任务目标
已知驾驶员的工资和工作年限相关,第一年每月的工资为5000元,以后每年增长10%,求第12年每月的工资。程序运行结果如图6-40所示。
图6-40程序运行结果(上图已修改)
6.4.2知识储备
1.函数的嵌套调用
在调用一个函数的过程中又调用另一个函数称为“函数的嵌套调用”。
示例1,函数的嵌套调用的示例代码如下:
#includestdio.h
voidf1();
voidf2(intn);
voidmain()
{
f1();
}
f1()
{
f2(5);
}
voidf2(intn)
{inti;
for(inti;i=n;i++)
rintf(“*”);
}
示例1的函数嵌套调用的示意图如图6-41所示。
图6-41函数的嵌套调用的示意图
2.函数的递归调用
在调用一个函数的过程中,又出现直接或间接地调用该函数本身称为“函数的递归调用”。
示例2:函数的递归调用的应用。
#includestdio.h
voidf(intn)
{
if(n==0)return;
printf(%d\n,n);
f(--n); //直接递归调用
}
voidmain()
{
intnum=5;
f(num);
}
6.4.3典型案例
典型案例1:某集团对驾驶员的工资根据是否出现交通事故而制定,如果没有出现交通事故,则驾驶员下一个月的工资会增加上一个月工资的10%。一个驾驶员1月的工资为3000元,假设该驾驶员全年都没有出现交通事故,则计算这个驾驶员全年的工资(备注一个函数求和,一个函数求每个月的工资)。
典型案例1嵌套调用示意图如图6-42所示。
图6-42典型案例1嵌套调用示意图
代码如下:
#includestdio.h
doublesalaryincrease(intmonth)
{
doublesalary=3000;
inti;
for(i=2;i=month;i++)
salary=salary*1.1;
returnsalary;
}
doublesum_salary(intmonth)
{
doublesum=0;
for(i=1;i=12;i++)
sum=sum+salaryincrease(i);
returnsum;
}
voidmain()
{
intmonth=12;
printf(本年一共领取了%.2f工资,sum_salary(12));
}
典型案例1的运行结果如图6-43所示。
图6-43
图6-43典型案例1的运行结果
1)算法分析
根据题意可知
age(5)=age(4)+2
age(4)=age(4)+2
age(3)=age(2)+2
age(2)=age(1)+2
age(1)=25
2)转换成数学公式总结
典型案例2递归调用示意图如图6-44所示。
图6-44典型案例2递归调用示意图
代码如下:
#includestdio.h
intage(intn){
if(n==1)
return25;
else
returnage(n-1)+2;
}
voidmain()
{
intn=5;
printf(第5个人是%d岁,age(5));
}
典型案例2的运行结果如图6-45所示。
小贴士:
当运用递归时,建议先换成上述的数学公式总结,再按照格式完成递归实现。
典型案例3:用递归方法求10!。
算法分析如下。
10!=9!*10。
9!=8!*7。
……
2!=1!*1。
代码如下:
#i
您可能关注的文档
- 单片机原理及应用(C51版)教案第1章 单片机基础知识.pptx
- Windows Server 2022活动目录管理实践( 第2版 微课版)-课件项目24 提升林域的功能级别、部署多元密码策略.pptx
- 单片机原理及应用(C51版)教案第2章 单片机基本结构和工作原理.pptx
- 单片机原理及应用(C51版)教案第3章 单片机C51程序设计基础.pptx
- 单片机原理及应用(C51版)教案第4章 单片机的中断系统.pptx
- Windows Server 2022活动目录管理实践( 第2版 微课版)-课件项目25 操作主机角色的转移与强占.pptx
- 单片机原理及应用(C51版)教案第6章 单片机串行通信接口-16比9.pptx
- 单片机原理及应用(C51版)教案第7章 单片机并行扩展技术-16比9.pptx
- 单片机原理及应用(C51版)教案第8章 单片机串行扩展技术.pptx
- Windows Server 2022活动目录管理实践( 第2版 微课版)-课件项目26 站点的创建与管理.pptx
文档评论(0)