3.2程序调试的方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.2程序调试的方法
【课标要求】
(二)程序设计语言初步
1.内容标准
(1)理解并掌握一种程序设计语言的基本知识,包括语句、数据类型、变量、常量、表达式、函数。
会使用程序设计语言实现循环控制结构。
(2)理解模块化程序设计的基本思想,初步掌握其基本方法。
(3)初步掌握调试、运行程序的方法。
(4)在使用某种面向对象程序设计语言解决问题的过程中,掌握面向对象程序设计的基本思想与方法,熟悉对象、属性、事件、事件驱动等概念并学会运用。
2.活动建议
(1)选择实例,根据解决问题的要求分析设计算法,恰当地使用三种控制结构编写源程序,调试并运行该程序,在过程中体验程序设计语言的逻辑特点。
【教学目标】
知识目标:掌握For/Next循环语句的格式
理解For/Next循环语句的功能和执行步骤
技能目标:能够分析简单的For/Next循环语句功能
尝试编写简单的For/Next循环程序
情感目标:激发学生学习热情,培养学生学习的积极性
『此处知识与技能的教学目标设计恰当,但情感目标写的有些空泛。
这样的情感目标,可以原封不动地照搬到许多教案当中,无法体现本节课的独到之处。
此外,考虑到新课标的要求,缺少“过程与方法”方面教学目标的描述。
当然,不是一定要有,但如果有会更加完善。
』
【重点难点】
教学重点:掌握For/Next循环语句的格式和执行步骤
教学难点:结合实例分析For/Next循环语句的功能
『对于For/Next循环语句的教学而言,其重点自然是语句的格式与执行过程。
而“结合实例分析For/Next循环语句的功能”应该指的是教学方法,而非教学难点,作者的本意可能是指“For/Next循环语句功能的教学”是难点。
』
【内容分析】
本节内容位于选修课教材《算法与程序设计》之中。
循环语句是VB中比较难掌握的内容。
而这节课是循环语句的第一节内容。
因此如何引导学生掌握For/Next循环语句的格式和执行的步骤成为本节课的重点。
本节课的内容对全面掌握并运用循环语句至关重要。
『作者对教学内容的分析和把握是准确到位的。
』
【学情分析】
本课的教学对象是普通中学高一年级的学生。
通过《信息技术基础》的教学,学生已经
有了比较好的应用软件使用基础,同时学生的数学基础比较好,逻辑思维能力很强,但对计算机语言的编写基础较差。
因此本节课通过生活中的倒计时的例子吸引激发学习的兴趣,通过新旧知识的认知冲突导入For/Next 循环语句。
并利用学生较强的逻辑思维能力,自我推导该语句的功能。
最后利用实例强化新知。
『此处的分析其实已经超出了针对“教学对象”的范畴,还包括有对“教学策略”的描述,即导入新知——学习新知——巩固新知的方法。
』
【媒体选择】
本节课的内容在机房实现。
通过多媒体教学系统的广播教学、学生示范等功能讲授新课、提问学生、展示成果。
媒体使用遵循的原则:高效,恰当。
『此处实际上是对“教学环境”的一个描述。
教学环境是保证课堂教学得以顺利有效得实施的一个保证。
许多老师在写“教学环境”时也写到“多媒体教学系统”,此处描述的可贵之处在于,作者强调了使用多媒体教学系统中的哪几个模块,同时还给出了媒体使用的原则。
这份细心充分体现了作者认真、务实的教学态度。
』
【教学过程】
[引入]
师:5、4、3、2、1,我们现在开始上课。
(倒计时程序演示)
刚才我们看到一个倒计时的程序,在日常生活中我们经常会遇到这种情况,例如十运会的倒计时牌;十字路口的红绿灯;火箭发射最后的数秒。
我们如何在计算机中用VB 来实现以上的功能呢?
『提出问题,引发学生的思考,关键是要给学生足够的思考时间。
同时,也是为了引起学生的兴趣。
问题十分的生活化,贴近学生的认知结构,易于激发学生的学习兴趣。
』
[复习]
师:请学生回答问题:
在VB 中用什么控件的什么属性来显示倒计时出现的数字?
生:label caption
师:我们在窗体中放置的label 控件是不是名称就为label?
生:
label1
十运会倒计时牌 红绿灯 火箭发射数秒
『此处旨在指出学生易错的知识点,在学习VB的过程中,学生常常容易将“label”和“label1”混淆起来。
』
师:为了加强程序的可读性,可以为控件改名
如何在程序中表示label1控件的caption属性?
生:label1.caption
师:Label1显示的内容是5,写出相应的语句?
生:label1.caption=5
师:将5赋给label1.caption
对那个对象编程?
生:command1(开始)
Private Sub Command1_Click()
label1.caption=5
End Sub
『通过复习唤醒学生脑中的“旧知”,同时也是对上节课的教学内容再次进行强化。
在大多数的教学案例中,一上来就是新知的引入。
在这篇案例中,我们很可喜地看到作者对学生已学知识进行复习的关注。
信息技术课程在高中阶段的课时是有限的,而“遗忘曲线”告诉我们,如果不及时对学生学习的新知进行强化,会大大降低教学效果。
目前情况来看,信息技术课一周有2节,而且是连堂,也就是说学生要在一周之后才有接受教师复习的机会,这对学生的学习是不利的。
在课时量和课时安排还无法改变的情况下,能够关注到及时的复习与强化,是值得鼓励与提倡的。
』
[学生活动]
师:请学生打开工程—倒计时,在合适的位置添加程序label1.caption=5。
请学生实现5、4倒计时
生:添加label1.caption=4
师:为什么屏幕只显示4
生:因为程序执行速度过快
师:希望在5和4中间延时1秒,增加delay(1)语句。
请学生实现5-0倒计时程序(提醒学生用复制粘贴的方法加快速度)
如果倒计时从365开始呢?(语句太多,无法忍受)
『让学生用已掌握的知识解决“5、4”倒计的问题,同时补充delay()语句,然后加大问题的复杂度,让碰到的问题与“旧知”产生冲突。
激发学生进一步的探究兴趣。
』请学生删除command1中的原有程序,将如下程序段加入
Private Sub Command1_Click()
Dim i As Integer
For i = 5 To 0 Step -1
Label1.Caption = i
delay (1)
Next i
End Sub
[分析1] 学生根据已有知识分析语句功
能
功能
接下来作者直接给出循环语句的实现代码,但并不马上讲解,还是让学生自己运用已有的知识进行分析和猜测,并用表格的方式上学生进行填写,这实际上是教师引导学生自己探究的开始。
[分组练习]全班同学分为两组,分别填写如下表格
Label1.Caption = i
delay (1)
[
[
『作者将学生分为两组,两组分别通过分析和填表,找出控制i 变化范围的初始值和终止值,以及控制i 变化增量的步长的规律,建构出For/Next 循环语句执行过程的新知,让学生自己领悟到循环结构各部分的功能与作用。
建构主义告诉我们,学生自我建
构出的知识,记忆更为深刻。
学生的整个建构过程不是漫无目的的,而是一直处在教师的控制之下,这种“控制”的实现是借助工具——表格来完成的。
这就保证了学生建构的速度与效率,是非常好的方法。
』
[新知识]
师:For-Next 循环语句
格式:
For 循环变量= 初值to 终值[step 步长]
循环体
Next 循环变量
请学生将下面的例题与格式对照回答各部分的名称
For i = 5 To 0 Step -1
Label1.Caption = i
delay (1)
Next i
说明:当步长为1时,STEP1可省略不写
执行步骤
1 循环变量取初值,并计算初值、终值、步长
2先判断循环变量是否超过终值,如果超过,则跳出循环;执行Next的下一条语句(当步长为正数> 当步长为负数<)
3如果没有超过终值,执行一次循环体
4循环变量加上步长
5重复步骤2-4
师、生:以下面的程序为例分析程序的执行过程(利用表格辅助)
For i = 5 To 0 Step -1 Label1.Caption = i delay (1)
『当然,光有学生自我的建构是远远不够的,还需要及时的总结。
在上一步学生通过分组分析领悟循环语句的功能之后,作者及时的将循环语句的格式抛出,以满足学生此时“已有领悟但又难以总结表达”的心情。
可以预见,此时的学生在学习语句格式和执行过程时是多么的轻松,因为这些只不过是他们想表达而表达不出的意思而已。
此处,作者再次用到了表格,与上次不同的是,这次的表格起辅助学生理解循环语句执行过程的作用。
作者对“表格”这一工具的运用真可谓是炉火纯青。
』
[学生练习]
1、在屏幕中显示3、6、9 (27)
2、在屏幕中显示40、30、20…-40
3、在屏幕中显示1、
4、9、16、25
教师在巡视中提示循环的初值、终值和步长
[请学生展示自己的练习]
视情况分析练习3 ,数字序列不再为等差数列,观察规律——12、22、32、42、52
『及时的课堂练习,巩固新知。
』
[学生思考]为下节课铺垫
用VB求解1+2+3+ (100)
『设疑,为下节课做准备。
』
【教学反思】
自我感觉设计有两点成功之处:
1、在教学中教师并没有简单的用1+2+3+…100引入循环语句,而是用倒计时的小程序让学生利用现有的知识解决。
在学生成功解决的基础上,要求学生从252到0的倒计时程序(当时十运会倒计时),在学生的认知冲突基础上引入课题。
2、引入循环语句后教师并没有急于抛出循环语句的格式和执行步骤,而是利用表格数据让学生推测循环语句的功能、循环初值、终值和步长的作用。
培养学生的逻辑推理能力,传授学习新语句的方法。
我觉得这也是新课标提出的培养学生终身学习能力的有益尝试。