内容正文:
第1节 算法(第3课时)
【教学目标】
1. 知识与技能目标
(1) 了解解析法、枚举法等基本算法;
(2) 进一步理解算法的优化在解决问题中的重要性。
(3) 进一步掌握用“画程”软件绘制流程图描述算法。
2. 过程与方法
通过两个具体问题,引导学生掌握基本算法,通过两个探究问题,加以检测和巩固。
3. 情感态度与价值观
通过对算法的进一步学习,培养学生分析问题和解决问题的能力,建立计算思维。
【教学重点】
解析法、枚举法;算法的优化。
【教学难点】
算法的优化。
【教学方法】
讲演、任务驱动、自主探究。
【教学过程】
教学环节
教师活动
学生活动
设计意图
一、导入
引言:
通过前面的学习,我们知道算法是程序的灵魂,它的优劣直接影响所编程序的质量。长期以来,人们在用计算机解决问题的实践中,总结出了如解析法、枚举法、递推法、递归法、分治法等许多基本算法。今天这节课,我们主要来学习解析法和枚举法,以及进一步学习用“画程”软件绘制流程图来描述算法。
回顾
明确
开门见山
直奔主题
二、新授
(1) 解析法
1、 算法思想:在分析具体问题的基础上,先找到待解决问题的数学表达式,再求出表达式的值。
2、“鸡兔同笼”问题
(1)分析问题 (详见课本P98-99)
数学表达式详见课本
(2)用流程图描述算法
3、探究问题1
用解析法解决问题(绘制流程图)
甲乙两个仓库共存放97筐苹果,如果从甲仓库搬14筐到乙仓库,结果甲仓库还比乙仓库多3筐。求两个仓库原来各存放多少筐苹果?
1、 分析问题
归纳:
设甲、乙两个仓库原来各存放j、y筐苹果,
数学表达式则为:
乙仓库苹果筐数 y=(97-3)/2-14
甲仓库苹果筐数j=y+14*2+3
2、用流程图描述算法
适当点评,纠错补充。
(二)【枚举法】
1、算法思想:利用计算机运算速度快的特点,对要解决问题中的所有可能答案一一列举,并进行判断,满足条件的保留,不满足的丢弃,最后得到符合要求的答案。
2、“水仙花数”问题
(1)分析问题 ( 课本P99)
重要提点:三位数的各位数字的提取方法。
设任意三位数为n,则
百位数=int(n/100)
十位数=int((n mod 100)/10)
个位数=n mod 10
(2)用流程图描述算法
讨论:采用枚举法解决实际问题,用人工来执行合适吗?请从枚举法的角度分析一下,用计算机处理问题与人工处理有什么不同?
(参考:不合适,对于机械性的重复计算操作问题,用计算机处理问题比人工处理要快得多。)
3、探究问题2
用枚举法解决问题(绘制流程图)
将数3025拦腰剪成30和25,然后相加再平方【即(30+25)2】,就又回到3025了。找出所有具有这种特点的四位数。
1、 分析问题
重要提点:四位数的前两位和后两位数的提取方法。
设任意四位数为n,则
前两位数=int(n/100)
后两位数=n mod 100
2、用流程图描述算法
适当点评 ,纠错补充。
观察
明确
体会
讨论分析,个别作答。
尝试绘制,个别展示,并运行验证。
修改,完善。
阅读,理解。
阅读,理解,运行,体会。
讨论,作答,归纳。
学习,理解。
尝试绘制,个别展示,运行验证。
修改,完善。
两种算法的教学均遵循从案例——练习探究的模式,带领学生通过案例,学习理解,再在探究问题中,引导学生分析,并适当提示重点部分,鼓励学生自主探究绘制流程图,并指导学生保存,运行,验证整个程序正确与否,从而进行恰当地修改和完善。
算法的理解和运用,包括流程图绘制的学习,都不是一蹴而就的,需要在长期地实践中去加深理解和体会,才能熟练运用,解决问题。
三、总结
1、解析法
2、枚举法
结语:
这节课,我们一起学习了常用的两种算法,常用算法都有自己适用的具体问题,但是每一个具体问题往往能够适用的算法也不是唯一的,同时,我们还可以根据这些基本算法的思维,针对要解决的实际问题灵活地设计出更多、更好的算法,总之,我们应该尽可能地选择或者设计出最优的算法,这样,才能大大提高计算机的处理能力。
根据学案,自行总结。
建立优化算法的思维模式。
及时归纳梳理。
引导提升思维。
教学后记
学科网(北京)股份有限公司
$$