论文部分内容阅读
教材分析
《for…next循环》选自高中信息技术选修教材《算法与程序设计》(教科社版)中的《循环结构》。教材中《循环结构》主要包含《for…next循环》和《do while…loop循环》两部分内容,各用一课时,共计两课时。本教学设计为第1课时。
循环结构是最为常用的语法结构之一,也是三大基本结构中难度最大的一个,不仅是本章的重点与难点,也是全书的重点之一。学好程序的基本结构,是学生理解和学习后续章节的基础。
学情分析
在学习本课之前,学生本应已熟悉VB程序的编程环境与运行方法,了解顺序及选择结构的程序执行流程,具备一定的算法基础和归纳总结能力。但本次教学为借班上课,根据安排,授课对象为天津实验中学高一学生,绝大多数学生并没有接触过程序设计和VB环境、以及《算法与程序设计》≠某一编程工具(语言)的教学。故本课有意弱化学生在纯VB环境中的代码编写,而重在理解循环结构的基本思想,学会怎样分析循环问题、设计算法,并提炼for语句的基本结构,旨在培养学生根据需要采用循环结构解决实际问题的能力,故任务设置以完善半成品居多。
教学目标
知识与技能:了解循环的概念,理解循环结构的基本思想;掌握for…next语句的基本结构;理解for…next语句的执行过程;尝试采用循环结构编写简单的程序,解决实际问题。
过程与方法:经历分析、实践、讲解、探究、归纳,逐步深化对循环思想和执行过程的理解。
情感、态度与价值观:通过一个个任务的实战演练,感知使用循环结构解决问题的便捷和优越,培养学生运用循环思想解决实际问题的能力,进一步激发学生学习编程的兴趣;通过在实际的问题中分析提炼循环结构,进一步提升学生的信息素养。
教学重点、难点
教学重点:掌握for…next语句的基本结构;理解for…next语句的执行过程。
教学难点:根据需要采用循环结构解决实际问题,并提炼出for语句的基本结构。
教学方法
讲授演示法、对比分析法、任务驱动法、分层教学法等。
教学过程
(一)创设情境,激情导入
教师展示《找字母》游戏,请一个学生玩,其他学生积极出谋划策。师生共同分析游戏,提出循环的概念。
说明:用游戏不仅仅是为了活跃课堂气氛、引出概念,更为重要的是对游戏的算法分析本身即是对学生思维的训练。
教师请学生举一些日常生活中的关于循环的例子:星期(星期一~星期天)、时间(00∶00∶00~23∶59∶59)、月份(1~12);人造地球卫星、绕月卫星的运动;数学运算:1 2 3 … 10 (累加)、1*2*3*…*10(累乘)、50-1-2-3-…-10(累减)。
说明:从日常生活中循环的例子到数学中的一些运算,循序渐进,为学习后面的知识做铺垫。
(二)师生互动,层层深入
由卫星的运动,引出“嫦娥一号”的发射,提出我们虽然没有能够到现场观看,但我们在教室中同样可以模拟感受。教师展示火箭发射倒计时程序及其源代码,让学生借助注释从整体上大概理解其实现的功能(教师不做详细讲解)。
能不能简化呢?我们首先分析,有没有重复的语句?能不能用一组通用的语句来表示呢?
Label1.Caption =n
Sleep (1000)
Cls
其中,n=5,4,…,1,每次递减1。
在程序设计中,当需要重复执行某一段代码时,可以采用循环结构。VB中实现循环结构的语句主要有for…next和 do while…loop等。本节课我们学习for…next,do while…loop将在下一节课学习。
教师先不讲for…next语句的格式和用法,而把重复的语句组提取出来,要求学生根据刚才的分析进行推测,把空白补充完整:
①n=to Step -1
Label1.Caption =n
Sleep (1000)
Cls
然后,用for语句修改源程序,并调试运行。
教师指出其中的循环体、循环变量、初值、终值、步长,进而由个别到一般,总结出for…next语句的基本格式:
For 循环变量=初值 To 终值 [Step 步长]
循环体
Next [循环变量]
说明:循环体在一定条件下也是可以省略的,并且可以强制退出循环,但考虑到学生刚接触循环结构,理解这部分知识有一定难度,故先不讲,在后续课程中再介绍。
教师让学生回答:当初值>终值时,步长<0;当初值<终值时,步长>0;教师指出:当步长=1时,可以省略不写。教师提问:步长能否等于0?为什么呢?
教师接着分析for…next语句执行过程,并由一般到个别,分析倒计时程序的执行过程。
(1)学生活动1:体验、理解。
说明:提示学生座位靠近的可以相互讨论、交流;要善于捕捉学生错误点,引导学生思考,还可以通过多媒体广播系统展示有代表性的错误,启发学生的讨论和思考。
为了祝贺你“涉足”VB的世界,请留下你的脚印吧!假设已经给你提供输出1对脚印的代码,如果要输出4对,可以如何实现呢?说说你的思路。
注意引导学生如何分析问题、设计算法,并请学生回答,然后再让学生在VB中完善程序、调试运行。
Dim n As Integer
For n = To Step
……‘ 输出一对脚印
Next
本例中,循环变量n仅仅用于控制循环体的执行次数。初值、终值、步长的取值只需要满足循环次数即可。
(2)【对比分析】而对于先前的倒计时程序:
Forn = 5To1Step -1
Label1.Caption =n
sleep(1000)
cls
Next
循环变量n的作用:①控制循环体的执行次数;②参与循环体的运算。教师启发学生思考:这种情况下初值、终值、步长的取值只需满足循环次数就可以吗?还要考虑到什么要求呢?请学生总结循环变量的作用。
说明:循环变量的作用(尤其是参与循环体的运算的情况),学生普遍感到不好理解和容易混淆。如果对这个知识点不能很好地理解和掌握,将很难实质性地理解for循环,更谈不上循环算法的优化。通过对比分析等方法,加以区分,帮助理解消化,并通过任务2巩固、夯实。
学生活动2:巩固、夯实。
编程实现:由小到大输出2到20之间的偶数。
本题至少有两种解决办法:
①For n= 2 to 20 step 2
Print n
Next n
(运行后,得到2、6、14,分析原因,并指出:一般情况下,不要在for循环内部重新设置循环变量的值,否则可能导致循环出错,甚至出现死循环。)
我们要编写程序,首先要对问题进行分析、设计算法。如果属于循环类问题,思考能否选用for语句来编程实现。
for…next比较适用于循环次数容易确定的情况。一般来说,用for…next实现循环结构,关键要做好:①提炼循环体;②确定循环次数:循环变量的初值、终值和步长。
学生活动3:迁移、应用。
要求学生根据自己的学习基础和课堂掌握的情况,选择:A、基础加强组;B、巩固提高组,对应的题目完成。
A基础组-1
A基础组-2
B提高组-1
B提高组-2
说明:所出题目贴近生活,A、B组之间以及组内之间都有一定的梯度(A组-1仅是基本的重复,循环变量仅控制循环体的执行次数,A组-2是一道物理题目,体现学科的融合,循环体的提炼比较简单;B组-1是画圆环,循环体的提炼难度增加,B组-2涉及累加运算,对学生要求较高),重在对学生思维的训练,旨在培养他们根据需要采用循环结构解决实际问题的思想,并提炼for语句的基本结构。所有题目都可以与学生进行交互,对学生的操作做出细节反馈,避免了教师一个人分身乏术。
(三)交流评价,归纳总结
1.展示评价A、B组的学生作业。
2.师生互动,总结回顾课堂所学内容。
(四)内化发散,学以致用
学习循环结构的根本目的主要在于帮助我们解决实际的问题。在你日常的学习、生活中,有没有遇到一些问题?能否利用我们今天学的循环结构优化、解决?
教学反思
我认为,一节课要达到既定的教学目标,首先要有学生的广泛参与;而学生的参与,是建立在他们对教学内容(甚至可能是其中的某一个点)感兴趣、有进一步探究的欲望的基础上的。这在一定程度上取决于教师如何设计教学,变空洞枯燥为生动有趣;如何激发引导学生,变生硬的说教灌输为积极的互动获取。另外,信息技术课时紧张,怎么样向课堂要效率,达到最大化利用,也是值得深思的问题。
本课基本的设计理念是:高效率、创新性、生活化、开放性。本课从玩《找字母》游戏开始,引导学生分析游戏的实现过程,提出循环的概念,并让学生举例说明。接着,引出火箭发射倒计时程序,对算法进行优化改进,引出for循环语句;进而由个别到一般,提炼出for循环的基本结构;由一般到具体,分析其执行过程,突出重点,并通过任务1体验、理解。对学生普遍感到不好理解和容易混淆的问题,如循环变量的作用(尤其是参与循环体的运算的情况),通过对比分析等方法,加以区分,帮助理解消化,并通过任务2巩固、夯实。同时,指出一些初学者容易犯的典型错误,总结出for循环通常的适用条件和关键工作。然后,学生根据实际分组实践(任务3)。最后,进行A、B组作业的交流点评,总结所学知识,并让学生内化知识、发散思维,思考用所学知识解决实际生活中的问题。
点评
本课是2007年全国高中信息技术课堂教学评比的参评课。教学设计紧扣目标,层次分明,过程流畅。
本课教学重在引导学生理解循环结构的基本思想,培养学生采用循环结构解决实际问题的思想,学会分析循环问题、设计算法的意识。课的重点放在提炼for语句的基本结构,有意弱化VB代码编写,其中的3个任务练习设置以完善半成品居多,突出了教学重点和难点。
课中所用例子贴近生活,针对性强,有一定趣味性,能较好地调动学生的积极性,避免了一讲循环就是和几个经典数学题目打交道的乏味情境。
为了适应不同层次学生的需求,尝试分层教学的设计,任务练习分为基础组、提高组,有一定的梯度,并有良好的目标指向。整个教学活动循序渐进、层层深入、由易到难、由具体到抽象、点面结合,符合学生的认知特点。让学生思考运用循环结构解决自己遇到的问题,体现课堂的开放性,引导学生将获得的知识进行内化和迁移。
(点评者:海南省教育研究院段青)
《for…next循环》选自高中信息技术选修教材《算法与程序设计》(教科社版)中的《循环结构》。教材中《循环结构》主要包含《for…next循环》和《do while…loop循环》两部分内容,各用一课时,共计两课时。本教学设计为第1课时。
循环结构是最为常用的语法结构之一,也是三大基本结构中难度最大的一个,不仅是本章的重点与难点,也是全书的重点之一。学好程序的基本结构,是学生理解和学习后续章节的基础。
学情分析
在学习本课之前,学生本应已熟悉VB程序的编程环境与运行方法,了解顺序及选择结构的程序执行流程,具备一定的算法基础和归纳总结能力。但本次教学为借班上课,根据安排,授课对象为天津实验中学高一学生,绝大多数学生并没有接触过程序设计和VB环境、以及《算法与程序设计》≠某一编程工具(语言)的教学。故本课有意弱化学生在纯VB环境中的代码编写,而重在理解循环结构的基本思想,学会怎样分析循环问题、设计算法,并提炼for语句的基本结构,旨在培养学生根据需要采用循环结构解决实际问题的能力,故任务设置以完善半成品居多。
教学目标
知识与技能:了解循环的概念,理解循环结构的基本思想;掌握for…next语句的基本结构;理解for…next语句的执行过程;尝试采用循环结构编写简单的程序,解决实际问题。
过程与方法:经历分析、实践、讲解、探究、归纳,逐步深化对循环思想和执行过程的理解。
情感、态度与价值观:通过一个个任务的实战演练,感知使用循环结构解决问题的便捷和优越,培养学生运用循环思想解决实际问题的能力,进一步激发学生学习编程的兴趣;通过在实际的问题中分析提炼循环结构,进一步提升学生的信息素养。
教学重点、难点
教学重点:掌握for…next语句的基本结构;理解for…next语句的执行过程。
教学难点:根据需要采用循环结构解决实际问题,并提炼出for语句的基本结构。
教学方法
讲授演示法、对比分析法、任务驱动法、分层教学法等。
教学过程
(一)创设情境,激情导入
教师展示《找字母》游戏,请一个学生玩,其他学生积极出谋划策。师生共同分析游戏,提出循环的概念。
说明:用游戏不仅仅是为了活跃课堂气氛、引出概念,更为重要的是对游戏的算法分析本身即是对学生思维的训练。
教师请学生举一些日常生活中的关于循环的例子:星期(星期一~星期天)、时间(00∶00∶00~23∶59∶59)、月份(1~12);人造地球卫星、绕月卫星的运动;数学运算:1 2 3 … 10 (累加)、1*2*3*…*10(累乘)、50-1-2-3-…-10(累减)。
说明:从日常生活中循环的例子到数学中的一些运算,循序渐进,为学习后面的知识做铺垫。
(二)师生互动,层层深入
由卫星的运动,引出“嫦娥一号”的发射,提出我们虽然没有能够到现场观看,但我们在教室中同样可以模拟感受。教师展示火箭发射倒计时程序及其源代码,让学生借助注释从整体上大概理解其实现的功能(教师不做详细讲解)。
能不能简化呢?我们首先分析,有没有重复的语句?能不能用一组通用的语句来表示呢?
Label1.Caption =n
Sleep (1000)
Cls
其中,n=5,4,…,1,每次递减1。
在程序设计中,当需要重复执行某一段代码时,可以采用循环结构。VB中实现循环结构的语句主要有for…next和 do while…loop等。本节课我们学习for…next,do while…loop将在下一节课学习。
教师先不讲for…next语句的格式和用法,而把重复的语句组提取出来,要求学生根据刚才的分析进行推测,把空白补充完整:
①n=to Step -1
Label1.Caption =n
Sleep (1000)
Cls
然后,用for语句修改源程序,并调试运行。
教师指出其中的循环体、循环变量、初值、终值、步长,进而由个别到一般,总结出for…next语句的基本格式:
For 循环变量=初值 To 终值 [Step 步长]
循环体
Next [循环变量]
说明:循环体在一定条件下也是可以省略的,并且可以强制退出循环,但考虑到学生刚接触循环结构,理解这部分知识有一定难度,故先不讲,在后续课程中再介绍。
教师让学生回答:当初值>终值时,步长<0;当初值<终值时,步长>0;教师指出:当步长=1时,可以省略不写。教师提问:步长能否等于0?为什么呢?
教师接着分析for…next语句执行过程,并由一般到个别,分析倒计时程序的执行过程。
(1)学生活动1:体验、理解。
说明:提示学生座位靠近的可以相互讨论、交流;要善于捕捉学生错误点,引导学生思考,还可以通过多媒体广播系统展示有代表性的错误,启发学生的讨论和思考。
为了祝贺你“涉足”VB的世界,请留下你的脚印吧!假设已经给你提供输出1对脚印的代码,如果要输出4对,可以如何实现呢?说说你的思路。
注意引导学生如何分析问题、设计算法,并请学生回答,然后再让学生在VB中完善程序、调试运行。
Dim n As Integer
For n = To Step
……‘ 输出一对脚印
Next
本例中,循环变量n仅仅用于控制循环体的执行次数。初值、终值、步长的取值只需要满足循环次数即可。
(2)【对比分析】而对于先前的倒计时程序:
Forn = 5To1Step -1
Label1.Caption =n
sleep(1000)
cls
Next
循环变量n的作用:①控制循环体的执行次数;②参与循环体的运算。教师启发学生思考:这种情况下初值、终值、步长的取值只需满足循环次数就可以吗?还要考虑到什么要求呢?请学生总结循环变量的作用。
说明:循环变量的作用(尤其是参与循环体的运算的情况),学生普遍感到不好理解和容易混淆。如果对这个知识点不能很好地理解和掌握,将很难实质性地理解for循环,更谈不上循环算法的优化。通过对比分析等方法,加以区分,帮助理解消化,并通过任务2巩固、夯实。
学生活动2:巩固、夯实。
编程实现:由小到大输出2到20之间的偶数。
本题至少有两种解决办法:
①For n= 2 to 20 step 2
Print n
Next n
(运行后,得到2、6、14,分析原因,并指出:一般情况下,不要在for循环内部重新设置循环变量的值,否则可能导致循环出错,甚至出现死循环。)
我们要编写程序,首先要对问题进行分析、设计算法。如果属于循环类问题,思考能否选用for语句来编程实现。
for…next比较适用于循环次数容易确定的情况。一般来说,用for…next实现循环结构,关键要做好:①提炼循环体;②确定循环次数:循环变量的初值、终值和步长。
学生活动3:迁移、应用。
要求学生根据自己的学习基础和课堂掌握的情况,选择:A、基础加强组;B、巩固提高组,对应的题目完成。
A基础组-1
A基础组-2
B提高组-1
B提高组-2
说明:所出题目贴近生活,A、B组之间以及组内之间都有一定的梯度(A组-1仅是基本的重复,循环变量仅控制循环体的执行次数,A组-2是一道物理题目,体现学科的融合,循环体的提炼比较简单;B组-1是画圆环,循环体的提炼难度增加,B组-2涉及累加运算,对学生要求较高),重在对学生思维的训练,旨在培养他们根据需要采用循环结构解决实际问题的思想,并提炼for语句的基本结构。所有题目都可以与学生进行交互,对学生的操作做出细节反馈,避免了教师一个人分身乏术。
(三)交流评价,归纳总结
1.展示评价A、B组的学生作业。
2.师生互动,总结回顾课堂所学内容。
(四)内化发散,学以致用
学习循环结构的根本目的主要在于帮助我们解决实际的问题。在你日常的学习、生活中,有没有遇到一些问题?能否利用我们今天学的循环结构优化、解决?
教学反思
我认为,一节课要达到既定的教学目标,首先要有学生的广泛参与;而学生的参与,是建立在他们对教学内容(甚至可能是其中的某一个点)感兴趣、有进一步探究的欲望的基础上的。这在一定程度上取决于教师如何设计教学,变空洞枯燥为生动有趣;如何激发引导学生,变生硬的说教灌输为积极的互动获取。另外,信息技术课时紧张,怎么样向课堂要效率,达到最大化利用,也是值得深思的问题。
本课基本的设计理念是:高效率、创新性、生活化、开放性。本课从玩《找字母》游戏开始,引导学生分析游戏的实现过程,提出循环的概念,并让学生举例说明。接着,引出火箭发射倒计时程序,对算法进行优化改进,引出for循环语句;进而由个别到一般,提炼出for循环的基本结构;由一般到具体,分析其执行过程,突出重点,并通过任务1体验、理解。对学生普遍感到不好理解和容易混淆的问题,如循环变量的作用(尤其是参与循环体的运算的情况),通过对比分析等方法,加以区分,帮助理解消化,并通过任务2巩固、夯实。同时,指出一些初学者容易犯的典型错误,总结出for循环通常的适用条件和关键工作。然后,学生根据实际分组实践(任务3)。最后,进行A、B组作业的交流点评,总结所学知识,并让学生内化知识、发散思维,思考用所学知识解决实际生活中的问题。
点评
本课是2007年全国高中信息技术课堂教学评比的参评课。教学设计紧扣目标,层次分明,过程流畅。
本课教学重在引导学生理解循环结构的基本思想,培养学生采用循环结构解决实际问题的思想,学会分析循环问题、设计算法的意识。课的重点放在提炼for语句的基本结构,有意弱化VB代码编写,其中的3个任务练习设置以完善半成品居多,突出了教学重点和难点。
课中所用例子贴近生活,针对性强,有一定趣味性,能较好地调动学生的积极性,避免了一讲循环就是和几个经典数学题目打交道的乏味情境。
为了适应不同层次学生的需求,尝试分层教学的设计,任务练习分为基础组、提高组,有一定的梯度,并有良好的目标指向。整个教学活动循序渐进、层层深入、由易到难、由具体到抽象、点面结合,符合学生的认知特点。让学生思考运用循环结构解决自己遇到的问题,体现课堂的开放性,引导学生将获得的知识进行内化和迁移。
(点评者:海南省教育研究院段青)