VB第5章电子讲稿.ppt
《VB第5章电子讲稿.ppt》由会员分享,可在线阅读,更多相关《VB第5章电子讲稿.ppt(52页珍藏版)》请在三一办公上搜索。
1、第5章,循环结构设计,采用循环程序可以解决一些按一定规则重复执行的问题。例如,统计一个班几十名学生,甚至全校几千名学生的学期成绩,如求平均分、不及格人数等 本章主要内容 循环语句 For.Next/Do.Loop/While.Wend 循环出口语句(Exit)多重循环 列表框与组合框 程序举例,第5章 循环结构设计,循环是指在指定的条件下多次重复执行一组语句。被重复执行的一组语句称为循环体 VB提供的循环语句有 Do.Loop For.Next While.Wend For Each.Next 最常用的是For.Next和Do.Loop语句,5.1.1 For.Next循环语句 按指定次数执行
2、循环体 例5.1 在窗体上显示2至10各偶数的平方数 采用Print直接在窗体上输出结果,程序代码:Private Sub Form_Load()Dim k As Integer Show For k=2 To 10 Step 2 Print k*k Next k End Sub,5.1 循环语句,程序运行结果:4 16 36 64 100,说明:上述程序,循环变量k的初值、终值和步长值分别为2,10和2,即从2开始,每次加2,到10为止,控制循环5次。每次循环都将循环体(Print k*k)执行一次 格式:For 循环变量初值 To 终值 Step 步长值 循环体 Next 循环变量 功能:
3、本语句指定循环变量取一系列数值,并且对循环变量的每一个值把循环体执行一次 初值、终值和步长值都是数值表达式,步长值可以是正数(称为递增循环),也可以是负数(称为递减循环)若步长值为1,则Step 1可以省略,(1)求出初值、终值和步长值,并保存起来(2)将初值赋给循环变量(3)判断循环变量值是否超过终值(步长值为正时,指大于终值;步长值为负时,指小于终值)。超过终值时,退出循环,执行Next之后的语句(4)执行循环体(5)遇到Next语句时,修改循环变量值,即把循环变量的当前值加上步长值再赋给循环变量(6)转到(3)去判断循环条件 例5.1的执行过程,For.Next语句的执行步骤,采用Pri
4、nt直接在窗体上输出结果,程序代码:Private Sub Form_Load()Show s=0 For k=1 To 8 s=s+k Next k Print s=;s End Sub 程序运行结果如下:s36 语句ss+k(循环体语句)的执行过程,例5.2 求S=1+2+3+8,采用Print直接在窗体上输出结果,程序代码: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)。在循环程序中,常用累加器和累乘器来完
5、成各种计算任务,例5.3 求T=8!=1238,采用Print直接在窗体上输出结果,程序代码如下:Private Sub Form_Load()Show Dim pi As Single,c As Integer,s As Integer pi=0 s=1 s表示加或减运算 For c=1 To 10000 Step 2 pi=pi+s/c s=-s 交替改变加、减号 Next c Print=;pi*4 End Sub 程序运行结果是:3.141397,例5.4 用/41-1/3+1/5-1/7+级数求的近似值(取前5000项来进行计算),下面采用“穷举法”来解此题。其做法是:从所有可能解中
6、,逐个进行试验,若满足条件,就得到一个解,否则不是。直到条件满足或判别出无解为止。令母鸡为x只,小鸡为y只,根据题意可知 y=100 x 开始先让x初值为1,以后逐次加1,求x为何值时,条件3x+y/3=100成立。如果当x达到30时还不能使条件成立,则可以断定此题无解,例5.5 用100 元买100 只鸡,母鸡3元1只,小鸡1元3只,问各应买多少只?,采用Print直接在窗体上输出结果,程序代码:Private Sub Form_Load()Dim x As Integer,y As Integer Show For x=1 To 30 y=100-x If 3*x+y/3=100 Then
7、 Print 母鸡只数为:;x,Print 小鸡只数为:;y End If Next x End Sub 运行结果:母鸡只数为:25 小鸡只数为:75,For.Next循环主要是用在知道循环次数的情况下,若事先不知道循环次数,可以使用当型循环Do.Loop Do.Loop两种格式:前测型循环结构和后测型循环结构。两者区别在于判断条件的先后次序不同,Do.Loop循环语句,格式:Do While|Until 条件 循环体 Loop Do While.Loop语句的功能:当条件成立(为真)时,执行循环体;当条件不成立(为假时),终止循环 Do Until.Loop(直到型循环)语句的功能:当条件不
8、成立(为假)时,执行循环体,直到条件成立(为真)时,终止循环,1.前测型Do.Loop循环,采用Do While.Loop语句 采用Print直接在窗体上输出结果,程序代码:Private Sub Form_Load()Dim n As Integer,s As Long Show n=1:s=0 Do While n=100 s=s+n*n n=n+1 Loop Print s=;s End Sub 程序运行结果:S338350,例5.6 求 S12+22+1002,采用Print直接在窗体上输出结果,程序代码:Private Sub Form_Load()Show Dim pi As Si
9、ngle,n As Long,s As Integer pi=0:n=1:s=1 Do While n=0.00001 pi=pi+s/n s=-s n=n+2 Loop Print=;pi*4 End Sub 程序运行结果:3.141575,例5.7 用/41-1/3+1/5-1/7+级数,求的近似值。当最后一项的绝对值小于10-5时,停止计算,语句格式如下:Do 循环体 Loop While|Until条件 功能:先执行循环体,然后判断条件,根据条件决定是否继续执行循环 注意,本语句执行循环的最少次数为1,而前测型Do.Loop语句的最少次数为0(即一次都不执行循环),2.后测型Do.Lo
10、op循环,ForNext 前测型 S=0 s=0:k=1 For k=1 to 8 Do While k=8 s=s+k s=s+k Next k k=k+1 Print s Loop Print s s=0:k=1 do s=s+k k=k+1 Loop While k=8 Print s,三种循环语句比较 示例:求和s=1+2+3+8,后测型,“辗转相除法”算法:求出m/n余数p,若p0,n即为最大公约数;若p非0,则把原来的分母n作为新的分子m,把余数p作为新的分母n继续求解 设计步骤如下:(1)创建应用程序的用户界面和设置对象属性,例5.8 输入两个正整数,求它们的最大公约数,编写的“
11、计算”按钮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,则运行结果如上图,语句格式 While 条件 循环体 Wend 功能:当条件成立(为真)时,执行循环体;当条件不成立(为假)时,终止循环。本语句与上述Do While.Loop循环语句相似,While.Wend循环语句,用于提前退出循环 格式:Exit For|
12、Do功能:直接从For循环或Do循环中退出 当程序运行时遇到Exit语句时,就不再执行循环体中的任何语句而直接退出,转到循环语句(Next、Loop)的下面继续执行,循环出口语句,例5.8的循环语句可改为 Do p=m Mod n If p=0 Then Exit Do End If m=n n=p Loop While p 0 Text3.Text=n,把每次输入的数累加。当输入-1时结束程序的运行(1)创建应用程序的用户界面和设置对象属性(2)编写程序代码 Private Sub Form_Load()Show Sum=0 Do While True 条件为真,循环无终止进行下去 x=Va
13、l(InputBox(请输入要加入的数(-1表示结束),输入数据)If x=-1 Then Exit Do End If Sum=Sum+x Text1.Text=Sum Loop MsgBox(累加运算结束)End Sub 以-1作为“终止循环标志”,例5.9 设计一个“加法器”程序,多重循环是指循环体内含有循环语句的循环 例5.10 多重循环程序示例 程序运行结果 Private Sub Form_Load()1 5 Show 1 6 For i=1 To 3 外循环 1 7 For j=5 To 7 内循环 2 5 Print i,j 2 6 Next j 2 7 Next i 3 5
14、End Sub 3 6 3 7 注意内、外循环层次要分清,不能交叉,5.2 多 重 循 环,本例可采用两重循环来实现。外循环控制输出7行,内循环控制每行输出要求的字符数。在进入内循环之前,使用Print Tab()来对起始输出位置定位,退出内循环后,使用Print来控制换行。,例5.11 编一程序,输出下列所示的图形,采用Print直接在窗体上输出结果,程序代码如下:Private Sub Form_Load()Show For i=1 To 7 Print Tab(10-i);For j=1 To 2*i-1 Print Chr(i+48);Next j Print Next i End S
15、ub Print Chr(i+48)与Print i有所不同,(1)分析:设一元硬币为a枚,二元硬币为b枚,五元硬币为c枚,可列出方程 a+b+c=10 a+2b+5c=25采用两重循环,外循环变量a从010,内循环变量b从010(2)创建应用程序的用户界面,例5.12 取一元、二元、五元的硬币共十枚,付给25元钱,有多少种不同的取法?,(3)编写程序代码 程序通过Print方法把处理结果输出在标签的下方 Private Sub Form_Load()Show CurrentX=0:CurrentY=1500 确定开始显示的坐标 Print,五元,二元,一元 n=0 记录解的组数 For a=
16、0 To 10 For b=0 To 10 c=10-b-a If a+2*b+5*c=25 And c=0 Then n=n+1 Print(;n;),c,b,a End If Next b,a End Sub,列表框和组合框都能为用户提供若干个选项,供用户从中任意选择 两种控件的特点是为用户提供大量的选项但又占用很少的屏幕空间,操作简单方便,5.3 列表框与组合框,1.列表框的用途 列表框(ListBox)用于列出可供用户选择的项目列表,用户可从中选择一个或多个选项。自动出现滚动条 表项 索引 2.常用属性(1)Name属性(2)List属性:该属性是一个字 符型数组,用于存放列表框的表项
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 电子 讲稿
链接地址:https://www.31ppt.com/p-5451978.html