第5章循环结构程序设计

上传人:公**** 文档编号:499432835 上传时间:2023-09-10 格式:DOC 页数:20 大小:200.50KB
返回 下载 相关 举报
第5章循环结构程序设计_第1页
第1页 / 共20页
第5章循环结构程序设计_第2页
第2页 / 共20页
第5章循环结构程序设计_第3页
第3页 / 共20页
第5章循环结构程序设计_第4页
第4页 / 共20页
第5章循环结构程序设计_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《第5章循环结构程序设计》由会员分享,可在线阅读,更多相关《第5章循环结构程序设计(20页珍藏版)》请在金锄头文库上搜索。

1、第5章循环结构程序设计第5章循环结构程序设计第5章循环结构程序设计循环是指在程序设计中,从某处开始有规律地反复执行某一程序块的 现象。例如:计算2n。如果这样计算:s=1s=s*2s=s*2s=s*2很显然,这不是解决问题的方法在程序设计中要解决此问题,就需 使用循环结构语句使用了循环结构编写程序,可以简化程序;避免重复的不必要的工作; 提咼编程效率。VB提供三种不同风格的循环结构,包括:当循环(While-Wend循环) Do循环(Do-Loop循环) FOR 循环(For-Next 循环)其中For循环按规定的次数执行循环体,而当循环和Do循环则是 在给定的条件满足时执行循环体。、Whil

2、eWend语句(当循环语句)1、格式:While 条件语句序列Wend上述格式中,“条件”为一布尔表达式,用以指定循环条件。2、功能:根据条件进行判断,决定是否执行循环体。3、执行过程:如果“条件”为True(非0),执行由“语句序列”组成的循环 体,当遇到Wend语句时,控制语句返回到 While语句,并对“条件” 进行测试,如果仍为True,则重复上述过程。如果“条件”为False, 则不再执行循环体内容,而转去执行 Wend后继语句,跳出循环。执行流程如图所示。4、举例例5_1_1计算2n程序:Dim n#, s#, k&n = lnputBox(input n)s = 1k = 1Wh

3、ile k = ns = s * 2k = k + 1WendPrint s=; s循环计算D条件(K5不满足循环,跳出傭环例 5_1_1a 计算x = 1 + 2 + 3 +程序:Dim n#, s#, x&n = lnputBox(input n)s = 0x = 1While x = n s = s + x x = x + 1WendPrint s=; s55 = VlV = 1 + 2 + 3 + 4+5条件(X=5)程序执行情况S值xfi初始值011=5满足条件执行掘环体语句1?2 =5满足条件,执行碱环体语句355=5满足条件执丽环体语句644 =5满足条件,执行猛环体语句1055

4、5=5,-口 r尸L b |n例5_i_ib 计算 S = ri x=n“1*2*3*XTDim n#, s#, x& n 二 In putBox(i nput n)s = 1x = 1While x = n s = s * xx = x + 1 Wend Prin t s=; s5s 二 JP 二 5!二 1*2*3*4*5条件(X=5)程序执行情况SfiX值初始值111=5满足条件,执行循环体语甸122=5满足条件,执行施环体语句255=5厲足条件,执fflS环体语句644=5满足条件,执fil环体齣24555不满足条件,跳蛹环, 执ft Wend后继语句例5_1_2从键盘上输入一串字符(

5、每次输入一个字符),以“!”结束, 并对输入字符中的字母个数和数字个数进行统计。分析:需要输入的字符个数没有指定,停止计数的条件是输入字 符为“ !”,所以用whilewend语句是合适的。程序中,变量ch接受键盘输入的字符,变量 T1, T2分别用于统 计字母,数字的个数。Private Sub command1_click()Dim ch$, T1%, T2%CisT1 = 0: T2 = 0While ch !ch = lnputBox(请输入一个字符:)If ch = a And ch = A And ch =a and Lcase(ch)v=zT1 = T1 + 1Elself ch

6、 = 0 And ch v= 9 ThenT2 = T2 + 1End IfWendPrint 字母个数:;T1Print 数字个数:,T2End Sub5、说明1. WhileWend循环语句先对“条件”进行测试,然后才决定是 否执行循环体。如果进入循环体之前,“条件”为False,则一次也不 执行循环。因此,进入循环体之前应正确设置循环条件。2. 循环体内应该有修改循环条件的语句,使得循环能正常执行和 终止。否则,会出现死循环,这是程序设计中容易出现的错误,应当尽量避免。一旦出现“死循环”现象,可按下“ Ctrl+Break ”键强行 退出。2、DoLoop语句Do循环有两种:1、先判断后

7、执行Do While|Until 条件 Loop2、先执行后判断Do Loop While|Until 条件一、先判断条件形式1. 格式:Do While| Until 条件 语句块Loop2.功能:While当条件为True时循环。Until当条件首次为 True时退出。3举例例 5_2_1 用 Do while Loop改写例 5_1_1程序:n=val(inputbox( “input n ” )s=1k=1Do while kv=ns=s*2k=k+1Loopprint s= ;s可以看出,Do WhileLoop和 WhileWend语句功能相 同。改写例5_1_1a例 5_2_3

8、计算 S=1+2+3+100程序:Private Sub Form_Activate() Dim s&, x&s = 0x = 1Do While x v= 100也可以用 Do Until x 100s = s + xx = x + 1 LoopPrint s=; s End Sub例5_2_2输入一个正整数(3),判断其是否为一素数。 分析:所谓素数是指除了 1和该数本身外,不能被任何整数整除的数。 可以依次用2X-1作除数去除X (X=3),若X不能被其中任何一个 数整除,则X为素数。程序:Private Sub Command1_Click()Dim x&Cisx = lnputBox

9、(输入一个整数 X,( X=3)flag = Truei = 2Do While i = x T理论证明判断至 X即可,即SQR(x)If x Mod i = 0 Then flag = Falsei = i + 1LoopIf flag ThenPrint x & 是一个素数。ElsePrint x & 不是一个素数。End IfEnd Sub例5_2_4求SIN(x)的级数展开的值其中:x xY=sinx二一-1! 3! 5! 7!-X2有以下关系:Pn= Pn-1 (2n-1)(2n-2)(n=2,)P i=X程序:Private Sub Form_Activate()Dim y#, x

10、#, p#, n%x0 = Val(InputBox(输入角度值 X)n = InputBox(输入 N 的值)/ 180将角度值转换为弧度值p = xy = pi = 2Do While i = np = p * (-x * x / (2 * i - 1) * (2 * i - 2)y = y + pi = i + 1LoopPrint sin( & x0 & )= & yEnd Sub例5_2_5打印图形,如下:*程序:Private Sub Form_Activate()FontSize = 30i = 1Do While i =1也可用语句 Do Until b 1Print Tab(

11、20 - 2 * b); Right(A, b)函数Left、right、mid、len把一个汉字或全角字符中非字 母和数字的字符视为一个字符位,但是函数Tab、Space仍把一个汉字作为两个字符位b = b - 1LoopEnd Sub二、后判断条件形式1 .格式:DoLoop While| Until 2. 功能:至少执行一次循环。While当条件为True时循环。Until 当条件为True时退出。3. 举例例 5_2_7 例 5_2_3 计算 S=1+2+3+100程序:Private Sub Form_Activate()Dim s&, x&s = 0x = 1Dos = s + xx = x + 1Loop While x T2 寸 2+T 寸 2+P 2 +T分析:分母通项公式为:Pn= 2+Pn-1前 n 项的乘积为:Yn=2 Yn-1 /Pn( n=2,3,.)P1=0 , 丫1=2程序:(使用迭代法,且精确至|Yn Yn-1| )Private Sub Command1_Click()Dim p#, y#, s#, m%Clsm = InputBox(输入有效数字位数)p = 0: y = 2Dos = yp = Sqr(2 + p)y = 2 * y / pLoop Until Abs(y - s) 10 A -m f = String(m, #

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号