您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > VB编程60_选择结构
VB程序设计——选择结构名茂院学选择结构程序设计VisualBasic程序设计VB程序设计——选择结构名茂院学本节要点:条件语句单行结构条件语句If...Then...Else块结构条件语句If...Then...EndIf多分支选择语句SelectCase...EndSelect特点:根据条件是否成立,决定程序的执行分支VB程序设计——选择结构名茂院学例:用辗转相除法写出求两个自然数的最大公约数的算法(1)输入两个自然数m,n(2)r=mmodn(3)m=n;n=r(4)若r≠0则重复(2)(3)步否则输出m(最大公约数)§1算法及程序设计基础1.算法的概念:•广义:即解决某个问题或处理某件事的方法和步骤•狭义:专指用计算机解决某一问题的方法和步骤2.算法的特征•确定性、可行性、有穷性、输入性、输出性3.算法的描述•广泛使用的是流程图,它使规定的符号来描述算法开始输入m、nr=mmodnm=nn=rr≠0结束T输出MF输入/输出处理判断开始/结束特定过程流程线连接点图形符号:VB程序设计——选择结构名茂院学1.顺序结构顺序结构是在程序执行时,根据程序中命令、语句的书写顺序依次执行的命令、语句序列。VB系统中的大多数命令、语句都可以作为顺序结构中的语句成分。2.分支结构分支结构是在程序执行时,根据不同的条件,选择执行不同的命令、语句序列,用来解决有选择、有转移的诸多问题。3.循环结构在程序执行时,顺序、分支结构对每个命令、语句只能执行一次,循环结构则能够使某些命令、语句或命令、语句序列重复执行若干次。如果某些命令、语句或命令、语句序列需要在一个固定的位置上重复操作,使用循环语句是最好的选择。§2程序设计结构VB程序设计——选择结构名茂院学(1)顺序结构语句1语句2条件语句1语句2YN(2)选择结构4:用传统流程图表示三种基本结构的算法VB程序设计——选择结构名茂院学(3)循环结构a)当型循环b)直到循环条件语句组YN(b)条件(a)YN语句组VB程序设计——选择结构名茂院学【例】从10个数中选出最大的数的流程图N10Max=AN=1AMaxMax=A输入A开始再输入给AN=N+1打印Max结束YNNY※最后需要说明的是:流程图是给人看的,即是为帮助程序开发人员阅读、编写程序而设计的一种辅助工具,程序则必须符一计算机语言的语法规则。VB程序设计——选择结构名茂院学1.赋值语句⑴给变量赋值格式:变量名=表达式⑵设置或获取对象的属性设置属性值:[对象名.]属性=表达式获取属性值:变量名=对象名.属性如:A=“VB程序设计”Text1.Text=AB=Text2.Text§3顺序结构顺序结构:各语句按照出现的先后次序依次执行Print方法系统提供的交互函数或过程包括赋值语句输入/输出如:DimvAsIntegerv=26v=v+1book=“VB程序设计”sum=v*123.4+56.7VB程序设计——选择结构名茂院学•Boolean数值型True为-1;False为0•Boolean数值型非0为True;0为False1.赋值语句顺序结构:各语句按照出现的先后次序依次执行例:DimvAsIntegerDimbookAsString*8DimsumAsDoubleDimBoolAsBooleanv=26v=v+12.3sum=v*123.4+56.7v=“126”sum=“123ab”v=Truesum=FalseBool=123Bool=0注意:(1)右边表达式的值强制转换成左边变量的精度(2)若不能实现类型转换,出现“类型不匹配”错VB程序设计——选择结构名茂院学1.赋值语句顺序结构:各语句按照出现的先后次序依次执行注意:(1)右边表达式的值强制转换成左边变量的精度(2)若不能实现类型转换,出现“类型不匹配”错例:DimXAsSingleDimYAsSingleDimSumAsSingleX=26Sin(X)=X+Y5=Sqr(X)+YX+Y=126X=Y=Sum=1Sum=Sum+1(3)赋值号左侧只能出现变量(4)一条赋值语句不能同时给多个变量赋值(5)正确理解加1语句Sum执行了N=N+1后Sum56VB程序设计——选择结构名茂院学题目1:-1(x0)y=0(x=0)1(x0)开始输入xx0y=-1x=0y=1y=0输出y结束TFFT0.引例VB程序设计——选择结构名茂院学先对条件测试,根据测试的结果选择执行不同的分支1.If条件结构2.SelectCase结构§4选择控制结构3.条件函数VB程序设计——选择结构名茂院学IF条件表达式Then语句组AElse语句组BEndif如果条件成立语句组A否则语句组B判断结束1:IF选择块结构(1)标准格式:(2)执行方式:流程图条件表达式语句组AT语句组BFEndif之后的语句示例:Ifscore=60ThenPrint“祝贺你考试通过!”ElsePrint“考试未通过.”EndIfPrint继续努力!VB程序设计——选择结构名茂院学PrivateSubCommand1_Click()score=Val(InputBox(“请输入你的成绩:))ifscore=60thenPrint“你的成绩是:”;score;”分”Print“祝贺你考试通过!”ElsePrint“你的成绩是:”;score;”分”Print“对不起你的考试未通过.”EndIfPrint继续努力!EndSub【例1】判断你输入的成绩及格否语句组A语句组B共同出口VB程序设计——选择结构名茂院学闰年:若年份能被4整除但不能被100整除或年份能被400整除,则为闰年课堂练习1:判断用户从输入框输入的年份是否为闰年PrivateSubCommand1_Clicky=val(InputBox(“请输入年份”))IfyMod4=0AndyMod1000OryMod400=0ThenPrinty&“年为闰年”ElsePrinty&“年不是闰年”EndIfEndsubVB程序设计——选择结构名茂院学【例2】编制程序实现以下符号函数:-1(x0)y=0(x=0)1(x0)PrivateSubCommand1_Click()x=Val(Text1.Text)Ifx0Theny=-1ElseIfx=0Theny=0Elsey=-1EndIfEndIfText2.Text=yEndSubVB程序设计——选择结构名茂院学IF条件表达式Then语句组AElse语句组BEndif如果条件成立语句组A否则语句组B判断结束2:IF选择块结构的变体1(1)格式:(2)执行方式:流程图条件表达式语句组AT语句组BFEndif之后的语句示例:Ifscore=60ThenPrint“祝贺你考试通过!”ElsePrint“考试未通过.”EndIfPrint继续努力!VB程序设计——选择结构名茂院学【例3】从键盘上输入两个整数a和b,并按从小到大输出。PrivateSubCommand1_Click()a=Val(InputBox(请输入一个正整数a))b=Val(InputBox(请输入一个正整数b))IfabthenPrintb,aElsePrinta,bEndifEndSubIfabThent=aa=bb=tEndIfPrinta,bIfabThent=aa=bb=tEndIfPrinta,bVB程序设计——选择结构名茂院学3:IF选择块结构的变体2【例4】已知百分制成绩score,显示对应的五级制成绩优良中及格不及格PrivateSubCommand1_Click()score=Val(inputbox(“成绩:”))Ifscore=90ThenPrint优ElseIfscore=80ThenPrint良ElseIfscore=70ThenPrint中ElseIfscore=60ThenPrint及格ElsePrint不及格EndIfEndifEndifEndifEndsubPrivateSubCommand1_Click()score=Val(inputbox(“成绩:”))Ifscore=90ThenPrint优ElseIfscore=80ThenPrint良ElseIfscore=70ThenPrint中ElseIfscore=60ThenPrint及格ElsePrint不及格EndIfEndsubVB程序设计——选择结构名茂院学If变体格式:If条件1Then[语句组1][ElseIf条件2Then[语句组2]]……[ElseIf条件NThen[语句组N]][Else[其他语句组]]EndIf注意:格式书写、嵌套Else子句ElseIf子句If语句EndIf语句ElseIf子句VB程序设计——选择结构名茂院学【例5】输入华氏温度F,转换成摄氏温度C并显示转换公式:C=5/9*(F-32)提示信息:Text2Text1C40时,打印“高温30C≤40时,打印“热20C≤30时,打印“舒适10C≤20时,打印“凉爽0C≤10时,打印冷C≤0时,打印“冰冻VB程序设计——选择结构名茂院学PrivateSubCommand1_Click()F=Val(Text1.Text)C=5/9*(F-32)Text2.Text=CIfC40ThenLabel2.Caption=“高温”ElseIfC30ThenLabel2.Caption=“热”ElseIfC20ThenLabel2.Caption=“舒适”ElseIfC10ThenLabel2.Caption=“凉爽”ElseIfC0ThenLabel2.Caption=“冷”ElseLabel2.Caption=“冰冻”EndIfEndSubEndIf之间必须有空格If…Then和ElseIf…Then必须书写在同一行ElseIf之间不允许有空格VB程序设计——选择结构名茂院学【例6】已知百分制成绩mark,显示对应的五级制成绩哪些正确,哪些错误?方法一Ifmark=90ThenPrint优ElseIfmark=80ThenPrint良ElseIfmark=70ThenPrint中ElseIfmark=60ThenPrint及格ElsePrint不及格EndIf方法二Ifmark60ThenPrint不及格ElseIfmark70ThenPrint及格ElseIfmark80ThenPrint中ElseIfmark90ThenPrint良ElsePrint优EndIf方法三Ifmark=60ThenPrint及格ElseIfmark=70ThenPrint中ElseIfmark=80ThenPrint良ElseIfmark=90ThenPrint优ElsePrint不及格EndIfVB程序设计——选择结构名茂院学4:IF单行选择语句(1).基本格式If条件Then语句组A[Else语句组B](2).执行方式:流程图条件表达式语句组AT语句组BFif之后的语句示例:Ifscore=60ThenPrint“通过!”ElsePrint“未通过.”Print继续努力!注:此语句没有EndifVB程序设计——选择结构名茂院学【例7】从键盘上输入两个整数,并按从小到大输出。PrivateSubCommand1_Click()a=Val(InputBox(请输入一个正整数a))b=Val(InputBox(请输入一个正整数b))IfabThent=a:a=b:b=tEndIfPrinta,bEndSubIfabThent=a:a=b:b=tVB程序设计——选择结构名茂院学5:多分支选择语句SelectCase(1):基本格式:SelectCase测试表达式Case表达式表1[语句组1][Case表达式表2[语句组2]]……[CaseElse[语句组n]]EndSelect功能:根据测试表达式的值,按顺序
本文标题:VB编程60_选择结构
链接地址:https://www.777doc.com/doc-2865933 .html