论文部分内容阅读
【摘要】 在高中数学《算法与初步》教学中,教师应该选择合适的题目,使学生亲身经历从需求分析到算法设计的过程,经过编程实现的完整的解决问题的过程。为此本文以《算法与初步》教学中,运用算法与程序设计来解决实际问题进行了探析。
【关键词】 《算法与初步》 算法与程序设计 教学
【中图分类号】 G42 【文献标识码】 A 【文章编号】 1006-5962(2012)11(a)-0132-01
算法与程序设计最终目的是为了解决实际问题?本文的学习目的是使学生在原有基础上进一步体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序实现算法解决问题?
为此,笔者精选了平时生活和学习中经常用到的电子计时器进行教学?要求学生在一堂课内完成电子计时器的制作?如图1
在一堂課中,不但要让学生理解小时钟程序的制作算法思想,还要让学生掌握其程序的代码编写,的确难度不小?一般情况下,老师的讲解都是按正确的思路去执行的,而且在学生的习惯性思维中,通常教师是不会出错的?这次,在课堂上,笔者作出大胆尝试,故意出错,引起学生的注意,然后再加以分析,讲解出错的原因,寻找解决的办法,并引入新的知识难点全局变量?
解题步骤:
1 任务分析
编写模拟“电子计时器”的程序?
功能描述:(1)重置时间:就是把时间变为0,电子计时器暂时停止计时;(2)开始计时:就是电子计时器开始工作计时;(3)暂停计时:就是电子计时器暂时停止计时,但下次计时的时候,要从先前停的时间继续计时?
2 算法分
说明:等待时间到达,计时器控件自动完成“时间的增加”?
3 编程三步曲
(1)设计界面?修改对象属性:
添加一标签,修改Caption属性=0修改名称:Min
修改字体?字号属性
添加两个标签,修改Caption属性=:
修改Caption属性=0,修改名称:Sec
添加一计时器控件,修改Interval=1000(表示时间间隔是一秒钟)
(2)编写代码
编写计时器事件:
分析:定义变量T代表时间,单位:秒
每过1秒钟,电子计时器显示就要加l,而计时器控件每秒执行一次,因此,可以使用累加:T=T+1,由于T是秒数,当T>60时,必须转换成分钟数?变量M代表分钟数,S代表秒数。
尝试:
双击计时器控件,并输入代码:
Dim t As Integer,m As Integer,s As Integer
(板书)T=T+l 每执行一次累加1
M=T\60 T整除60得出分钟数
S=T Mod 60 T取模60得出秒数
Min.Caption=m 在标签l输出变量M的值
Sec.Caption=s 在标签3输出变量S的值
(3)调试运行
失败:电子计时器只显示l,就停下来,不动了,这是什么原因?
调试:尝试增加Ptint t;发现变量T的值总是l;对比:跟我们以前利用循环进行累加求和有所区别,(演示《循环变量的变化》)
发现:变量的定义,放在循环语句的外面,循环的执行不会把变量T初始化。
分析:这是因为变量T是在计时器控件中定义的,计时器控件每执行一次都把变量T初始化(即:T=O)
(4)解决办法:讲解全局变量(PowerPoint)全局变量是指在程序开头的说明部分(通用一一声明)定义和说明的量,其作用域是整个窗体程序?
把变量T定义为全局变量(“通用一一声明”事件:Dim tAs Integer),这样就不会被初始化?它只是在程序执行开始时初始化一次,不受其他控件影响?实践证明,在仅仅的一堂课中,100%的学生能够完成老师布置的必做练习,80%以上的学生能够完成选做题。经过老师的精心组织?巧妙安排收到了良好的效果,学生对于全局变量这一知识难点,完全掌握,并能理解?熟练运用?
参考文献
[1] 朱立明.高中数学“算法初步”的案例分析[D].东北师范大学: 东北师范大学,2011.
[2] 向威.高中数学“算法初步”教学的初步研究[D].贵州师范大学:贵州师范大学,2009.
【关键词】 《算法与初步》 算法与程序设计 教学
【中图分类号】 G42 【文献标识码】 A 【文章编号】 1006-5962(2012)11(a)-0132-01
算法与程序设计最终目的是为了解决实际问题?本文的学习目的是使学生在原有基础上进一步体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序实现算法解决问题?
为此,笔者精选了平时生活和学习中经常用到的电子计时器进行教学?要求学生在一堂课内完成电子计时器的制作?如图1
在一堂課中,不但要让学生理解小时钟程序的制作算法思想,还要让学生掌握其程序的代码编写,的确难度不小?一般情况下,老师的讲解都是按正确的思路去执行的,而且在学生的习惯性思维中,通常教师是不会出错的?这次,在课堂上,笔者作出大胆尝试,故意出错,引起学生的注意,然后再加以分析,讲解出错的原因,寻找解决的办法,并引入新的知识难点全局变量?
解题步骤:
1 任务分析
编写模拟“电子计时器”的程序?
功能描述:(1)重置时间:就是把时间变为0,电子计时器暂时停止计时;(2)开始计时:就是电子计时器开始工作计时;(3)暂停计时:就是电子计时器暂时停止计时,但下次计时的时候,要从先前停的时间继续计时?
2 算法分
说明:等待时间到达,计时器控件自动完成“时间的增加”?
3 编程三步曲
(1)设计界面?修改对象属性:
添加一标签,修改Caption属性=0修改名称:Min
修改字体?字号属性
添加两个标签,修改Caption属性=:
修改Caption属性=0,修改名称:Sec
添加一计时器控件,修改Interval=1000(表示时间间隔是一秒钟)
(2)编写代码
编写计时器事件:
分析:定义变量T代表时间,单位:秒
每过1秒钟,电子计时器显示就要加l,而计时器控件每秒执行一次,因此,可以使用累加:T=T+1,由于T是秒数,当T>60时,必须转换成分钟数?变量M代表分钟数,S代表秒数。
尝试:
双击计时器控件,并输入代码:
Dim t As Integer,m As Integer,s As Integer
(板书)T=T+l 每执行一次累加1
M=T\60 T整除60得出分钟数
S=T Mod 60 T取模60得出秒数
Min.Caption=m 在标签l输出变量M的值
Sec.Caption=s 在标签3输出变量S的值
(3)调试运行
失败:电子计时器只显示l,就停下来,不动了,这是什么原因?
调试:尝试增加Ptint t;发现变量T的值总是l;对比:跟我们以前利用循环进行累加求和有所区别,(演示《循环变量的变化》)
发现:变量的定义,放在循环语句的外面,循环的执行不会把变量T初始化。
分析:这是因为变量T是在计时器控件中定义的,计时器控件每执行一次都把变量T初始化(即:T=O)
(4)解决办法:讲解全局变量(PowerPoint)全局变量是指在程序开头的说明部分(通用一一声明)定义和说明的量,其作用域是整个窗体程序?
把变量T定义为全局变量(“通用一一声明”事件:Dim tAs Integer),这样就不会被初始化?它只是在程序执行开始时初始化一次,不受其他控件影响?实践证明,在仅仅的一堂课中,100%的学生能够完成老师布置的必做练习,80%以上的学生能够完成选做题。经过老师的精心组织?巧妙安排收到了良好的效果,学生对于全局变量这一知识难点,完全掌握,并能理解?熟练运用?
参考文献
[1] 朱立明.高中数学“算法初步”的案例分析[D].东北师范大学: 东北师范大学,2011.
[2] 向威.高中数学“算法初步”教学的初步研究[D].贵州师范大学:贵州师范大学,2009.