课题名称
循环的嵌套(for语句)
所属章节
广东教育出版社《信息技术(选修1)算法与程序设计》第二章第4节第3点
教学目标
知识与技能:了解循环嵌套的含义及基本结构;掌握使用循环嵌套设计程序的基本方法。
过程与方法:培养学生根据具体问题进行分析,利用循环嵌套求解问题的能力。
情感态度与价值观:增强学生的逻辑思维能力,培养学生分析解决实际问题的同时,锻炼他们探索规律,举一反三,融会贯通的能力。
教学重点
掌握循环嵌套的运行规律。
教学难点
循环嵌套结构的应用。
教学方法
演示法、任务驱动法、情境教学法
教学环境
多媒体教室,计算机网络教室
教学过程
教师活动
学生活动
设计意图
一、情境导入
【百鸡问题】
公元6世纪,中国的《张丘建算经》有一道著名的百鸡问题:“今有鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一,凡百钱买百鸡,问鸡翁、鸡母、鸡雏各几何。”
1.分析并向学生提出问题:
百鸡问题用传统数学方法解方程组能得出答案吗?
百鸡问题有答案吗?
用excel表格罗列百鸡问题中三种鸡购买只数的所有可能答案
二、知识回顾
For循环语句的基本格式:
FOR 循环变量 = 初值 to 终值 step 步长
语句组(循环体)
Next 循环变量
实例演练:
For i=1 To 5 Step 1
print “*”;
Next i
For i=1 To 5 Step 1
print i;
Next i
三、创设情境
问题:怎样利用所学的循环结构,在窗体form1上输出5行5列的“*”。
*****
*****
*****
*****
*****
解决办法:
先实现输出1行5列“*”
For i=1 To 5 Step 1
print “*”;
Next i
将上述“输出1行5列”的过程封装成“模块”1,然后再重复“模块1” 5次,就可以实现。
新课讲授
1.循环嵌套
【定义】
一个循环体内又包含另一个完整的循环结构,称为循环嵌套。这个嵌套重复下去,就是多重循环,也称为嵌套循环。
【语句格式】
for 循环变量= 初值 to 终值 step 步长
for 循环变量= 初值 to 终值 step 步长
循环体
next 循环变量
next 循环变量
2.实例演示:
For j=1 to 5 step 1
for i=1 to 5 step 1
print “*”;
next i
print
next j
跟踪程序语句的详细执行过程
回顾【百鸡问题】用循环嵌套解决,写出程序代码:
For x=1 to 20 step 1
For y=1 to 33 step 1
Z=100-x-y
If 5*x+3*y+z/3=100 then
Print x,y,z
End if
Next y
Next x
分析问题并进行程序填空
问题1:
编写程序,输出如下所示的图形:
*
**
***
****
*****
图形特点:j的取值表示行号
j=1
*
j=2
*
*
j=3
*
*
*
j=4
*
*
*
*
j=5
*
*
*
*
*
问题2:
编写程序,输出如下所示的图形:
1
22
333
4444
55555
图形特点:j的取值表示行号
j=1
1
j=2
2
2
j=3
3
3
3
j=4
4
4
4
4
j=5
5
5
5
5
5
问题3:
编写程序,输出如下所示的图形:
1
12
123
1234
12345
图形特点:j的取值表示行号
j=1
1
j=2
1
2
j=3
1
2
3
j=4
1
2
3
4
j=5
1
2
3
4
5
问题4:
编写程序,输出课本上的“九九乘法表”
5.循环嵌套使用技巧的总结
初学时,学会跟踪for循环语句的每个执行过程
分析问题时,将题目平面坐标化或表格化
用模块化的思路将复杂的问题分解成简单的小模块
6.实战演练
问题1:
编写程序在窗体上输出,2-1000以内的所有素数,要求每5个换一行!
问题2:
编写程序,输出如下所示的图形:
*
***
*****
*******
*********
问题3:
编写程序,输出如下所示的图形:
A
ABA
ABCBA
ABCDCBA
ABCDEDCBA
小结:
内外层循环变量不能相同,内外循环不得交叉。
正确找出循环体,确定循环体所在的层次。
控制循环次数,明确内外循环控制变量之间的关系。
学生紧跟老师思路并回答:百鸡问题用传统数学问题解方程组无法得到回答!
学生观察excel表格和老师一起找答案
学生回答两个for循环语句的执行结果
观看PPT,并思考如何实现上述结果。
聆听讲解。
紧跟老师思路,掌握程序代码
分析与思考
该图形具有的特点:
完成代码填空
For j=1 to 5 step 1
for i=1 to ______ step 1
print “*”;
next i
print
next j
完成代码填空
For j=1 to 5 step 1
for i=1 to _____ step 1
print _____;
next i
print
next j
完成代码填空
For j=1 to 5 step 1
for i=1 to _____ step 1
print _____;
next i
print
next j
邀请一位同学上讲台操作演示
聆听讲解。
小组合作探究,完成任务。
学生总结归纳本节课知识点
提出问题,启发学生思考
引导学生进入本节课的重点:循环嵌套。
复习上节课内容。
让学生注意循环体执行与循环变量关联,每次循环体的执行内容要注意循环变量的取值!
启发学生思考。
老师加以提示,引道学生得出循环嵌套。
讲解循环嵌套的定义以及了解循环嵌套执行的结构形式,帮助学生记忆。
前后呼应,加深学生对循环嵌套的理解。
锻炼学生分析图形特点及推理能力。
让学生掌握:内循环变量i取值范围的受外循环变量j的影响,即每行输出的“*”的个数为该行的值。
让学生掌握:内循环体输出的内容为外循环变量j的值的结果图形样式,加深对循环嵌套的理解
让学生掌握:内循环体输出的内容为内循环变量i的值的结果图形样式加深对循环嵌套的理解
锻炼学生分析图形特点及推理能力。
帮助学生更好掌握循环的嵌套
锻炼学生实践的能力
培养学生归纳总结能力
课后作业
编写程序实现在窗体上输出如下图形:
编写程序在窗体中输出2-1000的完全数
2-1000中的完全数(因子之和等于它本身的数为完全数,例如28的因子是1、2、4、7、14且1+2+4+7+14=28,则28是完全数)。
课后反思
本节课的重点在于让学生熟悉循环嵌套的执行过程,由于循环语句简洁但过程比较抽象,所以在讲解过程中要注意平面坐标化或表格化来辅助引导学生掌握,同时练习要充分。