c语言的递归算法流程图,递归法_C语言递归法_递归算法经典实例
学知识,解决实际问题。
(3)从简单问题出发,逐步增加难度,增强解决问题的能力。
情感态度与价值观:
(1)理解递归的意义,学会将大问题分解为小问题的思想方法。
(2)在解决问题的过程中进一步培养和提升学生的分析、归纳、总结、解决问题的能力。
(3)培养学生的主动探究分析解决问题的能力。
四、教学重点与难点
学习重点:
掌握
能针对具体问题找到递归出口、总结归纳出递归函数关系式。
学习难点:
正确高效的应用递归法分析、解决实际问题。
五、教学策略
情境教学法、分组讨论法、任务驱动法
六、教学环境及资源准备
教学环境:
多媒体机房、因特网
教学资源:
课件、电子档案袋
七、教学过程(可以用嵌套表格呈现具体内容)
教学环节(第1学时)
教师活动
学生活动
用时
新课导入
大屏幕展示一段视频:(问题1)有5个人坐在一起,问第5个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第3个人,又说比第2个人大2岁。问第2个人,说比第1个人大2岁。最后问第1个人,他说是10岁。请问第5个人多大?
(设计意图:利用学生的心理特性,激发学习兴趣,引出递归的概念,导入新课。)
请同学简单描述求解过程。
4
问题分析
引导学生回答问题
(1)递归必须有终止条件,终止条件是什么?
(2)列出问题1的递归关系式,age(n)函数如何定义?
(3)举例说明,哪些实际问题适合使用递归方法解决?
回答老师问题
(1) 终止条件age(1)=10
(2) 函数为:
10 n=1
age(n)=
age(n-1)+2 n>1
(3)求阶乘问题、猴子吃桃问题等。
8
算法设计
递归调用过程可以分为:先不断调用(回推),再依次退回(递推)。
上述递归调用过程表示如下:
学生在word中画出函数的调用过程图,将其存储到电子档案袋中:
5
编程实现
巡视教室,指导学生写出正确的程序,具体代码如下:
Public class ages
{
Static int age(int n)
{ if (n==1)
Return 10;
Else
Return n+2
}
Public static void main(String args[])
{ System.out.println(“age(5)=”+age(5);)
}
}
学生尝试写出程序代码,不断的修改,调试,直到运行无误,将其存入电子档案袋“我的作品”中,并以定稿形式发布。递归法(参照课本129页,阶乘程序代码)
8
任务扩展
布置任务,教材第133页“实践与思考”第1题
教师给予指导。
自主分析,确定递归函数关系式和递归出口,试着写出程序。递归法
12
讨论、总结
1.学生通过分组讨论,回答下列问题:
(1)符合什么条件的问题,适合使用递归法解决?
(2)递归算法的设计步骤分为四个步骤?
2.教师对学生回答,给予归纳、总结。
8
教学环节(第2学时)
教师活动
学生活动
用时
温故知新
通过任务,回顾上节课知识:
(问题2)斐波纳契(Fibonacci)函数问题。有一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假设所有兔子都不死,问第20个月兔子的总数是多少?
学生填表,回答问题,教师巡查指导(见“关键环节提炼”)
自主分析,完成下列问题:
(1) 归纳出递归函数
(2) 确定递归出口
(3) 填写程序(关键环节提炼)
12
提出问题
大屏幕展示梵塔图片,教师讲述梵塔故事的来历,以此引入新课。
(设计意图:利用学生的心理特性,激发学习兴趣,引导学生自己动手解决问题,并帮助他们分析问题、归纳问题。)
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-25299-1.html
c语言的递归算法流程图,递归法_C语言递归法_递归算法经典实例相关推荐
- C++两个函数可以相互递归吗_C语言(7)- 递归
(本文为原创,版权归作者所有) 递归(Recursion) 递归是一种计算方法,它的每一步计算都可以被分解为更小规模的相同的计算,因此一个问题可以通过不断重复的分解来解决.一个典型的例子是计算阶乘N! ...
- 语言取10的整数倍_C语言结构体用法很多,坑也很多
C语言可谓是编程界的传奇语言,历经几十年,依然排名前列. 前不久还写了一篇文章<2019年11月C语言接近Java>,说了C语言是比较受欢迎的一种语言,有望在年底超过JAVA,再次成为第一 ...
- python汉诺塔递归算法流程图_python实现汉诺塔的图解递归算法
一.起源: 汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具.大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘.大梵天命令婆罗门把圆盘从下面开始按大小 ...
- 使c语言程序变成流程图的软件,c语言流程图生成器
c语言流程图生成器是一款极佳的根据源码生成流程图的工具.软件可以帮助程序员更好地理解程序,制作文档和可视化代码.支持C,C++,VC++(Visual C++ .NET),Delphi(Object ...
- c语言程序 中断函数示例,单片机_C语言函数_中断函数(中断服务程序)
c语言中的中断函数注意事项 单片机_C语言函数_中断函数(中断服务程序) 在开始写中断函数之前,我们来一起回顾一下,单片机的中断系统. 中断的意思(学习过微机原理与接口技术的同学,没学过单片机,也应该 ...
- c语言exit在哪个头文件_C语言函数执行成功时,返回1和返回0,究竟哪个好?
基本上,没有人会将大段的C语言代码全部塞入 main() 函数,更好的做法是按照复用率高,耦合性低的原则,尽可能的将代码拆分不同的功能模块,并封装成函数.C语言代码的组合千变万化,因此函数的功能可能会 ...
- c语言中调整颜色的函数_C语言中的输入输出函数
点击上方"学士科技",选择"设为星标" 技术干货第一时间送达! 01 字符数据输入输出 字符数据输出函数putchar() C语言中字符数据输出使用的是putc ...
- c语言贪吃蛇最简单代码_C语言指针,这可能是史上最干最全的讲解啦(附代码)!!!...
点击上方"大鱼机器人",选择"置顶/星标公众号"福利干货,第一时间送达!指针对于C来说太重要.然而,想要全面理解指针,除了要对C语言有熟练的掌握外,还要有计算机 ...
- c语言怎么判断常量合不合法_C语言z简单的入门
C语言入门 物联网开发入门直播课 - 嵌入式/物联网-C语言编程基础 - 创客学院直播室www.makeru.com.cn C语言一经出现就以其功能丰富.表达能力强.灵活方便.应用面广等特点迅速在全 ...
- c语言递归法1 2 n,递归法_C语言递归法_递归算法经典实例(2)
在网上搜索梵塔游戏fanta.exe,自己动手,体会梵塔问题,尝试解决问题. 3 问题分析 教师提出问题: 1. 盘子移动过程中的两个要求? 2. 寻找规律:(教师引导,学生描述移动过程) (1)两个 ...
最新文章
- linux下IPython的安装方法
- 高清 网络摄像机 华为海思3510芯片
- 【python】 time模块和datetime模块详解 【转】
- 全国计算机考试一级在线模拟,2017全国计算机一级考试模拟
- gdal1.6linux编译,VS2015下编译64位GDAL总结
- python 字符串转换
- 黑客为什么不攻击支付宝?
- Jlink修复指南step by step指导(实践成功) 更新 适用win7-10
- Problem A. Snapper Chain 问题A.按扣链条 解决办法
- 贫富差距,不是收入分化,而是资产分化
- lwip连续发数据卡死_用lwip发送大量数据时,遇到的问题解答记录 | 求索阁
- L1-054 福到了 (15 分)
- 计算机与人脑的出版社,计算机与人脑
- 企业级带库走向大型化、智能化
- win10可以上网,但显示小地球的情况(未连接到网络)
- 金蝶软件打开显示加密服务器,金蝶k/3加密服务未启动解决方法
- 第2期:天昊微生物绝对定量测序“一作昊课堂”讲座预告
- 4G RSRP 的规范值为070的求对应真实值过程
- 基于高频方波电压注入的永磁同步电机无感FOC 采用方波电压注入,减少了提取dq轴基频电流时LPF的使用
- [人才招聘-日企独资上市企业,岗位真实有效]