VisualBasic控制结构.ppt

上传人:牧羊曲112 文档编号:6523034 上传时间:2023-11-08 格式:PPT 页数:36 大小:816KB
返回 下载 相关 举报
VisualBasic控制结构.ppt_第1页
第1页 / 共36页
VisualBasic控制结构.ppt_第2页
第2页 / 共36页
VisualBasic控制结构.ppt_第3页
第3页 / 共36页
VisualBasic控制结构.ppt_第4页
第4页 / 共36页
VisualBasic控制结构.ppt_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《VisualBasic控制结构.ppt》由会员分享,可在线阅读,更多相关《VisualBasic控制结构.ppt(36页珍藏版)》请在三一办公上搜索。

1、第7章 VisualBasic控制结构,主讲教师:刘潇(计科系),本章讨论Visual Basic中除顺序结构之外的流程控制语句,包括选择结构、多分支结构及循环结构语句。,目录,7.1 选择控制结构,If.Then语句,格式:If 条件 Then语句 或 If 条件 Then 语句块 End If,功能:如果条件成立(值为真),则执行Then后面的语句或语句块,否则直接执行下一条语句或“End If”的下一条语句。,7.1 选择控制结构,编写一段代码实现:单击窗体,在弹出的输入对话框中输入成绩(CJ)数值,当成绩(CJ60时),显示“成绩不及格”,换行显示“请参加补考”。,Private Su

2、b Form_Click()CJ=Val(InputBox(请输入成绩数值:,成绩判断)If CJ 60 Then Print 成绩不及格 Print 请参加补考End IfEnd Sub,7.1 选择控制结构,If.Then.Else语句,格式:If 条件 Then 语句块1(A)Else 语句块2(B)End If,功能:首先测试条件,当条件成立时,执行语句块1;当条件不成立时,执行语句块2。执行完语句块2之后,执行“End If”之后的语句。,7.1 选择控制结构,输入三个数:a、b、c,求出其中最大数。,Private Sub Command1_Click()Dim a As Sing

3、le,b As SingleDim c As Single,m As Singlea=Val(Text1.Text)b=Val(Text2.Text)c=Val(Text3.Text)If a b Then m=bElse m=aEnd If If m c Then m=c Text4.Text=mEnd Sub,7.1 选择控制结构,IIf函数,格式:result=IIf(条件,True部分,False部分),功能:当“条件”为真时,IIf函数返回“True部分”,而当“条件”为假时返回“False部分”。,例如:将a、b中的小数,放在Min变量中。Min=IIf(ab,a,b),7.1 选

4、择控制结构,ElseIf格式,格式:If 条件1Then 语句块1 ElseIf 条件2Then 语句块2 ElseIf 条件3Then 语句块3.Else 语句块n End If,功能?,7.1 选择控制结构,输入学生成绩(百分制),判断该成绩的等级(优良、及格、不及格),Private Sub Command1_Click()Dim score As Integer,temp As Stringscore=Val(Text1.Text)temp=成绩等级为:If score 0 Then Label2.Caption=成绩出错ElseIf score 60 Then Label2.Capt

5、ion=temp+不及格ElseIf score=79 Then Label2.Caption=temp+及格ElseIf score=100 Then Label2.Caption=temp+优良Else Label2.Caption=成绩出错End IfEnd Sub,7.2 多分支控制结构,Select Case语句,格式:Select Case测试表达式 Case表达式表列1 语句块1 Case 表达式表列2 语句块2.Case Else 语句块n End Select,功能:先计算表达式的值,然后将该值依次与结构中的每个Case值进行比较,如果该值符合某个Case指定的值条件时,就执

6、行该Case的语句块,然后跳到End Select,从End Select出口。如果没有相符合的Case值,则执行Case Else中的语句块。,三种写法:Case 1,3,5Case 60 To 80Case Is50,7.2 多分支控制结构,输入学生成绩(百分制),判断该成绩的等级(优良、及格、不及格),Private Sub Command1_Click()Dim score As Integer,temp As Stringscore=Val(Text1.Text)temp=成绩等级为:Select Case score Case 0 to 59 Label2.Caption=temp

7、+不及格 Case 60 to 79 Label2.Caption=temp+及格 Case 80 to 100 Label2.Caption=temp+优良 Case Else Label2.Caption=成绩出错End SelectEnd Sub,7.2 多分支控制结构,输入两个运算数和运算符(+、-、*、/),组成算式并计算结果,然后显示出来。,Private Sub Command1_Click()Dim a As Single,b As Single,t As Single,s As Stringa=Val(Text1.Text)b=Val(Text2.Text)Select Ca

8、se True Case Option1.Value s=+:t=a+b Case Option2.Value s=-:t=a-b Case Option3.Value s=*:t=a*b Case Option4.Value s=/:t=a/bEnd SelectText3.Text=a&s&b&=&tEnd Sub,7.3 For循环控制结构,For.Next循环语句,格式:For 循环变量=初值 To终值Step步长值 循环体 Next 循环变量,功能:本语句指定循环变量取一系列数值,并且对循环变量的每一个值把循环体执行一次。初值、终值和步长值都是数值表达式步长值为正数时,为递增循环;反

9、之,为递减循环。若步长值为1,则Step1可以省略。,7.3 For循环控制结构,求S=1+2+3+4+98+99+100采用Print在窗体上直接输出结果,Private Sub Form_Load()Show s=0 For k=1 To 100 s=s+k Next Print s=;sEnd Sub,结果:s=5050,7.3 For循环控制结构,求T=8!=12348采用Print在窗体上直接输出结果,Private Sub Form_Load()Show t=1 For c=1 To 8 t=t*c Next Print T=;tEnd Sub,结果:T=40320,7.4 当循环

10、控制结构,While.Wend循环语句,格式:While 条件 循环体 Wend,功能:当条件成立时,执行循环体;当条件不成立时,终止循环。与For循环的区别:For:对循环体执行指定的次数;While:在指定的条件为True时重复一语句序列(循环体)的执行。,7.4 当循环控制结构,求T=8!=12348采用Print在窗体上直接输出结果采用While.Wend循环语句,Private Sub Form_Load()Dim c As IntegerShow t=1 c=1 While c=8 t=t*c c=c+1 Wend Print T=;tEnd Sub,结果:T=40320,7.5

11、Do循环控制结构,Do.Loop循环语句,格式1:Do While|Until 条件 循环体 Loop,功能:当指定的“循环条件”为真或直到指定的“循环条件”变为真之前,重复执行循环体,格式2:Do 循环体 Loop While|Until条件,7.5 Do循环控制结构,DoLoop Until循环逻辑框图,DoLoop While循环逻辑框图,7.5 Do循环控制结构,Do UntilLoop循环逻辑框图,Do WhileLoop循环逻辑框图,7.5 Do循环控制结构,求 S12+22+1002 采用Do While.Loop语句采用Print直接在窗体上输出结果,程序代码,Private

12、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=;sEnd Sub,程序运行结果:S338350,7.5 Do循环控制结构,输入两个正整数,求它们的最大公约数用“辗转相除法”算法:求出m/n余数p,若p0,n即为最大公约数;若p非0,则把原来的分母n作为新的分子m,把余数p作为新的分母n继续求解。,Private Sub command1_click()Dim m As Integer,n As Integer,p As Integer m=Val(

13、Text1.Text)n=Val(Text2.Text)If m 0 Text3.Text=mEnd Sub,补充:循环控制结构,循环出口语句格式:Exit For|Do 功能:直接从For循环或Do循环中退出 当程序运行时遇到Exit语句时,就不再执行循环体中的任何语句而直接退出,转到循环语句(Next、Loop)的下面继续执行,补充:循环控制结构,设计一个“加法器”程序,把每次输入的数累加。当输入-1时结束程序的运行。,Private Sub Form_load()Dim x As Single,Sum As Single Show Sum=0 Do While True x=Val(In

14、putBox(“请输入要加入的数 _(-1表示结束),输入数据)If x=-1 Then Exit Do End If Sum=Sum+x Text1.Text=Sum Loop MsgBox 累加运算结束“End Sub,7.6 多重循环,多重循环程序示例,Private Sub Form_load()Show For i=1 To 3 外循环 For j=5 To 7 内循环 Print i,j Next j Next iEnd Sub,多重循环是指循环体内含有循环语句的循环注意内、外循环层次要分清,不能交叉。,程序运行结果:15 16 17 25 26 27 35 36 37,7.6 多

15、重循环,编一程序,输出下列所示的图形。,本例可采用两重循环来实现。外循环控制输出7行,内循环控制每行输出要求的字符数。在进入内循环之前,使用Print Tab()来对起始输出位置定位,退出内循环后,使用Print来控制换行。,7.6 多重循环,编一程序,输出下列所示的图形。,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 iEnd Sub,7.7 GoTo型控制,7.7.1 GoTo语句,GoTo语句,格式:GoTo 行号|标号

16、,功能:改变程序的执行顺序,跳转到程序中指定的行开始执行,7.7 GoTo型控制,7.7.2 OnGoTo语句,On.GoTo语句,格式:On 数值表达式 GoTo 行号表|标号表,功能:根据“数值表达式”的值,控制转移到几个指定的语句行中的一个语句行。类似于Select.End Select语句。,思考与练习,课本第164页第7章习题(共15道),思考与练习,7.1输入三个数,将它们从大到小排序。,思考与练习,7.2设计一个程序,找出100800范围内所有能同时被3和8整除的自然数,显示在列表框中。,思考与练习,7.3设计一个选课程序,思考与练习,7.4计算运费 运输部门的货物运费与里程有关,距离越远,每吨货物的单价就越低。假定每吨单价p(元)和距离s(公里)之间的关系如下所示:请编写程序,从键盘上输入要托运的货物重量w(吨),然后计算并输出总运费t(元)。计算公式为:t=pws,祝同学们学业进步!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号