资源描述
算法与程序实现——用解析法设计程序
牛山一中 程亚涛
一、教学目标
知识与技能
1.了解解析法的基本概念
2.掌握用解析法设计程序的基本思路
过程与方法
1.学会根据问题寻找恰当算法,解决问题
2.深入理解分析问题、设计算法、编写程序、调试程序这一计算机解决问题的方法
情感态度与价值观
1.体验合作、交流,领悟的乐趣,激发对算法学习的欲望和兴趣
2.培养勇于实践、勤于思考和善于总结的科学探索精神与严谨的治学态度
二、教学重点、难点
教学重点
1. 理解解析法的基本概念
2. 根据算法写出程序代码并且调试程序得出正确结果
教学难点
1. 建立求解问题的解析式
2.算法的合理设计
三、教学资源
教师用资源:教学演示文稿(PPT)
学生用资源:教学学案和“出租车计价器”源程序(半成品)
四、教学方法
教法:讲授法、任务驱动法
学法:自主探究、协作学习
五、教学过程
环节1:情景导入
(设计意图:通过同学们熟悉的事例,引出算法的重要性。)
教师:相信许多同学都听说过德国伟大的数学家高斯小时候的故事。说的是小高斯的老师要求同学们算出1到100的和是多少。同学们都很认真地从“1+2+3+…”一步步地算起,只有小高斯例外,他想到一个很巧妙的办法,也就是1+100=101,2+99=101,…直到50+51=101,这样很快地算出1+2+3+…+100=101*50=5050。这个故事启发我们,选择好的方法会使我们的工作事半功倍。所以我们在运用计算机解决问题的时候,不仅要学会编写程序,还要学习算法设计。
环节2:讲授新知
(设计意图:使用计算机解决现实生活中的问题,激发学生学习的兴趣。)
教师:那今天我们就来学习第四章算法与程序实现的第一节用解析法设计程序。首先,老师请问大家一个问题,在座那位同学乘坐过正规出租车?
学生:我做过。
教师:你还记得是从那到那,大概花费多少吗?
学生:从安定门到我家,20多块钱。
教师:那你知道这个费用是如何计算的吗?
学生:好像是根据行驶里程计算的,具体不清楚。
教师:那好,本节课我们就来学习用VB模拟出租车计价器程序,让我们做一个明明白白的消费者。
教师:下面请同学们拿出学案,阅读《北京市出租车资费标准》,然后根据该标准写出日间的行驶里程x与金额y之间的关系式,3分钟时间。
教师:(提问)哪位同学说一下你是怎么写的?
10 x ∈[0,3]
10+(x-3)*2 x ∈(3,15]
10+12*2+(x-15)*3 x ∈(15,+∞)
y=
学生:
教师:非常好。
教师:实际上我们在分析这个问题的时候,首先是找出问题中的相关要素,即行驶里程x和金额y,然后利用数学知识(数轴)具体分析该问题,最后得出同学们给出的解析式。
(教师板书)
a、设行驶x公里,金额为y元
b、行驶公里数轴分析
0 3 15 +∞
x∈[0,3]
x ∈(3,15]
x ∈(15,+∞)
10元
2元/公里
3元/公里
10 x ∈[0,3]
10+(x-3)*2 x ∈(3,15]
10+12*2+(x-15)*3 x ∈(15,+∞)
y=
c、
教师:(提问)根据计算机解决问题的方法,下一步我们要做什么?
学生:设计算法
教师:首先输入行驶里程x,然后根据相关标准进行判断,最后输出金额y。
开始
输入x
x<=3?
x<=15?
y=10+12*2+(x-15)*3
y=10+(x-3)*2
y=10
输出y
结束
是
否
是
否
教师:请同学们打开d:\学案\出租车计价器.vbp程序(半成品),编写程序代码。
学生:(打开源程序,完成以下程序代码。)
教师:Private Sub Command1_Click()
Dim x As Single
Dim y As Single
x = Text1.Text
If Option1.Value = True Then
If x <= 3 Then y = 10
If x > 3 And x <= 15 Then y = 10 + (x - 3) * 2
If x > 15 Then y = 10 + 12 * 2 + (x - 15) * 3
Text2.Text = y
End If
End Sub
学生:(学生上机实践,小组协作)
教师:添加程序代码后,我们就可以调试运行程序了。
学生:(体验成功地喜悦)
环节3:巩固新知
(设计意图:让学生学会如何从特殊现象中总结出一般规律)
教师:(利用幻灯片总结以上内容)
下面我们一同来回忆一下以上我们所学的内容,当我们面对一个要用计算机解决的问题时,我们的解题思路是从分析问题入手,而这其中有包括分析相关要素、建立数学模型、确定解析式,然后设计算法、编写程序、调试运行程序。这个思路就是用解析法解题的思路。
分析
要素
关系
建立
数学
模型
确定
解析式
设计
算法
编写
程序
调试
程序
分析问题
学生:(对新知识做课堂笔记)
教师:然而什么是解析法呢?
教师:解析法——通过分析问题中各要素之间的关系,建立数学模型,得出解决问题所需的表达式,然后设计程序求解问题的方法。
环节4:问题拓展
(设计意图:帮助学生巩固新知,使学生体验成功喜悦)
教师:然而,在实际生活中日间和夜间的收费标准是不同的,请同学们根据解析法的解题步骤,完成夜间出租车资费的计算问题。
教师:(提问)谁能写出夜间出租车资费的解析式?
11 x ∈[0,3]
11+(x-3)*2.2 x ∈(3,15]
11+12*2.2+(x-15)*3.4 x ∈(15,+∞)
y=
学生:
教师:(利用幻灯片展示出租车计价器算法)
Y=10+12*2+(x-15)*3
Y=10+12*2.2+(x-15)*3.4
开始
输入x
是日间行驶吗?
X<=3
Y=10
x<=15
Y=10+(x-3)*2
X<=3
x<=15
Y=11
Y=10+(x-3)*2.2
输出y
结束
Y
N
Y
N
Y
N
Y
N
Y
N
教师:下面请同学们根据该流程图,完善计价器程序,要求实现夜间出租车资费的计算。
学生:(学生上机尝试完善程序)
教师:由谁愿意上前面来帮助老师完善该程序?
学生:(积极主动来前面展示)
教师:(巡视学生,对个别人进行指导)
教师:每组组长可以帮助一下本组成员。
学生:(小组协作)
Private Sub Command1_Click()
Dim x As Single
Dim y As Single
x = Text1.Text
If Option1.Value = True Then
If x <= 3 Then y = 10
If x > 3 And x <= 15 Then y = 10 + (x - 3) * 2
If x > 15 Then y = 10 + 12 * 2 + (x - 15) * 3
Text2.Text = y
End If
If Option2.Value = True Then
If x <= 3 Then y = 11
If x > 3 And x <= 15 Then y = 11 + (x - 3) * 2.2
If x > 15 Then y = 10 + 12 * 2.2 + (x - 15) * 3.4
Text2.Text = y
End If
End Sub
学生:(调试运行,收获成功)
环节5:总结提升
(设计意图:帮助学生形成系统的知识体系)
教师:(提问)用自己的语言解释什么是解析法?
学生:(思考并回答问题)通过分析问题中各要素之间的关系,建立数学模型,得出解决问题所需的表达式,然后设计程序求解问题的方法。
教师:所谓解析法就是利用我们掌握数、理、化知识,建立解析式,然后设计程序求解问题的方法。
教师:(进一步提问)用解析法解题的思路是什么?
学生:用解析法解题的思路就是从分析问题入手,这其中又包括分析相关要素、建立数学模型、确定解析式,然后设计算法、编写程序、调试运行程序。
教师:解析法是我们第四章学习的第一种算法,今后我们还要学习穷举法、查找算法等。
教师:(展示演示文稿)
书山有路勤为径
学海无涯乐作舟
教师:希望每位同学在学习知识的道路上越走越远。
环节6:课后练习
(设计意图:巩固所学知识,进行知识的拓展和探究)
教师:(展示课后习题)
小球从10米高处自由下落,每次弹起的高度是下落高度的70%。当小球弹起的高度不足原高度的千分之一时,小球很快就会停止跳动。计算小球在整个弹跳过程中所经历的总路程。(忽略弹起高度不足原高度千分之一的部分)
学生:(作课堂笔记)
六、课例评析
本课教学设计逐层推进,结构紧凑、完整。
首先,教师通过讲述德国伟大的数学家高斯小时候的解答1+2+3+…+100等于多少的故事,揭示人们在解决问题的时候,要善于从解决问题的方法入手,从而呈现本课研究主题,即在用计算解决问题时,算法的学习是必不可少的。
其次,再现学生生活中出行“打的”情境,对行驶里程按一定的计费标准进行计价,师生深入挖掘问题,分析解决问题的办法即用程序解决问题的算法,之后放手让学生利用所学的选择结构等知识编写白天出租车计费程序,使学生应用所学的知识,解决生活中的实际问题。
再次,将“打的”问题进行深化,研讨夜间出租车计费的算法,并上机编写程序,使学生的思维进行了横向拓展。
整个环节设计由浅入深,螺旋上升。充分调动了学生学习的积极性、主动性,教师重点点拨学生思维难结,引领学生进行深度学习。本课不仅解决了“打的”计价问题的程序设计教学,更为学生指明了用解析法进行程序设计的一般过程和思想方法。
建议适度增加学生活动环节,加强问题设计的研究。
顺义区教育考试研究中心 马志忠 刘秀旺
展开阅读全文