VB6教程第5章 循环结构.ppt

VB6教程第5章 循环结构.ppt

ID:56532139

大小:221.50 KB

页数:46页

时间:2020-06-27

VB6教程第5章  循环结构.ppt_第1页
VB6教程第5章  循环结构.ppt_第2页
VB6教程第5章  循环结构.ppt_第3页
VB6教程第5章  循环结构.ppt_第4页
VB6教程第5章  循环结构.ppt_第5页
资源描述:

《VB6教程第5章 循环结构.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章循环结构在前面,我们学习了顺序结构和分支结构,本章我们将要介绍结构化程序3种基本结构的最后一种——循环结构。退出5.1循环概述5.2For循环5.3While循环5.4Do循环5.5循环的嵌套5.6循环的退出5.1循环概述在实际工作中,常遇到一些操作过程不太复杂,但又需要反复进行相同处理的问题,比如,统计本单位所有人员的工资,求全班同学各科的平均成绩等等。这些问题的解决逻辑上并不复杂,但如果单纯用顺序结构来处理,那将得到一个非常乏味且冗长的程序。例如,计算1~100所有奇数的平方和,如果用顺序结构来解决这个问题,我们就会给出下面的程序:PrivateSubForm_Cli

2、ck()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()Dims&,x%s=0Forx=1To99Step2s=

3、s+x^2NextxPrint"1~100所有奇数的平方和=";sEndSub在此程序中,第4、5、6条语句构成了一个循环,在循环过程中第5句被反复执行了50次,从而计算出了1~100所有奇数的平方和。通过上面的对比可知,循环结构非常适合于解决处理的过程相同、处理的数据相关,但处理的具体值不同的问题。我们把能够处理这类问题的语句称为循环语句。VB提供了三种不同风格的循环语句,它们分别是:(1)For…Next语句;(2)While…Wend语句;(3)Do…Loop语句。我们将对这3种循环语句逐一介绍。5.2For循环For循环的一般格式如下:For循环变量=初值To终值[St

4、ep步长][循环体]Next[循环变量]说明:1.格式中各项的说明循环变量:亦称为循环控制变量,必须为数值型。初值、终值:都是数值型,可以是数值表达式。步长:循环变量的增量,是一个数值表达式。一般来说,其值为正,初值应小于终值;若为负,初值应大于终值。但步长不能是0。如果步长是1,Step1可略去不写。循环体:在For语句和Next语句之间的语句序列。Next后面的循环变量与For语句中的循环变量必须相同。2.执行过程For循环语句的执行过程如下:(1)系统将初值赋给循环变量,并自动记下终值和步长。(2)检查循环变量的值是否超过终值。如果超过就结束循环,执行Next后

5、面的语句;否则,执行一次循环体。(3)执行Next语句,将循环变量增加一个步长值再赋给循环变量,转到(2)继续执行。以上执行过程用流程图描述,如图5-1所示。这里所说的“超过”有两种含义,即大于或小于。当步长为正值时,循环变量大于终值为“超过”;当步长为负值时,循环变量小于终值为“超过”。我们通过分析下面的程序来进一步理解For语句的执行过程。Forn=1To10Step3Printn,Nextn具体执行情况如下:第几次循环n与终值比较执行循环体否11<10执行24<10执行37<10执行410=10执行513>10停止执行上面程序的执行结果为:147103.注意事项For语句

6、和Next语句必须成对出现,缺一不可,且For语句必须在Next语句之前。循环次数由初值、终值和步长确定,计算公式为:循环次数=Int((终值-初值)/步长)+1【例5.1】求N!(N为自然数)。分析:由阶乘的定义,我们可以得出N!=1*2*…*(N-2)*(N-1)*N=(N-1)!*N,也就是说,一个自然数的阶乘,等于该自然数与前一个自然数阶乘的乘积。程序如下:PrivateSubForm_Click()DimI%,f&,n%n=InputBox("输入一个自然数:","输入提示","10")f=1ForI=1Tonf=f*INextIPrintn;"!=";fEndSub

7、程序的执行过程如图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循环,它适合于解决循环次数事先能够确定的问题。对于只知道控制条件,但不能预先确定需要执行多少次循环体的情况,我们可以使用Wh

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。