《循环的嵌套》参考教案.doc
PAGE
PAGE8/NUMPAGES8
程序的循环结构
——循环的嵌套
【学时】:1课时
【教学目标】:根据本节课教学内容以及学生的特点,结合学生现有知识水平,确定本节课教学目标如下:
1、知识目标:
1)理解循环嵌套的概念;
2)掌握循环嵌套语句的基本格式;
3)理解并掌握循环嵌套语句的执行过程;
4)能根据实际问题确定程序中的循环变量、循环条件和循环体;
2、能力目标:培养学生分析问题,解决问题的能力。
3、情感目标:使学生积极参与,发挥他们的主动性,激发他们的求知欲。
【教学重点】:1、掌握循环嵌套语句的基本格式;
2、理解循环嵌套语句的执行过程;
3、重点掌握for循环嵌套的用法。
【教学难点】:根据实际问题,确定程序中的循环变量、循环条件和循环体。
【教材分析】:循环结构是程序设计的三种基本结构之一,是程序设计的基础。这节课主要讲解循环的嵌套,循环的嵌套在程序设计中起着承上启下的作用,首先循环的嵌套是对循环的三种基本结构的综合运用,其次是循环的嵌套是后面数组、指针等知识学习的基础,只有灵活运用了循环的嵌套,才能在后面的学习中游刃有余。
【教学环境】:多媒体教室(无网络)
【教学过程】:
教学环节
教师活动
学生活动
设计意图
复习
引入
同学们,我们前几次课学习了哪几种循环语句呢?现在请一位同学上台来在黑板上写出来,其余同学回顾一下。
之后教师通过屏幕播放三种循环语句,边播放边和学生一起回顾。
屏幕显示:上节课实例:编程求所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身。想想在前面的学习中是如何来编写这个程序的。
教师展示程序,程序如下:
main()
{intm,n,i,j,k;
for(m=100;m=999;m++)
{i=m/100;
j=m/10%10;
k=m%10;
n=i*i*i+j*j*j+k*k*k;
if(m==n)
printf(%d\n,m);
}
}
分析程序:在这个程序中,我们设定m为三位数;i、j、k分别为三位数的百位数、十位数、个位数;n为各位数的立方和,通过判定m和n是否相等来判断m是否为“水仙花数”。
提出问题:现在我们如果要利用三位数的各位数i、j、k来求得这个三位数m以及这个三位数各位数的立方和n,通过判定m和n是否相等来判断m是否为“水仙花数”。那应该怎样来修改程序呢?这就是我们今天要学习的内容:循环的嵌套。
一位同学在黑板上写循环语句的三种基本结构,其余同学思考回顾。
学生回顾
唤起学生对已学知识的回忆
通过学生熟悉的例题,进一步提出问题,引导学生思考,逐步引导学生观察分析,寻求解决问题的最佳方法,从而引入新课题。
For循环语句的语句格式
1、用for循环语句给出实例1程序代码,并说出其功能以及各部分的名称。
2、提出问题:是否可以实现求1+2+3……+100的和,1+2+3……+1000的和?
根据学生的回答将程序稍做修改,解决以上问题,让学生对循环结构的功能有感性的认识,引发学习兴趣。
3、进一步提出问题:根据刚才的学习,能不能总结出for循环语句的语句格式。
师生共同总结出for循环语句的语句格式:
For循环变量=初值To终值Step步长
循环体
Next循环变量
4、针对for循环语句的语句格式,设置如下练习:指出下面程序中的错误
1、求1+2+3+4+5的和
s=0
fori=1to5step1
s=s+i
nextj
prints
2、在VB窗体界面上输出1~10这10个自然数
fori=1to10
printi
3、求5+4+3+2+1和
s=0
forI=5to1
s=s+I
nextI
prints
4、求7+5+3+1的和:
S=0
ForI=7to1Step2
S=S+I
NextI
PrintS
根据练习可以得出:
1)For语句与Next语句必须成对出现,而且循环变量的名称要相同。
2)当初值小于终值时,步长为正数;当初值大于终值时,步长为负数;只步长为1时,才可以省略step1。
教师补充:
循环变量必须为数值型,?初值、终值:都是数值型,可以是数值表达式。
循环体:在For语句和Next语句之间的语句序列。可以是一条语句,也可以是多条语句。
学生接受新知识
学生积极思考,并回答问题
学生通过观察或上机调试找出每个程序中存在的问题
归纳、总结
让学生多思考充分调动其学习积极性
由个别到一般,训练学生总结问题、归纳问题的能力
强化语句格式,找出注意点
通过实践,更容易理解、掌握
For循环语句的