利用“百钱买百鸡”探讨穷举法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
利用“百钱买百鸡”探讨穷举法
山东省鱼台县第一中学范海涛2009年7月23日16:35 浏览:97 专家浏览:0 | 评论:10 专家评论:0
利用“百钱买百鸡”探讨穷举法
【课标要求】
(1)了解穷举法的基本概念及用穷举法设计算法的基本过程。
(2)能够根据具体问题的要求,使用穷举法设计算法,编写程序求解问题。
【教材处理】
由于这是学生首次接触用非解析法解题,如果要求学生很快掌握其基本过程并且能对算法进行优化,将是不现实的。
尤其是考虑到学生的信息技术基础参差不齐,可能差距较大,基础差的学生在可能不能接受太多的内容;而且,就算能“吸收”到全部内容,未必就能全部“消化”。
本节课选取来自《张邱建算经》的百钱买百鸡问题作为本次教学的主题。
这样既能提高学生学习的兴趣,又能使学生容易掌握知识,还可以培养学生的民族自豪感和通过建立数学模型和设计程序解决实际问题的习惯。
【学生情况分析】
1、学生在本节课前学习高中信息技术新课程的《算法与程序设计》模块已经有一段时间了,学生对算法和程序设计有了一定的认识,但是在面对实际问题时如何设计算法并且用程序实现算法来解决问题上,尤其是对于无法用解析法解决或者是用解析法解决比较困难的问题如何设计算法还是没有什么思路;
2、“百钱买百鸡”问题的数学模型是解不定方程,学生在初中的数学课上学过。
本次课在原有知识的基础上,通过对实际问题的分析找到合适的数学模型,使学生基本理解和掌握穷举法解题的思路;
【教学目标】
1、知识与技能
(1)了解非解析法解题的基本思路;
(2)理解和掌握穷举法解题的思路,
2、过程与方法
经历分析问题、建立数学模型、编写和调试程序,得到最终结果的过程,理解和掌握用穷举法解题的基本思路与过程;
3、情感态度与价值观
(1)通过主题任务的完成,激发民族自豪感和自身的成就感;
(2)通过小组讨论与探究活动,提高团队合作能力,促进探究的热情;
(3)通过结合学习生活的实际例子,进一步提高利用信息技术解决学习、生活问题的能力。
【教学重点与难点】
重点:用穷举法解题的基本思路和过程
难点:分析问题建立数学模型,构造算法
【教学策略】
教学理念与方法:以培养学生的信息素养为前提,遵循“学生是学习的主体,教师是学习的指导者”的新课程教学理念,根据本节课中各个知识点的联系,采用了“主题任务”的教学模式,通过任务驱动法,利用多媒体教学系统和投影设备,使学生在任务中学习,在实践中探究,在探究中总结归纳知识规律和方法,加强知识的实际应用。
【教学设计提要】
1、以解决简单的“百钱买百鸡”问题为切入点,引导学生思考采用新的算法;
2、通过分析“百钱买百鸡”问题、带出“穷举法解决问题”这一教学重点,并通过老师演示、上机实践和探究讨论,使学生的学习兴趣得到提升,因此可以较容易的接受和掌握重点内容。
3、主题任务解决后,拓展思路,并结合上机实践、合作探究等形式,让学生大胆想像,提出创新观点,并进行归纳总结,体现新课标中“学生是学习的主体”这一教学理念。
4、老师总结本节课的学习内容,帮助学生理清思路,启发学生运用信息技术来解决学习和生活问题,并通过布置课后练习,引导学生思考穷举法的另一个主要方面——算法的优化。
【学生活动设计】
本节课中根据主题的任务为学生设计了自主活动(上机实践操作)、师生活动(多次个别提问与交流)、生生活动(讨论与交流、个别学生上台演示)、小组活动(讨论、合作探究问题)等多种的活动情境。
这些活动使整个课堂的气氛活跃起来,使学生真正成为学习的主人,让学生在活动的过程当中学会观察,学会思考,学会讨论,学会与别人合作交流,进一步提高自主学习、合作学习、探究学习的能力。
【教学媒体】
多媒体课件、多媒体教学系统、网络课堂网站
【教学过程】
教学内容教师活动学生活动设计意图
一、创设情境,导入主题
讲述神童张邱建巧妙解决百钱买百鸡问题的故事,并让学生讨论如果自己是张邱建将如何解题。
学生各自说出自己的意见和例子。
这个故事在学生的民族自豪感的同时,可以激起青年学生的好胜心,并且有合适的数学模型。
这类问题还有很多,如和尚分馒头等,它们都有什么共同点?我们是否可以用计算机来解决这类问题?分组讨论
二、建立数学模型题目原来的表达方式不便于用计算机解题、我们要把它改写成便于计算机解决的数学语言,也就是建立数学模型。
学生分析问题,发现这些问题都可以归结为数学上的解不定方程组。
从简单情况开始,循序渐进,使学生有成功感。
遇到稍深一些的情况时,引导学生利用旧知识去解决问题,使他们更好地理解分类汇总的步骤和基本原理。
三、设计算法
既然已经将问题归结为解不定方程组,那么用什么算法来解这个问题呢,用解析法可以吗?
能找到符合要求的情况的范围吗?
我们是否可以利用计算机高速运算的特点、把所有可能的情况列出来一一判断,找出符合条件的解?
答:不行,没有可以直接计算得到结果的公式
答:可以公鸡、母鸡、小鸡只数都是正整数,而且都不可能超过100,
答:可以,让代表鸡的只数的三个变量从1到100循环,在循环内用if语句判断鸡的总只数和钱数是否都是100。
当遇到困难问题时,及时引入新知识来解决,使学生很自然地接受新知识,并产生应用的兴
趣。
任务1:设计算法
这种算法称作穷举法,可以说是所有非解析法解题算法的基础。
学生将算法具体化、可以使用伪代码或流程图。
学生说明自己的算法。
四、程序实现,加强认识
任务2:在VB平台上实现自己的算法。
巡视学生,即时反映学生遇到的问题,引导正确做法。
学生运用刚学的知识来解决主题问题。
遇到问题无法解决的同学经老师点拨,马上改正错误。
学生演示自己的程序。
有了印象,学生通过实践掌握新知识的应用。
容易出错的地方能即时发现,及时改正,正确认识。
五、巩固练习
任务3:下面算式中每个字母代表一个不同的十进制数字,请找出这个算式。
ONE
+ ONE
= TWO
老师巡视,即时了解学生讨论的情况,作出指导。
形成小组探究问题,通过亲自动手验证讨论结果。
虽然不是不定方程,但很明显可以使用穷举法,一般初学者会对5个字母穷举,运算量比较大要105次循环。
如果将三位数ONE作为穷举对象则只要500次循环。
为算法的优化埋下伏笔。
六、拓展思路,提高理解
任务4:新娘和新郎
三对情侣参加婚礼,三个新郞为A、B、C,三个新娘为X、Y、Z。
有人不知道谁和谁结婚,于是询问了六位新人中的三位,但听到的回答是这样的:A说他将和X结婚;X说她的未婚夫是C;C说他将和Z结婚。
这人听后知道他们在开玩笑,全是假话。
请编程找出谁将和谁结婚。
教师引导学生考虑将题目的表述进行转换。
学生思考,再次遇到困难。
题目不像前面有明显的穷举方式。
将A、B、C三人用1,2,3表示,将X和A结婚表示为“X=1”,将Y不与A结婚表示为“Y<>1”。
按照题目中的叙述可以写出表达式:
x<>1 A不与X结婚
x<>3 X的未婚夫不是C
z<>3 C不与Z结婚
题意还隐含着X、Y、Z三个新娘不能结为配偶,则有:
x<>y且x<>z且y<>z 进一步加强对建模的理解,拓展思路。
七、小结和学生一起总结穷举法解决问题的思路和过程。
归纳、简述穷举法解决问题的思路和过程。
巩固知识和方法,把知识系统化、结构化。
八、布置任务,引申悬念穷举法是非解析法解题的基本方法、但是很多问题的规模很大、穷举法虽然在理论上可以找到解,但是需要的运算时间太长(以深蓝的棋谱数据为例)。
所以要研究如何缩小穷举的规模。
查看有关国际象棋程序发展的网页以及其他有关网页、理解优化算法的必要性。
课后思考:检查已经自己的算法,看看有无办法优化。
在课堂的结尾把下节课的内容作简要的铺垫,承上启下,使学生产生悬念,再次激起学生学习的兴趣,便于课后对知识继续进行探究和学习。
点评:这是一节比较标准的算法与程序实现教学课,通过分析学生的认知水平,以“百钱买百鸡”问题为切入点,使学生在原有基础上进一步体验算法思想。
教学中突出新课标对本节课的要求:
(1)了解穷举法的基本概念及用穷举法设计算法的基本过程。
(2)能够根据具体问题的要求,使用穷举法设计算法,编写程序求解问题。
围绕主题任务组织学生实施自主学习、探究学习和合作学习,充分体现新课标的倡导的学习方法,通过开展上机实践、小组讨论等活动较好的体现新课标精神,提高学生的参与性和学习欲望。