VB课件第4章循环结构.ppt
《VB课件第4章循环结构.ppt》由会员分享,可在线阅读,更多相关《VB课件第4章循环结构.ppt(59页珍藏版)》请在三一办公上搜索。
1、第4,循环结构程序设计,第循环结构程序设计,采用循环程序可以解决一些按一定规则重复执行的问题。例如,统计一个班几十名学生,甚至全校几千名学生的学期成绩,如求平均分、不及格人数等。 本章主要内容 循环语句 For.Next / Do.Loop / While.Wend 循环出口语句(Exit) 多重循环 程序举例,4.3 循环结构设计,采用循环程序可以解决一些按一定规则,循环是指在指定的条件下多次重复执行一组语句。被重复执行的一组语句称为循环体。 VB提供的循环语句有: For.Next Do.Loop While/Until Do While/Until . Loop While.Wend 最
2、常用的是For.Next和Do.Loop语句,VB课件第4章循环结构,按指定次数执行循环体,4.3.1 For.Next循环,T,循环变量增加步长,循环体,循环变量获得初值,按指定次数执行循环体 4.3.1 For.Ne,格式: For 循环变量初值 To 终值 Step 步长值 循环体 Next 循环变量功能:当循环变量的值在初值到终值范围内时,执行一次循环体的语句代码,并使初值增加一个步长。当循环变量的值不在初值到终值范围内时,就退出循环,执行Next后面的语句。 说明:循环变量是一个数值变量,初值、终值和步长值都是数值表达式,步长值可以是正数(称为递增循环),也可以是负数(称为递减循环)
3、;若步长值为1,则Step 1可以省略。,格式: For 循环变量初值 To 终值 Step,说明:,循环次数的一般计算公式: Int(终值-初值)/步长)+1事先已知循环次数,则可使用For-Next循环结构语句计数循环,说明:循环次数的一般计算公式:,Private Sub Form_Load() ShowDim sum As Integer计算1至100的和,存放在sum中显示结果 Print sum=; sum End Sub,sum = sum + 1 sum = sum + 2 sum = sum + 100,sum = sum + i,i = 1 100,采用Print直接在窗体
4、上输出结果,Private Sub Form_Load(,Private Sub Form_Load() Show Dim sum As Integer Dim i As Integer For i = 1 To 100 sum = sum + i Next i Print sum=; sum End Sub,Yes,No,sum = sum + i,i = 1,i = 100,i = i + 1,执行过程:,For i = 1 To 100 sum = sum + i Next i,YesNosum = sum + ii = 1i = 10,示例2: 求T = 8! = 1238,采用Pri
5、nt直接在窗体上输出结果,程序代码: Private Sub Form_Load() Show t = 1 For c = 1 To 8 t = t * c Next c Print T=; t End Sub 程序运行结果是: T40320 语句t=t*c也称累乘器。先将t置1(不能置0)。 在循环程序中,常用累加器和累乘器来完成各种计算任务。,如果要求N!呢?,示例2: 求T = 8! = 1238 采用,思考: x=5 For i=1 To 20 Step 5 x = x + i5 Next i,思考:,思考: s=5 For i=2.6 To 4.9 Step 0.6 s=s+1 Ne
6、xt i,思考:,思考: Private Sub Form_Click() x=5 : k=5 For k=1 To 10 Step -2 x=x+k Next k Print k; x End Sub,思考:,思考: Private Sub Form_Click() Dim sum As Double, x As Double sum=0 n=0 For i=1 To 5 x = n / i n = n + 1 sum = sum + x Next i End Sub,思考:,下面采用“穷举法”来解此题。 其做法是:从所有可能解中,逐个进行试验,若满足条件,就得到一个解,否则不是。直到条件满
7、足或判别出无解为止。 令母鸡为x只,小鸡为y只,根据题意可知 y = 100 x 开始先让x初值为1,以后逐次加1,求x为何值时,条件3x+y/3=100成立。如果当x达到33时还不能使条件成立,则可以断定此题无解。,示例3:100 元买100 只鸡,母鸡3元1只,小鸡1元3只,问各应买多少只?,下面采用“穷举法”来解此题。 示例3:10,采用Print直接在窗体上输出结果,程序代码: Private Sub Form_Load() Dim x As Integer, y As Integer Show For x = 1 To 33 y = 100 - x If 3 * x + y / 3
8、= 100 Then Print 母鸡只数为:; x, Print 小鸡只数为:; y End If Next x End Sub 运行结果: 母鸡只数为:25 小鸡只数为:75,采用Print直接在窗体上输出结果,程序代码:,For.Next循环主要是用在知道循环次数的情况下,若事先不知道循环次数,可以使用Do.Loop 循环。 Do.Loop两种格式:前测型循环结构和后测型循环结构。两者区别在于判断条件的先后次序不同。,4.3.2 Do.Loop循环语句,For.Next循环主要是用在知道循环,循环体,F,先判断循环条件,再执行循环体语句。,1. 前测型Do.Loop循环,循环体F条件T先
9、判断循环条件,再执行循环体语句。1. 前测型,格式: Do While | Until 条件 循环体 Loop Do While.Loop语句的功能:当条件成立(为真)时,执行循环体;当条件不成立(为假时),终止循环。 Do Until.Loop语句的功能: 当条件不成立(为假)时,执行循环体,直到条件成立(为真)时,终止循环。,1. 前测型Do.Loop循环,格式: Do While,Private Sub Form_Load() Dim sum As Integer, i As Integer Show i = 1 Do While i = 100 sum = sum + i i = i
10、+ 1 Loop Print s=; sum End Sub,进入循环之前赋初值,改变循环变量的值,示例4:采用Do While.Loop语句改写示例1,For i = 1 To 100 Step 1 sum = sum + i Next i,Private Sub Form_Load()进入循环之前,先执行循环体语句,再判断循环条件。,循环体,N,2. 后测型Do.Loop循环,先执行循环体语句,再判断循环条件。循环体条件YN 2.,格式: Do 循环体 Loop While | Until 条件 功能:先执行循环体,然后判断条件,根据条件决定是否继续执行循环。 注意: 本语句执行循环的最少
11、次数为1,而前测型Do.Loop语句的最少次数为0(即一次都不执行循环)。,2. 后测型Do.Loop循环,格式: Do,思考: 运行下列程序,单击窗体,则执行结果是(),Private Sub Form_Click() s=0 Do s=(s+1)*(s+2) Number= Number+1 Loop Until s = 30 Print Number ;sEnd SubA) 0 1 B) 30 30 C) 4 30 D) 3 182,思考: 运行下列程序,单击窗体,则执行结果是()Priva,运行下列程序,单击窗体,则执行结果是(),Private Sub Form_Click() b=
12、1 a=2 Do While b 10 b=2*a+b Loop Print bEnd SubA) 13 B) 17 C) 21 D) 33,运行下列程序,单击窗体,则执行结果是()Private Su,运行下列程序,单击窗体,则执行结果是() Private Sub Form_Click( ) E = 1 : F = 1 For j = 1 To 3 E=E + F : F = F+ E Next j print E;F End Sub A) 6 6 B) 5 8 C) 13 21 D) 34 55,运行下列程序,单击窗体,则执行结果是(),分析:本题可用“累加”的方法来完成,设累加的和为变
13、量s,累加项为i2,则累加的语句可写为:s=s+i2采用Do WhileLoop语句: Private Sub Form_Click() Dim i As Integer, s As Long i = 1 s = 0 Do while i = 10 s = s + i 2 i = i + 1 Loop Print “s=”; s End Sub,示例5:用Doloop语句求s=12+22+102,分析:本题可用“累加”的方法来完成,设累加的和为变量s,累加,“辗转相除法”算法:求出m/n余数p,若p0,n即为最大公约数;若p非0,则把原来的分母n作为新的分子m,把余数p作为新的分母n继续求解。
14、 设计步骤如下: (1) 创建应用程序的用户界面和设置对象属性,示例6:输入两个正整数,求它们的最大公约数,“辗转相除法”算法:求出m/n余数p,若p0,编写的“计算”按钮Click事件过程代码如下: Private Sub Command1_Click() Dim m As Integer, n As Integer, p As Integer m = Val(Text1.Text) : n = Val(Text2.Text) If m 0 Text3.Text = m End Sub 若输入的m和n的值为85和68,则运行结果如上图,编写的“计算”按钮Click事件过程代码如下:,用于提前
15、退出循环 格式: Exit For | Do 功能:直接从For循环或Do循环中退出。 当程序运行时遇到Exit语句时,就不再执行循环体中的任何语句而直接退出,转到循环语句(Next、Loop)的下面继续执行。,4.3.3 循环出口语句,用于提前退出循环 4.3.3 循环出口语句,示例5的循环语句可改为: Do p = m Mod n If p=0 Then Exit Do End If m = n n = p Loop While p 0 Text3.Text =,m,n,示例5的循环语句可改为:mn,格式: While 条件 循环体 Wend功能:当条件成立(为真)时,执行循环体;当条件不
16、成立(为假)时,终止循环。 本语句与上述Do While.Loop循环语句相似,4.3.4 While.Wend循环语句,格式:4.3.4 While.Wend循环语句,用下面的公式求的近似值(直到最后一项的绝对值小于10-6为止):分析先计算等式右边的和累加求和: pi = pi + t当| t |10-6时,停止累加用Doloop循环实现,示例7:求的近似值,用下面的公式求的近似值(直到最后一项的绝对值小于10-6为,采用Print直接在窗体上输出结果,程序代码如下: Private Sub Form_Click() Dim s As Integer Dim pi As Single, n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 课件 循环 结构
链接地址:https://www.31ppt.com/p-1289739.html