预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共55页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第 5 章采用循环程序可以解决一些按一定规则重复执行的问题。例如,统计一个班几十名学生,甚至全校几千名学生的学期成绩,如求平均分、不及格人数等 本章主要内容 循环是指在指定的条件下多次重复执行一组语句 被重复执行的一组语句称为循环体 VB提供的循环语句有 For...Next Do...Loop While...Wend ForEach...Next 最常用的是For...Next和Do...Loop语句For...Next循环主要是用在知道循环次数的情况下;若事先不知道循环次数,可以使用当型循环Do...Loop 1.For...Next循环语句(计数控制) For循环变量=初值To终值[Step步长值]循环体Next循环变量 2.DoWhile...Loop语句(条件控制) Do[{While|Until}条件]循环体 Loop例5.2求S=1+2+3+…8,把结果显示在窗体上。 s=0'累加器初值为0 Fork=1To8 s=s+k'累加器,在原有和的基础上每次加一个数 Nextk Print"s=";s 程序执行结果是:s=36 分析算法:通常采用重复运算来解决问题 累加、累乘等 如用级数π/4=1-1/3+1/5-1/7+……来求π 设置循环变量 使每次运算变量值有所不同 控制循环 计数控制或条件控制采用Print直接在窗体上输出结果,程序代码:PrivateSubForm_Load() Show t=1 Forc=1To8 t=t*c Nextc Print"T=";t EndSub 程序运行结果是:T=40320语句t=t*c称为乘法器。先将t置1(不能置0)。在循环程序中,常用累加和累乘来完成各种计算任务 例5.3T=8!=1×2×3×…8,把结果显示在网页上。 t=1'累乘器初值为1 Forc=1To8 t=t*c'累乘器,在原有积的基础上每次乘一个数 Nextc Print"T=";t 程序执行结果是:T=40320 分析采用Print直接在窗体上输出结果,程序代码如下: PrivateSubForm_Load() Show DimpiAsSingle,cAsInteger,sAsInteger pi=0 s=1's表示加或减运算 Forc=1To10000Step2 pi=pi+s/c s=-s'交替改变加、减号 Nextc Print"π=";pi*4 EndSub 程序运行结果是:π=3.141397Fort=1To3 Ift<=1Thena=3 Ift<=2Thena=2 Ift<=3Thena=1 Printa; Nextt Printt A.3333B.1234 C.3214D.1114Fort=1To3 Ift>=1Thena=3 Ift>=2Thena=2 Ift>=3Thena=1 Printa; Nextt Printt A.3334B.1234 C.3214D.1114运行下面程序后,循环体执行了______次。 i=0:n=1 DoWhilei<32 i=(i+1)*(i+1) n=n+1 Loop Printn A.2B.3C.4D.5s="ABCDEFGHIJ":c="" Fork=2ToLen(s)Step3 a=Mid(s,k) c=c+Left(a,1) Nextk Printc A.BDFB.CFIC.BEHD.BEI5.1.2Do…Loop循环语句采用DoWhile...Loop语句 采用Print直接在窗体上输出结果,程序代码: PrivateSubForm_Load() DimnAsInteger,sAsLong Show n=1:s=0 DoWhilen<=100 s=s+n*n n=n+1 Loop Print"s=";s EndSub 程序运行结果:S=338350后测型Do…Loop循环用上述公式求π/4的近似值,即逐项进行累加,直到某项 1/n*(1/2^n+1/3^n)<10为止(该项不累加)。程序代码: DimpiAsSingle,nAsLong DimtAsSingle,sAsInteger Show pi=0:s=1's表示符号 n=1‘n表示变动值,第1项时n=1,第2项时n=3,… t=(1/2+1/3)'t表示累加项。先取第1项的值 DoWhilet>=10^(-5)'逐项累加的条件,累加到t<10^(-5)为止 pi=pi+s*t'把当前项进行累加 s=-s'交替改变正、负号 n=n+2'变动值n加2 t=1/n*(1/2^n+1/3^n)'求当前项的绝对值 Loop Print"π=";pi*4 程序运行结果: π=3.141562“辗转相除法”算法:求出m/n余数p,若p=0,n