欢迎来到天天文库
浏览记录
ID:50306826
大小:211.00 KB
页数:46页
时间:2020-03-07
《Visual Basic 6.0程序设计 教学课件 作者 吴昌平 第五章.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第5章循环结构在前面,我们学习了顺序结构和分支结构,本章我们将要介绍结构化程序3种基本结构的最后一种——循环结构。退出5.1循环概述5.2For循环5.3While循环5.4Do循环5.5循环的嵌套5.6循环的退出5.1循环概述在实际工作中,常遇到一些操作过程不太复杂,但又需要反复进行相同处理的问题,比如,统计本单位所有人员的工资,求全班同学各科的平均成绩等等。这些问题的解决逻辑上并不复杂,但如果单纯用顺序结构来处理,那将得到一个非常乏味且冗长的程序。例如,计算1~100所有奇数的平方和,如果用顺序结构来解决这个问题,我们就会给出下面的程序:Priv
2、ateSubForm_Click()Dims&,x%s=0x=1s=s+x^2x=x+2s=s+x^2x=x+2s=s+x^2……x=x+2'x的值累加到99s=s+x^2Print"1~100之间所有奇数的平方和=";sEndSub由上面的例子不难看出,程序的绝大部分是在反复执行两条语句x=x+2和s=s+x^2,不同的是x的值在变化。程序当然非常简单易懂,但缺乏最基本的编程技巧。要想方便地解决这类问题,最好的办法就是用循环语句。所谓循环就是重复地执行一组语句。我们用循环语句解决上面的问题,程序非常简短:PrivateSubForm_Click()
3、Dims&,x%s=0Forx=1To99Step2s=s+x^2NextxPrint"1~100所有奇数的平方和=";sEndSub在此程序中,第4、5、6条语句构成了一个循环,在循环过程中第5句被反复执行了50次,从而计算出了1~100所有奇数的平方和。通过上面的对比可知,循环结构非常适合于解决处理的过程相同、处理的数据相关,但处理的具体值不同的问题。我们把能够处理这类问题的语句称为循环语句。VB提供了三种不同风格的循环语句,它们分别是:(1)For…Next语句;(2)While…Wend语句;(3)Do…Loop语句。我们将对这3种循环语句逐
4、一介绍。5.2For循环For循环的一般格式如下:For循环变量=初值To终值[Step步长][循环体]Next[循环变量]说明:1.格式中各项的说明循环变量:亦称为循环控制变量,必须为数值型。初值、终值:都是数值型,可以是数值表达式。步长:循环变量的增量,是一个数值表达式。一般来说,其值为正,初值应小于终值;若为负,初值应大于终值。但步长不能是0。如果步长是1,Step1可略去不写。循环体:在For语句和Next语句之间的语句序列。Next后面的循环变量与For语句中的循环变量必须相同。2.执行过程For循环语句的执行过程如下:(1)系统
5、将初值赋给循环变量,并自动记下终值和步长。(2)检查循环变量的值是否超过终值。如果超过就结束循环,执行Next后面的语句;否则,执行一次循环体。(3)执行Next语句,将循环变量增加一个步长值再赋给循环变量,转到(2)继续执行。以上执行过程用流程图描述,如图5-1所示。这里所说的“超过”有两种含义,即大于或小于。当步长为正值时,循环变量大于终值为“超过”;当步长为负值时,循环变量小于终值为“超过”。我们通过分析下面的程序来进一步理解For语句的执行过程。Forn=1To10Step3Printn,Nextn具体执行情况如下:第几次循环n与终值比较执行
6、循环体否11<10执行24<10执行37<10执行410=10执行513>10停止执行上面程序的执行结果为:147103.注意事项For语句和Next语句必须成对出现,缺一不可,且For语句必须在Next语句之前。循环次数由初值、终值和步长确定,计算公式为:循环次数=Int((终值-初值)/步长)+1【例5.1】求N!(N为自然数)。分析:由阶乘的定义,我们可以得出N!=1*2*…*(N-2)*(N-1)*N=(N-1)!*N,也就是说,一个自然数的阶乘,等于该自然数与前一个自然数阶乘的乘积。程序如下:PrivateSubForm_Click()Di
7、mI%,f&,n%n=InputBox("输入一个自然数:","输入提示","10")f=1ForI=1Tonf=f*INextIPrintn;"!=";fEndSub程序的执行过程如图5-2所示。程序如下:PrivateSubForm_Click()DimI%,n%,p#n=InputBox("请输入n的值(1-32767)")p=1ForI=1Tonp=p*(4*I*I)/((2*I-1)*(2*I+1))NextIp=2*pPrint"n=";n;"时","π=";pEndSub5.3While循环前面我们介绍了For…Next循环,它适合于解
8、决循环次数事先能够确定的问题。对于只知道控制条件,但不能预先确定需要执行多少次循环体的情况,我们可以使用Wh
此文档下载收益归作者所有