浙教版高一《算法与程序设计》第二章解析算法的教学案例
一、设计思想
本课设计打破教材编写顺序,将本教材中的第二章的算法与第五章的程序实现结合起来组织教学,通过理论结合实践,让学生更容易理解各种算法的基本设计思想,体验编写程序的成功感受,同时又能掌握解析思想。“解析算法”思想是:找出问题前提条件与结果之间正确得数学表达式。那么如何把解析思想体现在算法中,用程序语言实现呢?。我在教学过程中对整堂课的设计上的思路是:通过具体情境认知主题——体验主题——实现主题——拓展主题——这几个阶段层层深入的递进式方法使学生充分掌握解析算法。
算法课一般与枯燥,晦涩,难懂,逻辑等字眼联系在一起,往往难以激发学生兴趣。如何打破这种局面?如何激发学生兴趣,使学生情不自禁的,自主的去学习算法呢?
新课程倡导“人文与生活”,在了解学生的身心发展特点前提下,尊重学生的学习、生活、兴趣,真正以学生为主体,有创造性地设计信息技术教学环节。本课作的设计除了遵循算法自顶而下,逐步求精的思想之外,新意之处在于根据电影情节别出心裁创设了一个情境,由计算男女主角相遇时间导入,在故事中不留痕迹地渗透了教学内容,完成由简单到复杂的教学任务。
二、教材分析
本节课是《算法与程序设计》第二章《算法实例》第二节的内容,主要任务是学会使用解析算法设计简单算法流程图,并掌握用程序设计语言VB来实现有关解析算法的实例。解析算法来源于生活,生活中的很多问题都是用解析算法解决的。解析算法注重学生逻辑思维能力的训练,同时它也充分体现了用计算机解决实际问题的思想,是设计算法的一种重要方法。教材中引用了“计算n个电阻并列后的总电阻值”和“储蓄顾问”两个例子让学生体验解析算法思想及其储蓄实现,我觉得可能对学生的兴趣的激发可能不够,所以试想能否沿用上节课的情境,让学生维趣。
三、学情分析
1、在前面的教学中,学生已经理解了算法的特点,学习了算法的三种表示方式,理解了顺序、选择、循环三种基本结构,并通过参与活动手册中的实践,对程序有了初步的认识。
2、通过枚举算法两课时的学习,重点深化了流程图,基本上会设计流程图,并根据流程图写出相应的代码并通过自己编制程序上机实践来体验。那么在课堂分析过程中,学生将从听课——理解——体验——探究这些过程中全面掌握解析算法的设计思想,并能用此算法来解决日常生活问题及与其他学科有所关联的一些简单问题。
3、这节课授课的对象是象山滨海中学(三级中学)高一普通班级,所以在任务设计时适当地化简了,考虑了学生的整体水平。
四、教学目标
1、知识目标:通过具体实例的求解,让学生了解什么是解析算法;
让学生亲身体验并理解解析算法解决问题的基本思想;
用流程图形式来表示解析算法解决问题的思路;
2、能力目标:通过具体例子分析,让学生理解如何用三步法来解决实际问题;
学会使用解析算法解决简单问题;
3、情感目标:通过情景创设,激发学生学习兴趣;
通过小组合作增进学生间的学习交流,培养合作能力,激发学习能动性;
五、重点与难点
教学重点:通过对“相遇时间”的计算,让学生理解解析算法的思想,进一步培养学生运用三步法来解决实际问题;
教学难点:解析算法思想的理解与实现(流程图转化为代码并上机实践)
六、教学策略与手段
1、教师教法:情景创设法、演示法、讨论法
2、学生学法:自主学习、合作探究学习
七、课前准备
1、教师的教学准备:
准备“向左走 向右走”电影片段
准备解析算法的Visual Basic演示程序
2、教学环境
多媒体机房
八、教学过程
第一步 创设情境,认知主题
【教师】:课前播放电影片段《向左走 向右走》。
提问:刚才看的是那部电影中的画面?
【学生】:《向左走 向右走》并且简述电影的主要情节。
【教师】:电影“向左走 向右走”中,讲述了金城武饰演的一位小提琴家和梁咏琪饰演的一位翻译家之间唯美爱情故事。两人居住在同一幢公寓,中间只隔了一堵墙,却因为两人彼此习惯不同,一个习惯向左走,一个习惯向右走,总是不断擦身而过未曾相遇。电梯一上一下、在月台上分站两旁……
画面停留在男女主角各自向左走向右走的画面,如图。
教师:导演编排得也太整人了,今天老师来当一回编剧,让他们两个有缘人能相遇。
相遇问题:今天,金城武和粱永琪各自以自己的速度围着游乐公园(矩形,公园周长为25km)一个向左走,一个向右走,经过多少时间,可以相遇呢?
【学生】:思考
【教师】:激励,两条平行线,也会有交汇的时候,什么时候能相遇呢?
【教师】:如果相遇,有一个条件?
【学生】:走过的路程和是整个公园的长度,S1+S2=S
【教师】:S1?S2?
【学生】:S1=V1*t,S2=V2*t
【教师】:金城武在t时间内走过的路程为:S1=V1*t
梁咏琪在t时间内走过的路程为:S2=V2*t
【学生】:一步步分析得出:
【教师】:刚才我们一步步分析问题的条件与结果之间的关系的这个过程就是解析算法的过程。
解析算法基本思想:用解析的方法找出表示问题的前提条件与所求结果之间关系的数学表达式,并通过表达式的计算来实现问题求解。
【学生】:理解解析算法思想
【教师】:解析算法的关键是什么呢?
【学生】:找出数学表达式
【教师】:算法关键:找出的正确的数学表达式。
【设计意图】:引导学生都进入了电影情景中,融入情节,使每个学生似乎都有了情感目标要,要让对方相遇,所以听得特别认真,这时水到渠成地提出解析算法的基础知识,学生不知不觉就学习着解析算法的相关知识。接下去深入学习解析算法的实现过程。这个导入显得贴切,稳妥。
第二步 学习新课 体验主题
1、自然语言转化成流程图
【教师】:我们将刚才分析的结果转化成流程图。
根据学生的分析,一步步展示流程图
教师与学生一起分析程序实现所需的变量:
v1、v2的单位(千米每小时,km/h),千米每小时是常用单位,一般不用米每秒。
所以时间t的单位小时,h)
【教师】:如果t=1.002 (小时)情况怎么办?
【学生】:截掉小数位,
【教师】:t=0.75 (小时)情况怎么办?
【学生】:将单位化成分或者秒,然后再截掉小数位。
【教师】:一般情况下用分,,相遇的时间用秒作单位过于精确了。
【学生】:t=fix(t*60)
【教师】:分析得出变化后的流程图:
变量分析:
v1、v2:分别存储两人行走速度
(单位:千米每小时,km/h)
t:存储所用时间(单位:小时,h)
m:存储所用时间(单位:分钟,m)
【设计意图】分析时层层深入,将问题一个个迎刃而解,并且让学生重新理一遍变量,为程序实现作铺垫。
2、流程图转化成代码
学生根据流程图,转化成代码,教师适当提示:
Private Sub Command1_Click()
Dim v1, v2, t As Double
Dim m As Integer
V1=val(text1.text)
V2=val(text2.text)
t=25/(v1+v2)
m=Fix(t*60)
text3.text = Str(m)
End Sub
|
第三步 学以致用 实现主题
【教师】:下面我们就付诸实施,利用计算机帮助我们计算相遇时间。
实践活动一:相遇时间,后附。
展示完成后的程序效果,如图。
展示程序设计的界面,让学生先完成基本的程序界面,再编写代码(通过提供不完整代码,有针对性的给予提示),调试成功后,可再对程序界面进行美化,这样可以使学生在完成教学任务的同时拓展知识。
教师先调试一遍,注意输入的速度,提示学生一般人的行走速度在10km/h左右。
【学生】:操作实践。
【教师】:教师巡视,给予个别指导。
【设计意图】:刚才分析相遇时间,是老师学生一起实现的,通过这个过程学生已经基本上掌握了解析算法。这里给学生自己实践机会,对解析算法进行独立应用,巩固相关知识。
第四步 逐步深入 拓展主题
【教师】:两个人相遇之后,在一起,开始为以后的生活作打算,梁咏琪开始琢磨起储蓄计划,准备去银行存钱但是她算术不够好,总是要问正在创作小提琴曲谱的金城武。
下面是梁咏琪和金城武之间的几次对话:
粱:如果我存1000元,想得到本息额1100元,应该要存多少年?
为简单起见,假定银行公布的储蓄规则为:(PPT展示)
1、存期以年为单位,存款以元为单位;
2、不论存期的长短,年利率均为4.5%;
3、不计复利。
【学生】:3年
【教师】粱:如果我存5000元,想得到本息额6000元,应该要存多少年啊?
【学生】:5年
【教师】粱:如果我存20000元,想得到本息额24000元,应该要存多少年啊?
学生思考有点慢了。
【教师】:梁咏琪还要无休止地问下去,金城武能不能安心创作?
【学生】:不能。
【教师】:有没有什么办法呢?如果大家帮金城武设计了一个能完成刚才问题的程序,问题是不是就可以解决了。
1、提出问题:请你帮金城武设计一个计算机程序,帮梁咏琪解答疑问,使金城武可以专心创作。
2、分析问题
提炼问题:M元钱需要存多少年,可以得到K元本息?
按照银行的储蓄规则,一笔数量为M元的存款:
【教师】:1年后到期的本息为?
【学生】:M+M*0.045
【教师】:2年后到期的本息为?
【学生】:M+M*0.045+ M*0.045
【教师】:3年后到期的本息为?
【学生】:M+M*0.045+ M*0.045 + M*0.045
【教师】Y年后到期的本息为?
【学生】:M+Y*(M*0.045)
【教师】:一笔M元钱的存款,需要存Y年,才能得到至少K元本息:
【教师】:如果Y年是小数?
【学生】:Y=Fix( Y )+1
3、自然语言转换成流程图
4、流程图转化成程序代码
Private Sub Command1_Click()
Dim M, K, Y As Double
M=Val(Text1.Text)
K=Val(Text2.Text)
Y=(K - M) / (0.045 * M)
If Y>Fix(Y) Then Y = Fix(Y) +1
Text3.Text = Str(Y) + "年"
End Sub
【设计意图】层层分析,步步为营。通过分析附if语句的作用,在什么情况下Y = Fix(Y) +1,突出解析算法的关键是表达式的准确性。
实践活动二:梁咏琪的储蓄顾问,后附。
【教师】:展示完成后的程序效果,如图。
教师先调试一遍。
【学生】:操作实践活动,教师巡视。
水平好的学生,可以去试着完成“拓展实践”-改进“梁咏琪的储蓄顾问”,后附。
【教师】:展示实践活动中的源程序,和学生一起完成代码填空。
【设计意图】虽然从本质上说就是教材中的“储蓄顾问”例子,但是通过加入情境,让学生富有情感体验,比灌输任务式的效果明显好多了。并且在任务设计的时候,考虑到学生水平的差异,设计了挑战任务,使不同层次的学生都有所提高。
五、课堂小结
教师小结,(以问题的形式用幻灯片展示,学生与教师一起回答的方式)
1、解析算法的基本思想是什么?
2、用解析算法解决问题的时候需注意的问题?
【PPT展示】解析算法的基本思想与关键:1、一一列举 2、逐个检验
七、【课后作业】
1、如果考虑复利,如何设计?
八、【课后反思】
这堂课上完之后,同样也获得了听课老师的好评,自己经过反思之后,又有些与上“枚举算法”不同的感受。
教师去陌生的环境上课,并且是只上一堂课,新的环境,新的学生,要上好一堂课,给教师的挑战挺大的。这时,得充分考虑学生的认知水平,学生的整体素质,得预先去相应学校询问学生的有关情况,最好,也能在上课之前去认识一下学生,我想不单是为了课堂的气氛考虑,从学生的乐学方面去考虑也是很有必要的,毕竟一堂课也得对学生负责,不是走马过场。
【参考文献】
《算法与程序设计教师用书》 浙江教育出版社 陶增乐
附实践活动: 实践 解析算法
1、实践目标
(1)理解解析算法。
(2)初步掌握解析算法的程序实现。
2、任务描述
通过应用解析算法的思想,完成“相遇时间”和“梁咏琪的储蓄顾问”实践活动。
3、操作提示
(1)界面设计。流程图
拓展提高:在窗口中插入图片,在控件工具箱中,点击选择“Image”类,然后在其属性窗口中修改image1的picture属性。见“帮助图”。
实践活动二:梁咏琪的储蓄顾问
拓展:改进应用程序“梁咏琪的储蓄顾问”
问题1:如果K<M,会得到一个负年的错误结果
问题2:如果考虑银行收取利息所得税,5%
实践活动一:相遇时间
Private Sub Command1_Click()
Dim v1, v2, t As single
Dim m As integer
V1=val(text1.text)
V2=val(text2.text)
t=25/(v1+?)
m=?(t*60)
text3.text = "需要" + Str(m) + "分钟"
End Sub
Private Sub Text1_Click()
Text1.Text = "": Text2.Text = "": Text3.Text = ""
End Sub
Private Sub Command1_Click()
Dim m, k, y As Double
m = Val(Text1.Text)
k = Val(Text2.Text)
y = (k - ?) / (0.045 * m)
If y > Fix(y) Then y =?+ 1
Text3.Text = "存款应为:" + Str(y) + "年"
End Sub
Private Sub Text1_Click()
Text1.Text = "": Text2.Text = "": Text3.Text = ""
End Sub
相关阅读推荐:
› 浙教版高一信息技术说课稿
› 浙教版高中信息技术 分类汇总说课稿
› 浙教版高一信息技术 算法与程序设计试讲教学案例
› 浙教版高中信息技术说课稿 数据库基本操作说课稿