《循环结构的嵌套》
一、教材分析
1、教学内容:本节课是广东教育出版社出版的普通高中信息技术(选修1)《算法与程序设
计》教材第二章第 2.4.3 节《循环的嵌套》的教学内容,主要介绍 for-next 循环语句嵌
套的应用,在介绍了 for-next 循环嵌套的语法后,重点讲解了几种常见循环嵌套应用情
况和项目实现。
2、该节内容的地位和作用:这部分内容对刚介绍过的 for-next 循环语句进行了拓展补充,
而且循环语句的嵌套在第 4 章《算法和程序实现》实例中反复出现,固牢牢掌握循环语
句的嵌套具有承前启后的作用,必须理解其应用的逻辑,不然后面的内容没法开展。
3、教材中存在的问题:教材中介绍了几个常见的循环嵌套应用的项目实现,但缺少难度逐步
过渡的过程,学生理解起来比较抽象。
二、学情分析
本节课的教学对象是高中二年级的学生,学生基本是刚刚起点,有一定的数学基础和逻
辑思考的能力。学生们对计算机知识有一定的认识,有着浓厚兴趣,却又不甚精通,普遍对
程序设计有一定的畏难心理。在教学的过程中,主要从一个个简单的实例处出发,让学生们
从自身的实践中去学习,培养兴趣、循循善诱、重在能力,提高综合素质和增强其逻辑思维
能力。
【教学目标】
1、知识与技能目标
(1)能通过流程图描述简单的循环结构的嵌套
(2)能简单编写循环结构嵌套的程序
2、过程与方法目标
(1)掌握通过流程图来理清问题、解决问题的步骤与方法
(2)通过经历、分析、体验找到问题的解决方法,并应用已学的知识解决问题
3、情感态度与价值观目标
通过体验程序,分析循环结构的嵌套在内外循环之间的联系,并通过程序思路锻炼逻辑
思维的能力,并感受机器高效、快速的运算能力。
【教学重点】:
循环结构的嵌套的形式、多重循环结构如何实现。
【教学难点】:
对循环嵌套结构的理解
【教学安排】
1 课时 多媒体网络教室
【教学手段】:
任务驱动法、小组合作法、演示法、分析法、讨论法等
【教学过程】
教学环节 教 学 过 程 设计意图
前课回顾
利用教学广播软件展示问题:
1、前面我们主要学历哪几种循环语句,它们分别是?
①for 循环语句
②Do 循环语句(又分为当型和直到行循环)
2、循环语句“For-Next”的基本格式如何写?
For 循环语句的基本格式:
for 循环变量=初值 to 终值 [step 步长]
循环体
next [循环变量]
3、Do 循环语句基本格式如何写?
Do While
循环体
通过回顾,加深对
循环结构的理解,为下
一步学习循环结构的
嵌套打下基础。
Loop
或
Do
循环体
Loop Until <循环终止条件>
4、循环语句的流程图
新课引入
一、编写程序输出以下字符图形
程序如下
For j = 1 To 5
Print j;
通过讲解对循环结
构的嵌套有一个基本
的认识,并对程序代码
实现有一个清晰的了
解。
Next j
新问题提出:
上面的代码完成了在一行内输入 5 个数字,如果要得到三
行同样的字符图形,即如图(一)所示的图形,应该怎么
写程序呢?
要得到图一所示的图形,我们可以将上面的“for—NEXT”
语句重复 3 次,但是如果要打印 20 行,30 行甚至更多行
呢?有没有更简便的方法?我们知道循环结构能够使一
段程序重复执行,如果把上面的“for—NEXT”语句放到
另外一个循环之中,让它反复执行 3 次,能不能得到图一
的输出呢?我们一起来试一下:
新问题解决:
For i = 1 To 3
For j = 1 To 5
Print j;
Next j
Print
Next i
得出结论:
像上面程序那样,已经知道了循环的次数,可以再用一个
“For—Next”循环语句,这样就形成了循环中套循环的结
构,我们称之为循环的嵌套。
二、循环语句的嵌套含义:
For 循环语句中的循环体还有一个 For 循环语句,像
这样,在一个循环语句的循环体中含有另一个循环语句,
这就形成了嵌套循环,也叫做多重循环。
注:
① 外循环和内循环必须是层层相套,循环体之间不能交
叉;
②内循环和外循环的循环变量名称不能相同,外循环控制
行数,内循环控制每行输出的个数。
③每个循环必须有一个唯一的循环控制变量;内层循环的
Next 语句必须放在外层循环 Next 语句的前面。(如 P56
2-17 和 2-18 所示)
2、循环语句嵌套的简单格式
例如:
for 循环变量 1=初值 to 终值
for 循环变量 2=初值 to 终值
循环体
next 循环变量 2
next 循环变量 1
课堂案例
分析
【案例分析一】矩阵输出
【程序代码】
案例一是通过程序
完成一个单循环任务,
对循环语句的书写有
一个回忆巩固的过程。
For i = 1 To 10
For j = 1 To 10
Print "*";
Next j
Print
Next i
思考:
1、 当需要在屏幕上的输出如图二的图形时,上述代码需
要怎样修改?
2、当需要在屏幕上的输出如图三的图形时,上述代码需
要怎样修改?
【案例分析二】输出九九乘法口诀表
案例二是对循环语句
的嵌套进行实践体验。
【程序代码】
Private Sub Command1_Click()
Dim i, j, se As Integer
For i = 1 To 9
For j = 1 To i
se = i * j
Print Tab((j - 1) * 9); i & "*"; j & "=" & se; " ";
Next j
Print
Next i
End Sub
如果要运行如图三所示的图形,该怎么处理?
Private Sub Command1_Click()
Dim i, j, se As Integer
For i = 1 To 9
For j = i To 9
se = i * j
Print Tab((j - 1) * 9); i & "*"; j & "=" & se; " ";
Next j
Print
Next i
End Sub
【案例分析三】在屏幕上输出三角形
【程序代码】
Private Sub Command1_Click()
Dim i, j As Integer
For i = 1 To 10
Print Tab(20 - i);
For j = 1 To 2 * i - 1
案例三是对循环嵌套
语句的提高,并理解内
循环、外循环的关系。
Print "*";
Next j
Print
Next i
End Sub
学生练习 对刚才的 3 个案例进行练习。 巩固知识。
拓展与提
高
1、百钱百鸡
中国古代数学家张丘建在他的《算经》中提出了著名
的“百钱买百鸡问题”:今有鸡翁一值钱五,鸡母一值钱
三,鸡雏三值钱一,凡百钱买百鸡,问鸡翁、鸡母、鸡雏
各几何?设计一个求解的算法,用自然语言把它描述出
来。
2、因子(不算自身)之和等于它本身的数称为完全数。
例如 28 的因子是 1,2,4,7,14,且 1+2+4+7+14=28,
则 28 是完全数。求 2-1000 中的完全数。
小组讨论后并根
据所学知识进行自主
练习。
学生展示 教师展示学生制作的程序。
分析学生程序,找
出不足,进行点评,并
对存在的问题提出意
见。
教师小结
本节课我采用由浅入深,由易到难的方式开展教学,学生理解起来相对较容
易,课堂效果很好,学生间也有更多的合作与互助。但通过课堂实践发现学生对
循环语句的格式理解起来还需要一定的练习,而且如果在课程的最后出现了两极
分化的情况,说明教师在更深层次的教学中应更加注意循环语句嵌套的理解与分
析,把拓展练习融入教学更能促进学生的教与学,也给以后的教学有一个层次的
递推过程。