C程序设计教案252课时——函数的递归调用.docx
《C程序设计教案252课时——函数的递归调用.docx》由会员分享,可在线阅读,更多相关《C程序设计教案252课时——函数的递归调用.docx(7页珍藏版)》请在第一文库网上搜索。
1、教案序号25周次授课形式新授授课章节名称函数的递归调用教学目的学会使用函数的递归调用教学重点学会使用函数的递归调用教学难点学会使用函数的递归调用使用教具机房课外作业课后体会授课主要内容 7.6函数的递归调用 在调用一个函数的过程中又出现直接或间接地调用该函数本身,称为函数的递归调用。 C语言的特点之一就在于允许函数的递归调用。 7.6函数的递归调用intf(intx)(ity,z;z=f(y);return(2*z);) 7.6函数的递归调用例7.6有5个学生坐在一起 问第5个学生多少岁?他说比第4个学生大2岁 问第4个学生岁数,他说比第3个学生大2岁 问第3个学生,又说比第2个学生大2岁 问
2、第2个学生,说比第1个学生大2岁 最后问第1个学生,他说是10岁 请问第5个学生多大7.6函数的递归调用解题思路: 要求第5个年龄,就必须先知道第4个年龄 要求第4个年龄必须先知道第3个年龄 第3个年龄又取决于第2个年龄 第2个年龄取决于第1个年龄 每个学生年龄都比其前1个学生的年龄大27.6函数的递归调用解题思路:age(5)=age(4)+2age(4)=age(3)+2age(3)=age(2)+2age(2)=age(1)+2age(1)=10age(5)=age(4)+2age(5)=age(4)+2#inc1udeintmain()intage(intn);Printf(NO.5,
3、age:%dn”,age);return0;)intage(intn)intc;if(n=1)c=10;e1sec=age(n-1)+2;return(c);)age(5)输出age(5)例7.7用递归方法求n!。A解题思路:求n!可以用递推方法:即从1开始,乘2,再乘3一直乘到n。递推法的特点是从一个已知的事实(如1!=1)出发,按一定规律推出下一个事实(如2!=1!*2),再从这个新的已知的事实出发,再向下推出一个新的事实(3!=3*2!)。n!=n*(n-1)!.例7.7用递归方法求n!。A解题思路:求n!也可以用递归方法,即5!等于4!5,而4!=3!41!=1 可用下面的递归公式表示
4、:#inc1udeintmain()intfac(intn);intn;inty;printf(,inputanintegernumber:*);SCaIIf(”d”,&n);y=fac(n);printfC,%d!=%dn,n,y);return0;intfac(intn)(intf;if(n0)printf(,n由上面的分析可知:将n个盘子从A座移到C座可以分解为以下3个步骤:(1)将A上n-1个盘借助C座先移到B座上(2)把A座上剩下的一个盘移到C座上(3)将n-1个盘从B座借助于A座移到C座上可以将第步和第步表示为: 将“one”座上n-1个盘移到“two”座(借助“three”座 在
5、第(1)步和第(3)步中,one、two、three和A、B、C的对应关系不同。 对第(1)步,对应关系是One对应A,two对应B,three对应C。 对第步,对应关系是One对应B,two对应C,three对应A。把上面3个步骤分成两类操作:(1)将n1个盘从一个座移到另一个座上(n1)这就是大和尚让小和尚做的工作,它是一个递归的过程,即和尚将任务层层下放,直到第64个和尚为止。(2)将1个盘子从一个座上移到另一座上。这是大和尚自己做的工作。编写程序。 用hanoi函数实现第1类操作(即模拟小和尚的任务) 用move函数实现第2类操作(模拟大和尚自己移盘) 函数调用hanoi(n,one,
6、two.three)表示将n个盘子从one”座移到“three”座的过程(借助“two”座) 函数调用move(x,y)表示将1个盘子从X座移到y座的过程。X和y是代表A、B、C座之一,根据每次不同情况分别取A、B、C代入#inc1udeintmain()voidhanoi(intn,charone,chartwo,charthree);intm;printf(wthenumberofdiskes:*);scanf(,%d,m);printf(,move%ddiskes:nn,m);hanoi(m,A*,B,*C,);voidhanoi(intn,charone,chartwo,charthr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 教案 252 课时 函数 递归 调用