学知识,解决实际问题。

(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语言递归法_递归算法经典实例相关推荐

  1. C++两个函数可以相互递归吗_C语言(7)- 递归

    (本文为原创,版权归作者所有) 递归(Recursion) 递归是一种计算方法,它的每一步计算都可以被分解为更小规模的相同的计算,因此一个问题可以通过不断重复的分解来解决.一个典型的例子是计算阶乘N! ...

  2. 语言取10的整数倍_C语言结构体用法很多,坑也很多

    C语言可谓是编程界的传奇语言,历经几十年,依然排名前列. 前不久还写了一篇文章<2019年11月C语言接近Java>,说了C语言是比较受欢迎的一种语言,有望在年底超过JAVA,再次成为第一 ...

  3. python汉诺塔递归算法流程图_python实现汉诺塔的图解递归算法

    一.起源: 汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具.大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘.大梵天命令婆罗门把圆盘从下面开始按大小 ...

  4. 使c语言程序变成流程图的软件,c语言流程图生成器

    c语言流程图生成器是一款极佳的根据源码生成流程图的工具.软件可以帮助程序员更好地理解程序,制作文档和可视化代码.支持C,C++,VC++(Visual C++ .NET),Delphi(Object ...

  5. c语言程序 中断函数示例,单片机_C语言函数_中断函数(中断服务程序)

    c语言中的中断函数注意事项 单片机_C语言函数_中断函数(中断服务程序) 在开始写中断函数之前,我们来一起回顾一下,单片机的中断系统. 中断的意思(学习过微机原理与接口技术的同学,没学过单片机,也应该 ...

  6. c语言exit在哪个头文件_C语言函数执行成功时,返回1和返回0,究竟哪个好?

    基本上,没有人会将大段的C语言代码全部塞入 main() 函数,更好的做法是按照复用率高,耦合性低的原则,尽可能的将代码拆分不同的功能模块,并封装成函数.C语言代码的组合千变万化,因此函数的功能可能会 ...

  7. c语言中调整颜色的函数_C语言中的输入输出函数

    点击上方"学士科技",选择"设为星标" 技术干货第一时间送达! 01 字符数据输入输出 字符数据输出函数putchar() C语言中字符数据输出使用的是putc ...

  8. c语言贪吃蛇最简单代码_C语言指针,这可能是史上最干最全的讲解啦(附代码)!!!...

    点击上方"大鱼机器人",选择"置顶/星标公众号"福利干货,第一时间送达!指针对于C来说太重要.然而,想要全面理解指针,除了要对C语言有熟练的掌握外,还要有计算机 ...

  9. c语言怎么判断常量合不合法_C语言z简单的入门

    C语言入门 物联网开发入门直播课 - 嵌入式/物联网-C语言编程基础 - 创客学院直播室​www.makeru.com.cn C语言一经出现就以其功能丰富.表达能力强.灵活方便.应用面广等特点迅速在全 ...

  10. c语言递归法1 2 n,递归法_C语言递归法_递归算法经典实例(2)

    在网上搜索梵塔游戏fanta.exe,自己动手,体会梵塔问题,尝试解决问题. 3 问题分析 教师提出问题: 1. 盘子移动过程中的两个要求? 2. 寻找规律:(教师引导,学生描述移动过程) (1)两个 ...

最新文章

  1. linux下IPython的安装方法
  2. 高清 网络摄像机 华为海思3510芯片
  3. 【python】 time模块和datetime模块详解 【转】
  4. 全国计算机考试一级在线模拟,2017全国计算机一级考试模拟
  5. gdal1.6linux编译,VS2015下编译64位GDAL总结
  6. python 字符串转换
  7. 黑客为什么不攻击支付宝?
  8. Jlink修复指南step by step指导(实践成功) 更新 适用win7-10
  9. Problem A. Snapper Chain 问题A.按扣链条 解决办法
  10. 贫富差距,不是收入分化,而是资产分化
  11. lwip连续发数据卡死_用lwip发送大量数据时,遇到的问题解答记录 | 求索阁
  12. L1-054 福到了 (15 分)
  13. 计算机与人脑的出版社,计算机与人脑
  14. 企业级带库走向大型化、智能化
  15. win10可以上网,但显示小地球的情况(未连接到网络)
  16. 金蝶软件打开显示加密服务器,金蝶k/3加密服务未启动解决方法
  17. 第2期:天昊微生物绝对定量测序“一作昊课堂”讲座预告
  18. 4G RSRP 的规范值为070的求对应真实值过程
  19. 基于高频方波电压注入的永磁同步电机无感FOC 采用方波电压注入,减少了提取dq轴基频电流时LPF的使用
  20. [人才招聘-日企独资上市企业,岗位真实有效]

热门文章

  1. 计算机网络课程设计报告
  2. 创建库文件c语言,创建自己的函数库
  3. redis数据库实例
  4. 个人网页制作 大学生个人网页设计 个人网站模板 简单静态HTML个人网页作品 大学生毕设网页设计源码HTML
  5. android 自定义地图标注,Android高德地图自定义Markers【原创】
  6. 2022 数学建模B题成品论文 参考文章 含全部建模 步骤 数学模型 图像
  7. AirDisk创建网盘
  8. Excel数据透视表制作
  9. head first 设计模式源码
  10. CentOS7 安装 oracle 10g