首 页 > 教学实践 >正文
用穷举法解决问题——《算法与程序设计(选修)》
作者: 日期:2007-11-15 9:44:46 出处:教育科学出版社 访问次数:
[1]
  

所需课时

2课时。

教学过程

环节

教师活动

学生活动

设计意图

创设情境

 

我们的生活中有许多有趣的数字,大家看下列数字,展示”19912002”。

介绍:这是回文数,请大家猜想下一个数字是什么。

 

请大家再看一个数字“153”,它有如下特征;

153=135333

思考:找出规律,即正着念和倒着念是一样的。

学生推理,说出下一个数。

学生寻找此数的规律。

通过这些有趣的数字,激发学生的探究欲望,为下面的探究创造氛围。

展示问题

,引入课题

问题:153是“水仙花数”,请找出所有的水仙花数(三位数)

总结:①列举出所有的解,共900个;②验证是否是真正的解。

 

 

 

 

总结:我们解决这个问题的算法称为“穷举法”,究竟什么是“穷举法”呢?

提问:刚才我们用人脑穷举来解决了这个问题,在这个过程中我们要运算多少次?我们还可以使用什么方法来解决这个问题?

探究:邻近的同学组成探究小组,确定探究方案,然后讲解小组制订的方案;

①列举出所有的解,共900个;

②验证是否是真正的解。

总结:根据解题的方法总结出穷举法的概念,

回答:900次,可以通过编写程序的方法解决。

通过这个问题,让学生了解人用穷举算法解决问题的过程,然后过渡到计算机如何用穷举法解决问题。

用穷举法设计算法的方法

我们在编写程序前,首先要设计算法,下面由大家设计出求水仙花数的算法,大家可以通过自然语言、流程图、伪代码的形式,任意选一种方法,然后填写探究记录表。

部分接受能力差的学生可以通过填写教师事先设计好的流程图进行学习。

浏览学生上交的作业,展示学生出现的问题,先让全班的同学共同解决,对学生不能解决的问题再进行讲解。

 

 

 

 

回忆:算法描述的三种方法。

设计算法:学生填写探究记录表,并提交作业。

解决问题:解决老师

展示程序出现的问题。

总结:通过分析出现的问题,总结出用穷举法设计算法的方法:

①列举出可能的解,通过循环结构实现;

②判断是否是真正的解,通过选择结构实现。

在这个过程中教师没有完全放手,而是根据学生的探究结果加以分析,学生自己得出结论,教师起一个主导作用。此外,该过程中还考虑到了分层教学。

 

 

程序

实现

先让学生根据自己的算法编写程序代码,然后将学生编写程序过程中出现的问题展示给全班,由学生共同来解决。

学生尝试操作。

 

 

 

 

 

 

 

拓展

延伸

鸡兔同笼问题。鸡和兔在一个笼里,共有腿100条,头10个,问鸡有几只?兔有几只?

 

通过自主探究、合作学习的方式完成任务;学生自由评价,发表自己的看法。

展示对学生既是一种评价,也是一种促进,增强学生的成就感,提高他们的学习兴趣。

课后实践

百钱买百鸡问题。中国古代数学家张丘建在《张丘建算经》中提出一个问题:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一。百钱买百鸡。问鸡翁、母、雏各几何?

 

通过解决该问题,学生的能力进一步提高。

基于课上已经掌握的知识,对学生的能力提出更高的要求。

课堂小结

①了解了穷举法的概念;

②了解了用穷举法设计算法的过程;

③能够根据具体的问题的要求,使用穷举法编写程序求解问题。

案例评析

本案例从趣味性很强的数学问题“回文数”引入,激发学生的兴趣,重点讲解了水仙花数问题,这个程序可以详讲。学生是否能掌握穷举法程序的基本结构,了解穷举范围的确定以及在程序中如何表达,是学好穷举法的关键。拓展和延伸以及课后实践中给出了“鸡兔同笼”、“百钱买百鸡”这两个经典问题,将有助于学生对所学知识的巩固和提高。本案例的着眼点:一是要学生学得有趣味,二是要学生真正在实践中掌握穷举法的解题思路和方法。
[1]
返回首页

打印本文

加入收藏
返回顶部
关闭窗口
· 您要为您所发的言论的后果负责,故请各位遵纪守法并注意语言文明。
我要说两句
查看留言
用 户:
内 容:
 

 

 

【相关文章】

 
 
未经教育科学出版社书面特别授权,禁止转载或建立镜像。