VB编程6.0_选择结构_第1页
VB编程6.0_选择结构_第2页
VB编程6.0_选择结构_第3页
VB编程6.0_选择结构_第4页
VB编程6.0_选择结构_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、VBVB程序设计程序设计选择结构选择结构名茂院1 1学选择结构程序设计选择结构程序设计Visual Basic Visual Basic 程序设计程序设计VBVB程序设计程序设计选择结构选择结构名茂院2 2学本节要点本节要点: : 条件语句条件语句 单行结构条件语句单行结构条件语句 If.Then.ElseIf.Then.Else 块结构条件语句块结构条件语句 If.Then.If.Then.EndIfEndIf 多分支选择语句多分支选择语句 Select Case.End SelectSelect Case.End Select特点特点: : 根据条件是否成立,决定程序的执行分支根据条件是否

2、成立,决定程序的执行分支VBVB程序设计程序设计选择结构选择结构名茂院3 3学例例: : 用辗转相除法写出求两个自然数的最大公约数的算法用辗转相除法写出求两个自然数的最大公约数的算法(1)(1)输入两个自然数输入两个自然数m,n m,n (2)r(2)rm mod n m mod n (3)m(3)mn n;n nr r (4)(4)若若r0 r0 则重复则重复(2)(3)(2)(3)步步 否则输出否则输出mm(最大公约数)最大公约数)1 1 算法及程序设计基础算法及程序设计基础1.1.算法的概念:算法的概念: 广义广义: : 即解决某个问题或处理某件事的方法和步骤即解决某个问题或处理某件事的

3、方法和步骤 狭义狭义: : 专指用计算机解决某一问题的方法和步骤专指用计算机解决某一问题的方法和步骤2.2.算法的特征算法的特征 确定性、可行性、有穷性、输入性、输出性确定性、可行性、有穷性、输入性、输出性3.3.算法的描述算法的描述 广泛使用的是流程图,它使规定的符号来描述算法广泛使用的是流程图,它使规定的符号来描述算法开始开始输入输入m m、n nr = m mod nm = n n = rr0结束结束T输出输出MF输入/输出处理判断开始/结束特定过程流程线连接点:VBVB程序设计程序设计选择结构选择结构名茂院4 4学1. 1. 顺序结构顺序结构 顺序结构是在程序执行时,根据程序中命令、语

4、句的书顺序结构是在程序执行时,根据程序中命令、语句的书写顺序依次执行的命令、语句序列。写顺序依次执行的命令、语句序列。VBVB系统中的大多数命系统中的大多数命令、语句都可以作为顺序结构中的语句成分。令、语句都可以作为顺序结构中的语句成分。2. 2. 分支结构分支结构 分支结构是在程序执行时,根据不同的条件,选择执行分支结构是在程序执行时,根据不同的条件,选择执行不同的命令、语句序列,用来解决有选择、有转移的诸多问不同的命令、语句序列,用来解决有选择、有转移的诸多问题。题。3. 3. 循环结构循环结构 在程序执行时,顺序、分支结构对每个命令、语句只能在程序执行时,顺序、分支结构对每个命令、语句只

5、能执行一次,循环结构则能够使某些命令、语句或命令、语句执行一次,循环结构则能够使某些命令、语句或命令、语句序列重复执行若干次。如果某些命令、语句或命令、语句序序列重复执行若干次。如果某些命令、语句或命令、语句序列需要在一个固定的位置上重复操作,使用循环语句是最好列需要在一个固定的位置上重复操作,使用循环语句是最好的选择。的选择。2 2 程序设计结构程序设计结构VBVB程序设计程序设计选择结构选择结构名茂院5 5学(1 1)顺序结构)顺序结构语句语句1 1语句语句2 2条件条件语句语句1 1语句语句2 2Y YNN(2 2)选择结构)选择结构4: 4: 用传统流程图表示三种基本结构的算法用传统流

6、程图表示三种基本结构的算法VBVB程序设计程序设计选择结构选择结构名茂院6 6学(3 3)循环结构)循环结构a) a) 当型当型循环循环b) b) 直到循环直到循环条件条件语句组语句组Y YNN( b )( b )条件条件( a )( a )Y YNN语句组语句组VBVB程序设计程序设计选择结构选择结构名茂院7 7学【例【例】从从1010个数中选出最大的数的流程图个数中选出最大的数的流程图N10NMaxAMaxMax =AMax =A输入输入A A开始开始再输入给再输入给A AN=N+1N=N+1打印打印MaxMax结束结束Y YNNNNY Y 最后需要最后需要说明的是说明的是: : 流程图流

7、程图是给人看的,即是是给人看的,即是为帮助程序开发人为帮助程序开发人员阅读、编写程序员阅读、编写程序而设计的一种辅助而设计的一种辅助工具,程序则必须工具,程序则必须符一计算机语言的符一计算机语言的语法规则。语法规则。VBVB程序设计程序设计选择结构选择结构名茂院8 8学1.1.赋值语句赋值语句 给变量赋值给变量赋值 格式:变量名格式:变量名= =表达式表达式 设置或获取对象的属性设置或获取对象的属性设置属性值:设置属性值: 对象名对象名. .属性属性= =表达式表达式 获取属性值:变量名对象名获取属性值:变量名对象名. .属性属性 如如: A=“VB: A=“VB程序设计程序设计” Text1

8、.Text=A Text1.Text=A B BText2.TextText2.Text3 3 顺序结构顺序结构顺序结构:各语句按照出现的先后次序依次执行顺序结构:各语句按照出现的先后次序依次执行PrintPrint方法方法 系统提供的交互函数或过程系统提供的交互函数或过程 包括包括赋值语句赋值语句 输入输入/输出输出如如: Dim v As Integer : Dim v As Integer v=26 v=26 v=v+1 v=v+1 book=“VBbook=“VB程序设计程序设计” sum=vsum=v* *123.4+56.7123.4+56.7VBVB程序设计程序设计选择结构选择结

9、构名茂院9 9学 Boolean Boolean 数值型数值型 TrueTrue为为-1-1;FalseFalse为为0 0 Boolean Boolean 数值型数值型 非非0 0为为TrueTrue;0 0为为FalseFalse1.1.赋值语句赋值语句顺序结构:各语句按照出现的先后次序依次执行顺序结构:各语句按照出现的先后次序依次执行 例例: Dim v As Integer : Dim v As Integer Dim book As String Dim book As String* *8 8 Dim sum As Double Dim sum As Double Dim Dim

10、BoolBool As Boolean As Boolean v=26 v=26 v=v+12.3 v=v+12.3 sum=v sum=v* *123.4+56.7 123.4+56.7 v=“126” v=“126” sum=“123ab” sum=“123ab” v=True v=True sum=False sum=False Bool=123 Bool=123 Bool=0 Bool=0注意:注意:(1) (1) 右边表达式的值强制转右边表达式的值强制转 换成左边变量的精度换成左边变量的精度(2) (2) 若不能实现类型转换,若不能实现类型转换, 出现出现“类型不匹配类型不匹配”错错

11、VBVB程序设计程序设计选择结构选择结构名茂院10 10学1.1.赋值语句赋值语句顺序结构:各语句按照出现的先后次序依次执行顺序结构:各语句按照出现的先后次序依次执行注意:注意:(1) (1) 右边表达式的值强制转右边表达式的值强制转 换成左边变量的精度换成左边变量的精度(2) (2) 若不能实现类型转换,若不能实现类型转换, 出现出现“类型不匹配类型不匹配”错错 例例: Dim X As Single : Dim X As Single Dim Y As Single Dim Y As Single Dim Sum As Single Dim Sum As Single X=26 X=26

12、Sin(X)=X+Y Sin(X)=X+Y 5=Sqr(X)+Y 5=Sqr(X)+Y X+Y=126 X+Y=126 X=Y=Sum=1 X=Y=Sum=1 Sum=Sum+1 Sum=Sum+1(3) (3) 赋值号左侧只能出现变量赋值号左侧只能出现变量(4) (4) 一条赋值语句不能同时给一条赋值语句不能同时给 多个变量赋值多个变量赋值(5) (5) 正确理解加正确理解加1 1语句语句Sum 执行了执行了N=N+1后后Sum5 6VBVB程序设计程序设计选择结构选择结构名茂院11 11学题目题目1 1: -1 ( -1 (x0)x0) 1 (x0)开始输入xx0y=-1x=0y=1y=0

13、输出y结束TFFT0.0.引例引例VBVB程序设计程序设计选择结构选择结构名茂院12 12学先对条件测试,根据测试的结果选择执行不同的分支先对条件测试,根据测试的结果选择执行不同的分支1.If1.If条件结构条件结构2.Select Case 2.Select Case 结构结构4 4 选择控制结构选择控制结构3.3.条件函数条件函数VBVB程序设计程序设计选择结构选择结构名茂院13 13学IFIF ThenThen AElseElse End ifEnd if如果条件成立如果条件成立 否则否则 判断结束判断结束1: IF1: IF选择选择块块结构结构(1)(1)标准格式标准格式:(2)(2)

14、执行方式:流程图执行方式:流程图条件表达式条件表达式语句组语句组AT语句组语句组BFEndif之后的语句之后的语句示例示例:If score = 60 Then :If score = 60 Then Print “ Print “祝贺你考试通过!祝贺你考试通过!” Else Else Print “ Print “考试未通过考试未通过.”.” End If End If Print Print 继续努力!继续努力! VBVB程序设计程序设计选择结构选择结构名茂院14 14学Private Sub Command1_Click()Private Sub Command1_Click() sco

15、re = Val( score = Val(InputBoxInputBox(“(“请输入你的成绩:请输入你的成绩:) if score = 60 then if score = 60 thenPrint “Print “你的成绩是:你的成绩是:”;score;”score;”分分”Print “Print “祝贺你考试通过!祝贺你考试通过!” Else Else Print “Print “你的成绩是:你的成绩是:”;score;”score;”分分”Print “Print “对不起你的考试未通过对不起你的考试未通过.”.” EndIfEndIf Print Print 继续努力!继续努力

16、! End SubEnd Sub【例【例1 1】判断你输入的成绩及格否判断你输入的成绩及格否语句组语句组A A语句组语句组B B共同出口共同出口VBVB程序设计程序设计选择结构选择结构名茂院15 15学 闰年闰年: : 若年份能被若年份能被4 4整除但不能被整除但不能被100100整除整除 或年份能被或年份能被400400整除整除, ,则为闰年则为闰年课堂练习课堂练习1 1: : 判断用户从输入框输入的年份是否为闰年判断用户从输入框输入的年份是否为闰年Private Sub Command1_ClickPrivate Sub Command1_Click y = y = valval( (In

17、putBoxInputBox (“ (“请输入年份请输入年份”) ) ) If y Mod 4=0 And y Mod 1000 Or y Mod If y Mod 4=0 And y Mod 1000 Or y Mod 400=0 Then400=0 Then Print y & “ Print y & “年为闰年年为闰年” ElseElse Print y & “ Print y & “年不是闰年年不是闰年” End IfEnd If End sub End subVBVB程序设计程序设计选择结构选择结构名茂院16 16学【例【例2 2】 编制程序实现以下符

18、号函数编制程序实现以下符号函数: : -1 (x0) -1 (x0) 1 (x0)Private Sub Command1_Click()Private Sub Command1_Click()x = Val(Text1.Text)x = Val(Text1.Text)If If x 0 x 0 ThenThen y = -1 y = -1ElseElse If If x = 0 x = 0 ThenThen y = 0 y = 0 ElseElse y = -1 y = -1 End IfEnd IfEnd IfEnd IfText2.Text=yText2.Text=yEnd SubEnd

19、 SubVBVB程序设计程序设计选择结构选择结构名茂院17 17学IF Then Else End if如果条件成立如果条件成立 否则否则 判断结束判断结束2: IF2: IF选择块结构选择块结构的变体的变体1 1(1) 格式:格式:(2)执行方式:流程图执行方式:流程图条件表达式条件表达式语句组语句组AT语句组语句组BFEndif之后的语句之后的语句示例:示例: If score = 60 Then Print “祝贺你考试通过!祝贺你考试通过!” Else Print “考试未通过考试未通过.” End If Print 继续努力!继续努力!VBVB程序设计程序设计选择结构选择结构名茂院1

20、8 18学【例【例3 3】从键盘上输入两个整数从键盘上输入两个整数a a和和b b,并按从小到大输出。,并按从小到大输出。Private Sub Command1_Click()Private Sub Command1_Click() a = Val( a = Val(InputBoxInputBox(请输入一个正整数请输入一个正整数a)a) b = Val( b = Val(InputBoxInputBox(请输入一个正整数请输入一个正整数b)b) If ab then If ab thenPrint Print b,ab,a Else ElsePrint Print a,ba,b Endi

21、fEndifEnd SubEnd SubIf a b ThenIf a b Then t = a t = a a = b a = b b = t b = tEnd IfEnd IfPrint Print a,ba,bIf a b ThenIf a b Then t = a t = a a = b a = b b = t b = tEnd IfEnd IfPrint Print a,ba,bVBVB程序设计程序设计选择结构选择结构名茂院19 19学3: IF3: IF选择块结构选择块结构的变体的变体2 2【例【例4 4】已知百分制成绩已知百分制成绩scorescore,显示对应的五级制成绩优良中

22、及格不及格显示对应的五级制成绩优良中及格不及格Private Sub Command1_Click()Private Sub Command1_Click() score=Valscore=Val( (inputboxinputbox(“(“成绩:成绩:”) ) If If score = 90 Then score = 90 Then Print Print 优优 Else Else If If score = 80 Then score = 80 Then Print Print 良良 Else Else If If score = 70 Then score = 70 Then Prin

23、t Print 中中 Else Else If If score = 60 Then score = 60 Then Print Print 及格及格 Else Else Print Print 不及格不及格 End IfEnd If End if End if End if End if End if End ifEnd subEnd subPrivate Sub Command1_Click()Private Sub Command1_Click() score=Valscore=Val( (inputboxinputbox(“(“成绩:成绩:”) ) If If score = 90 T

24、hen score = 90 Then Print Print 优优 ElseIfElseIf score = 80 Then score = 80 Then Print Print 良良 ElseIfElseIf score = 70 Then score = 70 Then Print Print 中中 ElseIfElseIf score = 60 Then score = 60 Then Print Print 及格及格 Else Else Print Print 不及格不及格 End IfEnd IfEnd subEnd subVBVB程序设计程序设计选择结构选择结构名茂院2020学

25、If If变体格式变体格式: :If If 1 ThenThen 1 ElseIfElseIf 2 ThenThen 2 ElseIfElseIf ThenN Then NElseElse End IfEnd If注意注意: : 格式书写、嵌套格式书写、嵌套ElseElse子句子句ElseIfElseIf子句子句If If语句语句End IfEnd If语句语句ElseIfElseIf子句子句VBVB程序设计程序设计选择结构选择结构名茂院21 21学【例【例5 5】输入华氏温度输入华氏温度F F,转换成摄氏温度转换成摄氏温度C C并显示并显示转换公式:转换公式:C=5/9C=5/9* *(F-

26、32)(F-32)提示信息:提示信息:Text2Text2 Text1Text1C40 C40 时,打印时,打印“高温高温 30C40 30C40 时,打印时,打印“ 热热 20C30 20C30 时,打印时,打印“ 舒适舒适 10C20 10C20 时,打印时,打印“凉爽凉爽 0C10 0 40C 40 ThenThen Label2.Caption = “ Label2.Caption = “高温高温” ” ElseIfElseIf C 30C 30 ThenThen Label2.Caption = “ Label2.Caption = “热热” ” ElseIfElseIf C 20C

27、 20 Then Then Label2.Caption = “ Label2.Caption = “舒适舒适” ” ElseIfElseIf C 10C 10 Then Then Label2.Caption = “ Label2.Caption = “凉爽凉爽” ” ElseIfElseIf C 0C 0 Then Then Label2.Caption =“ Label2.Caption =“冷冷” ” Else Else Label2.Caption = “ Label2.Caption = “冰冻冰冻” ” End IfEnd IfEnd Sub End Sub End If End

28、 If 之间必须有空格之间必须有空格IfThen IfThen 和和ElseIfElseIfThenThen必须书写在同一行必须书写在同一行ElseIfElseIf 之间不之间不允许有允许有空格空格VBVB程序设计程序设计选择结构选择结构名茂院2323学【例【例6 6】已知百分制成绩已知百分制成绩markmark,显示对应的五级制成绩哪些,显示对应的五级制成绩哪些 正确,哪些错误?正确,哪些错误?VBVB程序设计程序设计选择结构选择结构名茂院2424学4: IF4: IF单行单行选择语句选择语句(1). (1). 基本格式基本格式 If If ThenThen 语句组语句组A A ElseEl

29、se 语句组语句组BB(2). (2). 执行方式:流程图执行方式:流程图条件表达式条件表达式语句组语句组A AT T语句组语句组B BF Fif if之后的语句之后的语句示例:示例:If score = 60 Then Print “If score = 60 Then Print “通过!通过!” Else Print “Else Print “未通过未通过.”.” Print Print 继续努力!继续努力! 注:此语句没有注:此语句没有End ifEnd ifVBVB程序设计程序设计选择结构选择结构名茂院2525学【例【例7 7】从键盘上输入两个整数,并按从小到大输出。从键盘上输入两个

30、整数,并按从小到大输出。Private Sub Command1_Click()Private Sub Command1_Click() a = Val( a = Val(InputBoxInputBox(请输入一个正整数请输入一个正整数a)a) b = Val( b = Val(InputBoxInputBox(请输入一个正整数请输入一个正整数b)b) If a b ThenIf a b Then t = a: a = b: b = t t = a: a = b: b = t End If End If Print a , bPrint a , bEnd SubEnd SubIf a b T

31、hen t = a: a = b: b = tIf a b Then t = a: a = b: b = tVBVB程序设计程序设计选择结构选择结构名茂院2626学5 5: : 多分支选择语句多分支选择语句 Select CaseSelect Case(1): (1): 基本格式:基本格式:SelectSelect CaseCase Case Case 1 1 Case Case 2 2 Case ElseCase Else nEnd SelectEnd Select功能功能: :根据测试表达式的值根据测试表达式的值, ,按顺按顺序匹配序匹配CaseCase后的表达式后的表达式, ,如果匹配成

32、功如果匹配成功, ,则执行该则执行该CaseCase下的语句块下的语句块, ,然后转然后转到到End SelectEnd Select语句之后语句之后继续执行继续执行说明说明: :测试表达式测试表达式u数值表达式数值表达式u字符表达式字符表达式注注: :各个各个CaseCase子句是子句是“互斥互斥”,即只有一个子句满足要求,即只有一个子句满足要求VBVB程序设计程序设计选择结构选择结构名茂院2727学CaseCase(后面的)表达式:后面的)表达式:表达式表达式1,1,表达式表达式2.2. 例如例如: : Case 1 , 3 , 5Case 1 , 3 , 5表达式表达式1 1 TOTO

33、表达式表达式2 2例如例如: : Case 10 TO 30Case 10 TO 30 Case A TO ZCase A TO ZIsIs 例如例如: : Case Is = 10Case Is = 10 Case Is = 0Case Is = 0注意注意: : 测试表达式类型应与测试表达式类型应与CaseCase表达式类型一致,且三种形式可表达式类型一致,且三种形式可以混用,如以混用,如: : Case Case Is -5 , 0 , 5 To 100Is ”0” Case is”0” Print “ Print “可能是数字字符可能是数字字符 End SelectEnd Select

34、Case is=“0” Case is=“0” andand is=“9” is=“9” ( (不能用不能用not not 、and and 、 or)or)VBVB程序设计程序设计选择结构选择结构名茂院2828学Y=Y=e ex x+e+e-x-x x0 x0 x0X = Val(Text1.Text)X = Val(Text1.Text)Select Case Select Case X X Case Case Is 0Is 0Is 0 Y = Log(X) / Log(10) Y = Log(X) / Log(10)End SelectEnd SelectPrint Y=; YPrint

35、 Y=; YX = Val(Text1.Text)X = Val(Text1.Text)Select Case Select Case X XCase Case X 0X 0X 0 Y = Log(X) / Log(10) Y = Log(X) / Log(10)End SelectEnd SelectPrint Y=; YPrint Y=; Y【例【例8 8】求函数求函数Y Y的值的值VBVB程序设计程序设计选择结构选择结构名茂院2929学5 5 应用举例应用举例【例【例9 9】设计一个口令检测程序,界面如下图,当用户输入的设计一个口令检测程序,界面如下图,当用户输入的口令正确时,显示口令正

36、确时,显示“恭喜!,您已成功进入本系统恭喜!,您已成功进入本系统”,否则,否则,显示,显示,“口令错!,请重新输入口令错!,请重新输入”。如果连续。如果连续两次输入了两次输入了错误错误口令,在第三次输入完口令后则显示一个消息框,提示口令,在第三次输入完口令后则显示一个消息框,提示“对不起对不起, ,您不能使用本系统您不能使用本系统”,然后退出整个应用程序。,然后退出整个应用程序。Text1Text1Label2Label2VBVB程序设计程序设计选择结构选择结构名茂院3030学Private Sub Text1_Private Sub Text1_KeyUpKeyUp( (KeyCodeKey

37、Code As Integer, Shift _ As Integer, Shift _ As Integer) As Integer) Static i As IntegerStatic i As Integer 保存输入错误口令的次数保存输入错误口令的次数 i=0i=0 If If KeyCodeKeyCode = 13 = 13 Then Then 如果按下的键为回车键如果按下的键为回车键 If If UCaseUCase(Text1.Text) = HELLO Then (Text1.Text) = HELLO Then Label2.Caption = Label2.Caption

38、= 恭喜恭喜!, !,您已成功进入本系统您已成功进入本系统 ElseIfElseIf i = 1 Then i 0-4ac0, 则有两个不等的实根则有两个不等的实根 b b2 2-4ac0-4ac 0Is 0 X1 = (-B + X1 = (-B + SqrSqr(Delta) / (2 (Delta) / (2 * * A) A) X2 = (-B - X2 = (-B - SqrSqr(Delta) / (2 (Delta) / (2 * * A) A) Print X1=; X1, X2=; X2 Print X1=; X1, X2=; X2 Case Is 0Case Is =A And ) =A And UcaseUcase ( (strCstrC) =Z Then ) =0 And =0 And strCstrC =9 Then =9 Then Print Print strCstrC + + 是数字字符是数字字符 Else Else Print Print strCstrC + + 其他字符其他字符 End If End If用用Select CaseSelect Case语句实现语句实现: : Select Case Select Case strCstrCCase a To zCase a To z,A To ZA To

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论