欢迎来到天天文库
浏览记录
ID:12151490
大小:111.00 KB
页数:10页
时间:2018-07-15
《高中信息技术循环结构教案浙教版》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、课题:循环结构教学时间:授课班级:教学目标:学会用for…next语句和do…loop编写简单的程序,并会调试它教学重点、难点:1.For–next语句的用法2.Do-loop语句的用法3.循环语句的嵌套教学过程在用计算机处理问题时,除了分支问题外,还有不少是需要重复执行某一组操作的问题。这就要采用循环结构,VB中提供了两种语句实现循环结构,For-Next语句和Do-Loop语句。【例6-6-1】求s=1+2+3+……+100利用赋值语句可写出如下形式的代码:sum=0sum=sum+1sum=sum+2sum=sum+3……sum=sum+100很显然,使用这种形式也能得到
2、结果,但程序很冗长。观察上面的代码可以发现,这段代码实际上重复了同一个操作:sum=sum+I,只不过是每次相加的自然数不同而已。使用VB提供的循环语句可以很容易实现这种重复操作功能。具体算法如下:①设sum=0;②设i=1;③若i<=100则转④,否则算法停止,最后sum中的数值即是自然数列前100项之和;图6-23开始0→sum1→ii<=100sum+i→sumi+1→i输出sum结束YN④将sum与i相加,其结果送给变量sum,即sum+i→sum;⑤使i值增加1,即i+1→i;⑥转③。流程图如图6-23,程序及运行结果如下:'求1、2、3……、100之间自然数的和Pr
3、ivateSubForm_Click()DimiAsIntegerDimsumAsIntegersum=0Fori=1To100sum=sum+i'循环体10用心爱心专心NextiPrint"sum=";sumEndSub运行结果为:sum=5050一、For...Next循环这个程序中使用的是For...Next循环,它的一般形式是:For循环变量=初值To终值Step循环变量增量循环体Next循环变量循环变量的初值、终值、循环变量增量都是数值型。其中要重复执行的操作称为循环体,增量可正可负,如果没有设置Step,则增量的缺省值为1。For-Next循环的执行过程是:①循环变
4、量取初值;②循环变量与终值比较,没有超过终值转③,否则循环结束,接着执行循环语句的后继语句;③执行一次循环体;④循环变量增加一个增量;⑤重复步骤②~④。从上看出,For-Next循环变量是一种当型循环,图6-24是它的执行过程。说明:①For语句与Next语句必须成对出现,而且它们当中的“循环变量”必须是同一个变量,如本例中均为i;②当循环变量增量为正时,循环变量超过终值,是指循环变量的值大于终值,若为负,则是指循环变量的值小于终值。图6-24从例6-6-1程序的流程图和For-Next循环的招待过程可以看出,执行For-Next循环时,先判断循环变量是否超过终值,如果没有超过
5、终值,就执行循环体,这种循环称为当型循环,它的一般结构如图6-25所示。循环体A执行有限次后,条件P不再成立,从而退出循环。图6-25讨论与思考:10用心爱心专心⒈本例中循环结束时,循环变量i的值是多少?⒉若有如下一段代码:Forj=15to3Step–2PrintjNextj则循环结束时,循环变量j的值是多少?⒊循环变量的增量能否为0,如果为0,运行结果怎样?图6-26【例6-6-2】设计一个界面如图6-26所示的程序,要求执行程序后,窗体上的星星在闪烁,单击“结束”按钮结束程序。为了实现星星闪烁的效果,本例设置了一个定时器控件,窗体启动后,每隔500ms触发一次Timer事
6、件,在该事件中使用循环语句随机产生50个坐标值,然后用窗体的Pset方法在这些坐标处画点,窗体上出现星星的效果,在Timer事件的开头,使用Cls方法清屏,以产生闪烁效果。完成本程序需要在设计阶段设计的属性如表6-11。表6-11缺省的对象名设置的对象名属性设置值Form1frmStarCaption星星闪烁BackColor黑色ForeColor黄色Command1cmdEndCaption结束Timer1tmrAnimationEnabledFalseInterval500程序代码如下:′星星闪烁DimxposAsInteger,yposAsIntegerDimiAsInt
7、egerPrivateSubForm_Load()tmrAnimation.Enabled=TrueRandomizeEndSubPrivateSubtmrAnimation_Timer()′清屏,产生闪烁效果10用心爱心专心ClsFori=1To50xpos=Int(frmCircle.Width*Rnd)ypos=Int(frmCircle.Height*Rnd)PSet(xpos,ypos)NextiEndSubPrivateSubcmdEnd_Click()EndEndSub二、Do
此文档下载收益归作者所有