论文部分内容阅读
一、教材分析
本文选自高中信息技术选修《算法与程序设计》第二章。二重循环建立在一重循环的基础之上,虽然内容不多,但用它来实现图形打印,内外循环就被赋予了特殊的含义,即控制行数和每行的字符数。由于图形的多样性,需要灵活设置内外循环的变化范围。为了让学生掌握各种图形的打印方法,学会总结图形规律,理解用二重循环打印图形的原理是非常重要的。
二、教学目标
知识与技能:掌握二重循环语句For…Next的基本格式,并能运用它打印图形;理解Tab函数的含义并能进行运用;学会用数学函数思想归纳变量与定量之间的关系表达式。
过程与方法:通过打印各种“*”图形,熟练运用二重循环,提高分析问题、解决问题的能力。
情感、态度与价值观:通过图形打印,增强对程序设计的兴趣。
三、教学重点、难点
重点:根据“*”图形的排列情况,运用数学函数思想总结其规律,灵活运用二重循环语句实现图形打印。
难点:根据“*”图形的排列情况,运用数学函数思想总结其规律。
四、学生分析
学生已经学习了一重循环的基本格式,并且能够编写相应程序,具备了用二重循环解决问题的能力,加上以图形打印为载体,更能激发他们的学习兴趣。
五、教学环境
网络机房、VB6.0程序、投影仪。
六、教学过程
1.创设问题情境,引入新课
师:有这样一条VB语句(print“*”;),大家思考一下它的执行结果是什么?
学生在VB窗体打印一个*。
师:这里的“;”有什么作用?
生:后面打印的内容紧跟此*显示,不换行。
师:如果将这条语句(print“*”;)作为如下循环语句(代码略)的循环体,运行结果是什么?
学生在VB窗体打印4个连续的*。
师:如果将这里的循环语句,再作为如下循环语句(代码略)的循环体,这样写行不行呢?会产生运行结果吗?
生:行,结果是在VB窗体打印出16个连续的*。
师:大家可以看到这里出现了比较特殊的情况,即循环语句套循环语句的情况,这就是“二重循环”。
2.总结二重循环语句格式
师:根据此例,可以总结出二重循环语句的基本格式为:
For 循环变量 = 初值 To 终值
For 循环变量 = 初值 To 终值
循环体
Next 循环变量
Next 循环变量
师:刚才这个例子,执行结果是打印16个连续的*,如果要将16个*分成4行,该如何修改代码呢?大家还记得前面讲过的实现换行的语句吗?
生:用print。
For i = 1 To 4 step 1
For j = 1 To 4 step 1
Print “*”;
Next j Print
Next i
教師在VB环境里执行这段代码,执行结果是打印出4行4列的*图形,这是通过二重循环打印出的一个矩形图形。进一步分析可以看出,这里的i变化范围是1到4,即为外循环变量,用来控制打印的行数;这里的j变化范围是1到4,即为内循环变量,用来控制每行打印的字符数。从这个角度来说,这里的内外循环变量(i、j)就有了实际的意义,即i控制行数,j控制每行字符数。
师:请大家上机练习,用二重循环打印一个4行5列的*图形。
学生操作,教师巡视。教师利用大屏幕转播某个学生的屏幕,请他展示代码及执行结果,教师点评。
师:显然这里的矩阵图形是一个规则的图形(每行字符数相同),如果是一个三角形(每行字符数不同,如图1)如何打印呢?
分析此表,可以用数学中一次函数的思想(i为自变量,j为函数值)来建立j和i的关系表达式,得到j=i,代码如下。
For i = 1 To 4
For j = 1 To i
Print “*”;
Next j
Print
Next i
(2)图形的打印(每行字符数不同,每行起始*位置不同)
师:图2也是一个三角形,不同的是每行第一个字符的起始位置不一样,是一个变量,这样的图形应该怎么打印呢?
分析此表,我们可以用数学中一次函数的思想(i为自变量,j为函数值,n为函数值)来建立j和i的关系表达式,n和i的关系表达式。从而得到j=i,n=5-i,代码如下。
For i = 1 To 4
Print Tab(5 – i );
For j = 1 To i
Print “*”;
Next j
Print
Next i
4.学生自主探究
教师布置任务,打印图3所示图形。
学生采取“分而治之”的方法进行处理,即将图形分为上三角和下三角分别进行打印,然后进行合并,形成图4所示的形状(代码略)。
师:大部分同学采用分块处理的方法来实现打印,这样做易于理解但代码较繁琐,能不能简化一下呢?能否通过一个二重循环语句实现呢?这个图形一共7行,如果i的范围取1到7,难以归纳n和j的表达式。但稍微观察可以发现,此图是一个对称图形,所以行i的范围可以取-3到3,行作为定量可以表示成abs(i),再依此建立关系就方便了(代码略)。
6.教师总结
这节课我们通过二重循环打印了几种图形,通过学习可以发现,打印的关键就是对图形中行和列及打印位置的控制。实际上,这些图形还可以变化成其他图形,但只要我们能总结行和列、打印位置的规律,找出它们的内在关系,写出相应的关系式,实现各种图形的打印是不难的。
七、教学反思
这节课的引入本来是直接给学生展示一个用二重循环语句打印的完整图形,但发现学生不能马上接受,所以采用了先打印一个*,再打印一行*,到若干行*的层层递进的方法。在具体教学过程中,通过一系列“*”图形打印,让学生在这些趣味性的题目中思考、分析、编写代码并上机实践。
(作者单位:江苏盐城中学)
本文选自高中信息技术选修《算法与程序设计》第二章。二重循环建立在一重循环的基础之上,虽然内容不多,但用它来实现图形打印,内外循环就被赋予了特殊的含义,即控制行数和每行的字符数。由于图形的多样性,需要灵活设置内外循环的变化范围。为了让学生掌握各种图形的打印方法,学会总结图形规律,理解用二重循环打印图形的原理是非常重要的。
二、教学目标
知识与技能:掌握二重循环语句For…Next的基本格式,并能运用它打印图形;理解Tab函数的含义并能进行运用;学会用数学函数思想归纳变量与定量之间的关系表达式。
过程与方法:通过打印各种“*”图形,熟练运用二重循环,提高分析问题、解决问题的能力。
情感、态度与价值观:通过图形打印,增强对程序设计的兴趣。
三、教学重点、难点
重点:根据“*”图形的排列情况,运用数学函数思想总结其规律,灵活运用二重循环语句实现图形打印。
难点:根据“*”图形的排列情况,运用数学函数思想总结其规律。
四、学生分析
学生已经学习了一重循环的基本格式,并且能够编写相应程序,具备了用二重循环解决问题的能力,加上以图形打印为载体,更能激发他们的学习兴趣。
五、教学环境
网络机房、VB6.0程序、投影仪。
六、教学过程
1.创设问题情境,引入新课
师:有这样一条VB语句(print“*”;),大家思考一下它的执行结果是什么?
学生在VB窗体打印一个*。
师:这里的“;”有什么作用?
生:后面打印的内容紧跟此*显示,不换行。
师:如果将这条语句(print“*”;)作为如下循环语句(代码略)的循环体,运行结果是什么?
学生在VB窗体打印4个连续的*。
师:如果将这里的循环语句,再作为如下循环语句(代码略)的循环体,这样写行不行呢?会产生运行结果吗?
生:行,结果是在VB窗体打印出16个连续的*。
师:大家可以看到这里出现了比较特殊的情况,即循环语句套循环语句的情况,这就是“二重循环”。
2.总结二重循环语句格式
师:根据此例,可以总结出二重循环语句的基本格式为:
For 循环变量 = 初值 To 终值
For 循环变量 = 初值 To 终值
循环体
Next 循环变量
Next 循环变量
师:刚才这个例子,执行结果是打印16个连续的*,如果要将16个*分成4行,该如何修改代码呢?大家还记得前面讲过的实现换行的语句吗?
生:用print。
For i = 1 To 4 step 1
For j = 1 To 4 step 1
Print “*”;
Next j Print
Next i
教師在VB环境里执行这段代码,执行结果是打印出4行4列的*图形,这是通过二重循环打印出的一个矩形图形。进一步分析可以看出,这里的i变化范围是1到4,即为外循环变量,用来控制打印的行数;这里的j变化范围是1到4,即为内循环变量,用来控制每行打印的字符数。从这个角度来说,这里的内外循环变量(i、j)就有了实际的意义,即i控制行数,j控制每行字符数。
师:请大家上机练习,用二重循环打印一个4行5列的*图形。
学生操作,教师巡视。教师利用大屏幕转播某个学生的屏幕,请他展示代码及执行结果,教师点评。
师:显然这里的矩阵图形是一个规则的图形(每行字符数相同),如果是一个三角形(每行字符数不同,如图1)如何打印呢?
分析此表,可以用数学中一次函数的思想(i为自变量,j为函数值)来建立j和i的关系表达式,得到j=i,代码如下。
For i = 1 To 4
For j = 1 To i
Print “*”;
Next j
Next i
(2)图形的打印(每行字符数不同,每行起始*位置不同)
师:图2也是一个三角形,不同的是每行第一个字符的起始位置不一样,是一个变量,这样的图形应该怎么打印呢?
分析此表,我们可以用数学中一次函数的思想(i为自变量,j为函数值,n为函数值)来建立j和i的关系表达式,n和i的关系表达式。从而得到j=i,n=5-i,代码如下。
For i = 1 To 4
Print Tab(5 – i );
For j = 1 To i
Print “*”;
Next j
Next i
4.学生自主探究
教师布置任务,打印图3所示图形。
学生采取“分而治之”的方法进行处理,即将图形分为上三角和下三角分别进行打印,然后进行合并,形成图4所示的形状(代码略)。
师:大部分同学采用分块处理的方法来实现打印,这样做易于理解但代码较繁琐,能不能简化一下呢?能否通过一个二重循环语句实现呢?这个图形一共7行,如果i的范围取1到7,难以归纳n和j的表达式。但稍微观察可以发现,此图是一个对称图形,所以行i的范围可以取-3到3,行作为定量可以表示成abs(i),再依此建立关系就方便了(代码略)。
6.教师总结
这节课我们通过二重循环打印了几种图形,通过学习可以发现,打印的关键就是对图形中行和列及打印位置的控制。实际上,这些图形还可以变化成其他图形,但只要我们能总结行和列、打印位置的规律,找出它们的内在关系,写出相应的关系式,实现各种图形的打印是不难的。
七、教学反思
这节课的引入本来是直接给学生展示一个用二重循环语句打印的完整图形,但发现学生不能马上接受,所以采用了先打印一个*,再打印一行*,到若干行*的层层递进的方法。在具体教学过程中,通过一系列“*”图形打印,让学生在这些趣味性的题目中思考、分析、编写代码并上机实践。
(作者单位:江苏盐城中学)