林卓然VB教程课件循环结构第5章教案.ppt
《林卓然VB教程课件循环结构第5章教案.ppt》由会员分享,可在线阅读,更多相关《林卓然VB教程课件循环结构第5章教案.ppt(55页珍藏版)》请在三一办公上搜索。
1、1,第5章,循环结构程序设计,2,采用循环程序可以解决一些按一定规则重复执行的问题。例如,统计一个班几十名学生,甚至全校几千名学生的学期成绩,如求平均分、不及格人数等 本章主要内容,第5章 循环结构程序设计,Do.Loop,For.Next,退出,循环出口语句(Exit),循环语句,多重循环,列表框与组合框,常用算法,程序举例,3,循环是指在指定的条件下多次重复执行一组语句 被重复执行的一组语句称为循环体 VB提供的循环语句有 For.Next Do.Loop While.Wend For Each.Next 最常用的是For.Next和Do.Loop语句,4,For.Next循环主要是用在知
2、道循环次数的情况下;若事先不知道循环次数,可以使用当型循环Do.Loop 1.For.Next循环语句(计数控制)For 循环变量初值 To 终值 Step 步长值 循环体 Next 循环变量 2.Do While.Loop语句(条件控制)Do While|Until 条件 循环体 Loop,5.1 循环语句 示例 求S=1+2+3+8,s=0 For k=1 To 8 s=s+k Next k Print s=;s 程序运行结果如下:s36,n=1:s=0 Do While n=8 s=s+n n=n+1 Loop Print s=;s,例5.2,K为循环变量,专设变量n来控制循环,5,例5
3、.2 求S=1+2+3+8,把结果显示在窗体上。s=0 累加器初值为0 For k=1 To 8 s=s+k 累加器,在原有和的基础上每次加一个数 Next k Print s=;s 程序执行结果是:s36 分析,6,算法:通常采用重复运算来解决问题 累加、累乘等 如用级数/41-1/3+1/5-1/7+来求设置循环变量 使每次运算变量值有所不同控制循环 计数控制或条件控制,循环结构程序的实现,求 S=1+2+3+8 s=0 For k=1 To 8 s=s+k Next k Print s=;s 把长式子改为8次加,7,采用Print直接在窗体上输出结果,程序代码:Private Sub F
4、orm_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.3 求T=8!=1238,例5.3,8,例5.3 T=8!=123 8,把结果显示在网页上。t=1 累乘器初值为 For c=1 To 8 t=t*c 累乘器,在原有积的基础上每次乘一个数 Next c Print T=;t 程序执行结果是:T40320 分析,9,采用Print直接在窗体上输出结果,程序代码如下:Private Su
5、b 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项来进行计算),例5.4,10,For t=1 To 3 If t=1 Then a=3 If t=2 Then a=2 If t=3 Then a=1 Print a;Next t P
6、rint t A.3 3 3 3 B.1 2 3 4 C.3 2 1 4 D.1 1 1 4,下列程序的运行结果是?,想一想,思考题,D,11,For t=1 To 3 If t=1 Then a=3 If t=2 Then a=2 If t=3 Then a=1 Print a;Next t Print t A.3 3 3 4 B.1 2 3 4 C.3 2 1 4 D.1 1 1 4,下列程序的运行结果是?,想一想,思考题,C,12,运行下面程序后,循环体执行了_次。i=0:n=1 Do While i 32 i=(i+1)*(i+1)n=n+1 Loop Print n A.2 B.3
7、C.4 D.5,请回答问题,想一想,思考题,C,13,s=ABCDEFGHIJ:c=For k=2 To Len(s)Step 3 a=Mid(s,k)c=c+Left(a,1)Next k Print c A.BDF B.CFI C.BEH D.BEI,下列程序的运行结果是?,想一想,思考题,C,14,5.1.2 DoLoop循环语句,前测型DoLoop循环 语句格式:DoWhile|Until条件 循环 Loop说明:Do whileLoop:当条件成立时,执行循环体,当条件不成立的时候,终止循环.Do UntilLoop:当条件不成立时,执行循环体,直到条件成立时,终止循环.,15,采用
8、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.5 求 S12+22+1002,例5.5,16,后测型DoLoop循环,语句格式:Do 循环 Loop While|Until条件说明:先执行循环体,然后判断条件,根据条件决定是否继续执行循环体。本语句执行循环的次数最少为1,而前测型语句的最少次数为0,
9、17,用上述公式求/4的近似值,即逐项进行累加,直到某项 1/n*(1/2 n+1/3 n)=10(-5)逐项累加的条件,累加到t10(-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,例5.6 用 级数,求的近似值。当最后一项的绝对值小于10-5时,停止计算,例5.6,18,“辗转相除法”算法:求出m/n余数p,若p0,n即为最大公约数;若p非0,则把原来的分母n作为新的分子m,把余数p作为新的分母n继续求解 设计步骤
10、如下:(1)创建应用程序的用户界面和设置对象属性,例5.7 输入两个正整数,求它们的最大公约数,例5.7,19,编写的“计算”按钮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,则运行结果如上图,20,语句格式:While 条件 循环体 Wend 功能:当条件成立(为真)时,执行循环体;当条件不成立(为假)时,终止循环
11、。本语句与上述Do While.Loop循环语句相似,其差别是:While.Wend语句中不能使用Exit语句跳出循环。,5.1.3 While.Wend循环语句,21,用于提前退出循环 格式:Exit For|Do功能:直接从For循环或Do循环中退出 当程序运行时遇到Exit语句时,就不再执行循环体中的任何语句而直接退出,转到循环语句(Next、Loop)的下面继续执行,5.1.4 循环出口语句,22,把每次输入的数累加。当输入-1时结束程序的运行创建应用程序的用户界面和设置对象属性 编写程序代码 Private Sub Form_Load()Show Sum=0 Do While Tru
12、e 条件为真,循环无终止进行下去 x=Val(InputBox(请输入要加入的数(-1表示结束),输入数据)If x=-1 Then Exit Do End If Sum=Sum+x Text1.Text=Sum Loop MsgBox(累加运算结束)End Sub 以-1作为“终止循环标志”,例5.8 设计一个“加法器”程序,例5.8,23,多重循环是指循环体内含有循环语句的循环 例5.9 多重循环程序示例 程序运行结果 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,
13、j 2 6 Next j 2 7 Next i 3 5 End Sub 3 6 3 7 注意内、外循环层次要分清,不能交叉,5.2 多 重 循 环,例5.9,24,本例可采用两重循环来实现。外循环控制输出7行,内循环控制每行输出要求的字符数。在进入内循环之前,使用Print Tab()来对起始输出位置定位,退出内循环后,使用Print来控制换行。,例5.10 编一程序,输出下列所示的图形,例5.10,25,采用Print直接在窗体上输出结果,程序代码如下:Private Sub Form_Load()Show For i=1 To 7 Print Tab(10-i);For j=1 To 2*
14、i-1 Print Chr(i+48);Next j Print Next i End Sub Print Chr(i+48)与Print i有所不同,26,(1)分析:设一元硬币为a枚,二元硬币为b枚,五元硬币为c枚,可列出方程 a+b+c=10 a+2b+5c=25采用两重循环,外循环变量a从010,内循环变量b从010(2)创建应用程序的用户界面,例5.11 取一元、二元、五元的硬币共十枚,付 给25元钱,有多少种不同的取法?,例5.11,27,(3)编写程序代码 程序通过Print方法把处理结果输出在标签的下方。Private Sub Form_Load()Show CurrentX=
15、0:CurrentY=1500 确定开始显示的坐标 Print,五元,二元,一元 n=0 记录解的组数 For a=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,28,执行下列程序段后,变量t 的值是_。t=0 For x=2 To 3 n=1 Do While n=x t=t+n n=n+1 Loop Next x A.8 B.9 C.10D.11,请回答问题,想一想,思考题,B,29,请回答问题,想一想,思考题,显示结果为:
16、16,执行下列程序段后,显示的结果是_ s=0 For m=1 To 4 Step 2 n=1 Do While n=m s=s+n n=n+1 Loop Next m Print s+m+n,例5.12a,30,5.3 列表框与组合框,列表框和组合框都能为用户提供若干个选项,供用户从中任意选择 5.3.1 列表框(ListBox)List属性:字 符型数组,存放列表框的表项 数组的下标从0开始。例如,List1.List(0)的值为“教授”,List1.List(1)的值为“副教授”。ListCount属性:表项数目 Text属性:当前选定表项的文本内容 ListIndex属性:返回已选定表
17、项的顺序号(索引)。若未选定任何项,则ListIndex的值为-1 Selected属性:逻辑型数组,表示列表框中某一表项是否被选中,例5.12b,31,假设列表框List1中有四个表项,并已选定第2项,则 有:List1.ListIndex 为1 List1.Text的值为”副教授”List1.Selected(1)为True,32,方法(1)AddItem方法:用于把一个列表项加入列表框 格式:对象.AddItem 列表项,索引 举例:List1.AddItem 海南省,28(2)Clear方法:用于清除列表框中的所有项目(3)RemoveItem方法:用于删除指定的列表项 采用以下方法,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 卓然 VB 教程 课件 循环 结构 教案
链接地址:https://www.31ppt.com/p-5634593.html