资源描述
计算机基础教研室计算机基础教研室第4章Visual Basic控制结构 计算机基础教研室计算机基础教研室主要内容主要内容4-1 4-1 顺序结构顺序结构 4-2 4-2 选择结构选择结构 4-3 4-3 循环结构循环结构 4-4 4-4 程序调试程序调试 4-5 4-5 小结小结计算机基础教研室计算机基础教研室顺序结构是程序设计中最简单的一顺序结构是程序设计中最简单的一种结构,顺序结构中的每一条语句都被种结构,顺序结构中的每一条语句都被执行一次,而且只能被执行一次。执行一次,而且只能被执行一次。4-1 4-1 4-1 4-1 顺序结构顺序结构顺序结构顺序结构 计算机基础教研室计算机基础教研室【例例4.1】交换两个文本框中的内容。在窗交换两个文本框中的内容。在窗体上添加两个文本框、两个命令按钮。程序运体上添加两个文本框、两个命令按钮。程序运行时单击行时单击“交换交换”按钮,则将两个文本框中的按钮,则将两个文本框中的内内容进行交换,单击容进行交换,单击“退出退出”按钮结束整个程序按钮结束整个程序的的运行。运行。图图图图4-1 4-1 4-1 4-1 交换文本框中的内容交换文本框中的内容交换文本框中的内容交换文本框中的内容(a)(b)计算机基础教研室计算机基础教研室编写代码编写代码PrivateSubCommand1_Click()PrivateSubCommand1_Click()DimtAsStringDimtAsStringt=Text1.Textt=Text1.Text 将将将将Text1Text1中的内容中的内容中的内容中的内容赋值给临时变赋值给临时变赋值给临时变赋值给临时变量量量量t$t$Text1.Text=Text2.TextText1.Text=Text2.Text 将将将将Text2Text2中的内容中的内容中的内容中的内容赋值给赋值给赋值给赋值给Text1Text1Text2.Text=tText2.Text=t 将将将将t$t$中的内容中的内容中的内容中的内容赋值给赋值给赋值给赋值给Text2Text2EndSubEndSubPrivateSubCommand2_Click()PrivateSubCommand2_Click()EndEndEndSubEndSub计算机基础教研室计算机基础教研室说明:说明:(1 1 1 1)本例使用到程序设计中最基本的语句:赋值语句。本例使用到程序设计中最基本的语句:赋值语句。本例使用到程序设计中最基本的语句:赋值语句。本例使用到程序设计中最基本的语句:赋值语句。赋值语句既可以给普通的变量赋值,如语句赋值语句既可以给普通的变量赋值,如语句赋值语句既可以给普通的变量赋值,如语句赋值语句既可以给普通的变量赋值,如语句“t=t=t=t=Text1.Text”Text1.Text”Text1.Text”Text1.Text”,也可以给对象的属性赋值,如将变量,也可以给对象的属性赋值,如将变量,也可以给对象的属性赋值,如将变量,也可以给对象的属性赋值,如将变量t t t t中的内容赋值给文本框中的内容赋值给文本框中的内容赋值给文本框中的内容赋值给文本框Text2 Text2 Text2 Text2 的的的的TextTextTextText属性,可以用语属性,可以用语属性,可以用语属性,可以用语句句句句“Text2.Text=t”Text2.Text=t”Text2.Text=t”Text2.Text=t”实现。实现。实现。实现。需要注意的是,本例中需要注意的是,本例中需要注意的是,本例中需要注意的是,本例中交换两个文本框中的值时,需要借用一个临时变量。交换两个文本框中的值时,需要借用一个临时变量。交换两个文本框中的值时,需要借用一个临时变量。交换两个文本框中的值时,需要借用一个临时变量。(2 2 2 2)本例包括两个事件过程,其中本例包括两个事件过程,其中本例包括两个事件过程,其中本例包括两个事件过程,其中Command1_Click()Command1_Click()Command1_Click()Command1_Click()过程含有过程含有过程含有过程含有4 4 4 4条语句,该过程从第一条语句开始,由上到条语句,该过程从第一条语句开始,由上到条语句,该过程从第一条语句开始,由上到条语句,该过程从第一条语句开始,由上到下按顺序逐条执行,因此是顺序结构。下按顺序逐条执行,因此是顺序结构。下按顺序逐条执行,因此是顺序结构。下按顺序逐条执行,因此是顺序结构。计算机基础教研室计算机基础教研室 选择结构的流程是对条件进行判选择结构的流程是对条件进行判断,根据判断结果执行相应语句,选断,根据判断结果执行相应语句,选择结构也称分支结构。择结构也称分支结构。4-2 4-2 4-2 4-2 选择结构选择结构选择结构选择结构计算机基础教研室计算机基础教研室【例例例例4.24.2】单行单行单行单行IfIf语句示例。输入一个整数,判断语句示例。输入一个整数,判断语句示例。输入一个整数,判断语句示例。输入一个整数,判断该数是奇数还是偶数。在窗体上添加一个文本框、该数是奇数还是偶数。在窗体上添加一个文本框、该数是奇数还是偶数。在窗体上添加一个文本框、该数是奇数还是偶数。在窗体上添加一个文本框、三个命令按钮。运行程序时在输入文本框中输入数三个命令按钮。运行程序时在输入文本框中输入数三个命令按钮。运行程序时在输入文本框中输入数三个命令按钮。运行程序时在输入文本框中输入数据后,单击据后,单击据后,单击据后,单击“判断判断判断判断”按钮,在弹出的消息框中显示奇按钮,在弹出的消息框中显示奇按钮,在弹出的消息框中显示奇按钮,在弹出的消息框中显示奇、偶数的判断结果。单击、偶数的判断结果。单击、偶数的判断结果。单击、偶数的判断结果。单击“清除清除清除清除”按钮,可重新输入按钮,可重新输入按钮,可重新输入按钮,可重新输入数据,单击数据,单击数据,单击数据,单击“退出退出退出退出”按钮,结束程序运行按钮,结束程序运行按钮,结束程序运行按钮,结束程序运行。4-2-14-2-14-2-14-2-1单行单行单行单行IfIfIfIf语句语句语句语句计算机基础教研室计算机基础教研室编写代码编写代码PrivateSubCommand1_Click()PrivateSubCommand1_Click()IfVal(Text1.Text)Mod2=0ThenIfVal(Text1.Text)Mod2=0ThenMsgBoxMsgBoxText1.Text_Text1.Text_&是偶数是偶数是偶数是偶数ElseElseMsgBoxMsgBoxText1.Text&Text1.Text&是奇数是奇数是奇数是奇数 EndSubEndSubPrivateSubCommand2_Click()PrivateSubCommand2_Click()Text1.Text=Text1.Text=Text1.SetFocusText1.SetFocusEndSubEndSubPrivateSubCommand3_Click()PrivateSubCommand3_Click()EndEndEndSubEndSub计算机基础教研室计算机基础教研室说明:说明:(1 1 1 1)Command1_ClickCommand1_ClickCommand1_ClickCommand1_Click事件代码的执行过程是:将输入事件代码的执行过程是:将输入事件代码的执行过程是:将输入事件代码的执行过程是:将输入到文本框到文本框到文本框到文本框Text1Text1Text1Text1中的数据转换成数值型数据后,进行逻辑中的数据转换成数值型数据后,进行逻辑中的数据转换成数值型数据后,进行逻辑中的数据转换成数值型数据后,进行逻辑判断,如果表达式判断,如果表达式判断,如果表达式判断,如果表达式Val(Text1.Text)Mod 2Val(Text1.Text)Mod 2Val(Text1.Text)Mod 2Val(Text1.Text)Mod 2的值等于的值等于的值等于的值等于0 0 0 0,即文本框中的值为偶数,否则为奇数,最后通过弹出消即文本框中的值为偶数,否则为奇数,最后通过弹出消即文本框中的值为偶数,否则为奇数,最后通过弹出消即文本框中的值为偶数,否则为奇数,最后通过弹出消息框输出判断结果。该过程的流程图如图所示:息框输出判断结果。该过程的流程图如图所示:息框输出判断结果。该过程的流程图如图所示:息框输出判断结果。该过程的流程图如图所示:开始输出偶数输出奇数NoYesVal(Text1.Text)Mod 2=0?计算机基础教研室计算机基础教研室(2 2 2 2)语句输出偶数或输出奇数是根据条件有选择地执)语句输出偶数或输出奇数是根据条件有选择地执)语句输出偶数或输出奇数是根据条件有选择地执)语句输出偶数或输出奇数是根据条件有选择地执行,二者中只能选择其中一个。代码中分支的选择是通行,二者中只能选择其中一个。代码中分支的选择是通行,二者中只能选择其中一个。代码中分支的选择是通行,二者中只能选择其中一个。代码中分支的选择是通过过过过IfIfIfIf语句实现的,当判断条件式语句实现的,当判断条件式语句实现的,当判断条件式语句实现的,当判断条件式Val(Text1.Text)Mod Val(Text1.Text)Mod Val(Text1.Text)Mod Val(Text1.Text)Mod 2=0 2=0 2=0 2=0 为为为为“真真真真”时执行时执行时执行时执行ThenThenThenThen后面的语句,为后面的语句,为后面的语句,为后面的语句,为“假假假假”时执时执时执时执行行行行ElseElseElseElse后面的语句。后面的语句。后面的语句。后面的语句。(3 3 3 3)运行程序时应分别输入一个偶数值或奇数值,以)运行程序时应分别输入一个偶数值或奇数值,以)运行程序时应分别输入一个偶数值或奇数值,以)运行程序时应分别输入一个偶数值或奇数值,以判断输出结果是否正确,不能只验证其中一种情况(偶判断输出结果是否正确,不能只验证其中一种情况(偶判断输出结果是否正确,不能只验证其中一种情况(偶判断输出结果是否正确,不能只验证其中一种情况(偶数或奇数)后就认为程序是正确的。数或奇数)后就认为程序是正确的。数或奇数)后就认为程序是正确的。数或奇数)后就认为程序是正确的。计算机基础教研室计算机基础教研室【例例例例4.34.3】在窗体上添加一个文本框、三个复选框和在窗体上添加一个文本框、三个复选框和在窗体上添加一个文本框、三个复选框和在窗体上添加一个文本框、三个复选框和两个命令按钮。运行程序时,根据需要选择不同复选两个命令按钮。运行程序时,根据需要选择不同复选两个命令按钮。运行程序时,根据需要选择不同复选两个命令按钮。运行程序时,根据需要选择不同复选框,然后单击框,然后单击框,然后单击框,然后单击“确定确定确定确定”按钮,则在文本框中显示一个按钮,则在文本框中显示一个按钮,则在文本框中显示一个按钮,则在文本框中显示一个结结结结果操作。单击果操作。单击果操作。单击果操作。单击“取消取消取消取消”按钮,可以重新选择。按钮,可以重新选择。按钮,可以重新选择。按钮,可以重新选择。计算机基础教研室计算机基础教研室编写代码编写代码PrivateSubCommand1_Click()PrivateSubCommand1_Click()Dimstr1AsStringDimstr1AsStringstr1=str1=我的我的我的我的爱爱爱爱好是:好是:好是:好是:IfCheck1.Value=1Thenstr1=IfCheck1.Value=1Thenstr1=str1str1&Check1.Caption&Check1.CaptionIfCheck2.Value=1Thenstr1=IfCheck2.Value=1Thenstr1=str1str1&Check2.Caption&Check2.CaptionIfCheck3.Value=1Thenstr1=IfCheck3.Value=1Thenstr1=str1str1&Check3.Caption&Check3.CaptionText1.Text=str1Text1.Text=str1EndSubEndSubPrivateSubCommand2_Click()PrivateSubCommand2_Click()Text1.Text=Text1.Text=Check1.Value=0Check1.Value=0Check2.Value=0Check2.Value=0Check3.Value=0Check3.Value=0EndSubEndSub计算机基础教研室计算机基础教研室说明:说明:(1 1 1 1)【例例例例4.24.24.24.2】、【例例例例4.34.34.34.3】两个例子的特点是将两个例子的特点是将两个例子的特点是将两个例子的特点是将IfIfIfIf语语语语句都写在同一行上,我们把这种形式的句都写在同一行上,我们把这种形式的句都写在同一行上,我们把这种形式的句都写在同一行上,我们把这种形式的IfIfIfIf语句称为单行语句称为单行语句称为单行语句称为单行IfIfIfIf语句,语句,语句,语句,单行单行单行单行IfIfIfIf语句的一般格式为:语句的一般格式为:语句的一般格式为:语句的一般格式为:If If If If 表达式表达式表达式表达式 Then Then Then Then 语句语句语句语句1 Else 1 Else 1 Else 1 Else 语句语句语句语句2222其中其中其中其中IfIfIfIf、ThenThenThenThen、ElseElseElseElse是系统保留字。是系统保留字。是系统保留字。是系统保留字。计算机基础教研室计算机基础教研室(2 2 2 2)IfIfIfIf语句的功能是解决分支问题,如果语句的功能是解决分支问题,如果语句的功能是解决分支问题,如果语句的功能是解决分支问题,如果“表达式表达式表达式表达式”的值为非的值为非的值为非的值为非0 0 0 0,即为,即为,即为,即为“真真真真”时,则执行时,则执行时,则执行时,则执行“语句语句语句语句1 1 1 1”,否则执行,否则执行,否则执行,否则执行“语句语句语句语句2 2 2 2”。表达式一般为关系表达式、逻辑表达式,也可以为算术表达表达式一般为关系表达式、逻辑表达式,也可以为算术表达表达式一般为关系表达式、逻辑表达式,也可以为算术表达表达式一般为关系表达式、逻辑表达式,也可以为算术表达式。当表达式是算术表达式时,非式。当表达式是算术表达式时,非式。当表达式是算术表达式时,非式。当表达式是算术表达式时,非0 0 0 0值(不论该表达式结果是正值(不论该表达式结果是正值(不论该表达式结果是正值(不论该表达式结果是正数还是负数)表示数还是负数)表示数还是负数)表示数还是负数)表示TrueTrueTrueTrue,0 0 0 0值表示值表示值表示值表示FalseFalseFalseFalse。(3 3 3 3)根据所解决的问题,可以省略子句)根据所解决的问题,可以省略子句)根据所解决的问题,可以省略子句)根据所解决的问题,可以省略子句“Else Else Else Else 语句语句语句语句2 2 2 2”。在本。在本。在本。在本书中用书中用书中用书中用“”括起来的表示是可省略项。括起来的表示是可省略项。括起来的表示是可省略项。括起来的表示是可省略项。(4 4 4 4)单行单行单行单行IfIfIfIf语句语法上要求语句语法上要求语句语法上要求语句语法上要求“语句语句语句语句1 1 1 1”和和和和“语句语句语句语句2 2 2 2”均为一条语均为一条语均为一条语均为一条语句句句句,若要用多条语句,则语句间需用冒号隔开,且几条语句必须在,若要用多条语句,则语句间需用冒号隔开,且几条语句必须在,若要用多条语句,则语句间需用冒号隔开,且几条语句必须在,若要用多条语句,则语句间需用冒号隔开,且几条语句必须在一行上。一行上。一行上。一行上。非0表达式语句10语句2计算机基础教研室计算机基础教研室【例例例例4.44.4】编写程序,求一元二次方程编写程序,求一元二次方程编写程序,求一元二次方程编写程序,求一元二次方程axax2 2+bx+c=0+bx+c=0的实根(要求方程的系数的实根(要求方程的系数的实根(要求方程的系数的实根(要求方程的系数a0a0)。程序)。程序)。程序)。程序运行时,在文本框中输入方程的系数,单击运行时,在文本框中输入方程的系数,单击运行时,在文本框中输入方程的系数,单击运行时,在文本框中输入方程的系数,单击“求解求解求解求解”按按按按钮,根据判断方程有无实根的情况输出结果。钮,根据判断方程有无实根的情况输出结果。钮,根据判断方程有无实根的情况输出结果。钮,根据判断方程有无实根的情况输出结果。4-2-2 4-2-2 4-2-2 4-2-2 多行多行多行多行IfIfIfIf语句语句语句语句计算机基础教研室计算机基础教研室编写代码编写代码PrivateSubCommand1_Click()PrivateSubCommand1_Click()DimaAsSingle,bAsSingle,cAsSingleDimaAsSingle,bAsSingle,cAsSingleDimDimdltdltAsSingle,x1AsSingle,x2AsSingleAsSingle,x1AsSingle,x2AsSinglea=Val(Text1.Text)a=Val(Text1.Text)b=Val(Text2.Text)b=Val(Text2.Text)c=Val(Text3.Text)c=Val(Text3.Text)dltdlt=b*b-4*a*c=b*b-4*a*cIfIfdltdlt=0Then=0Thenx1=Format(-b+x1=Format(-b+Sqr(dltSqr(dlt)/(2*a),#.#)/(2*a),#.#)x2=Format(-b-x2=Format(-b-Sqr(dltSqr(dlt)/(2*a),#.#)/(2*a),#.#)MsgBoxMsgBox方程的两个方程的两个方程的两个方程的两个实实实实根根根根为为为为:&x1=&x1&,&x2=&x2&x1=&x1&,&x2=&x2ElseElseMsgBoxMsgBox方程无方程无方程无方程无实实实实根根根根 EndIfEndIfEndSubEndSub计算机基础教研室计算机基础教研室说明:说明:(1 1)多行多行多行多行IfIfIfIf语句的一般形式是:语句的一般形式是:语句的一般形式是:语句的一般形式是:IfIf表达式表达式表达式表达式ThenThen语句组语句组语句组语句组1 1ElseElse语句组语句组语句组语句组22EndIfEndIf多行多行多行多行IfIfIfIf语句的执行过程是:如果语句的执行过程是:如果语句的执行过程是:如果语句的执行过程是:如果“表达式表达式表达式表达式”的值为非的值为非的值为非的值为非0 0 0 0,则执行语句组则执行语句组则执行语句组则执行语句组1 1 1 1;否则执行语句组;否则执行语句组;否则执行语句组;否则执行语句组2 2 2 2。当执行完语句组。当执行完语句组。当执行完语句组。当执行完语句组1 1 1 1或语句组或语句组或语句组或语句组2 2 2 2后,程序流程跳转到语句后,程序流程跳转到语句后,程序流程跳转到语句后,程序流程跳转到语句End IfEnd IfEnd IfEnd If的后面。的后面。的后面。的后面。计算机基础教研室计算机基础教研室(2 2 2 2)语句)语句)语句)语句“End IfEnd IfEnd IfEnd If”是多行是多行是多行是多行IfIfIfIf语句的结束标志。在多行语句的结束标志。在多行语句的结束标志。在多行语句的结束标志。在多行IfIfIfIf语句中,即使省略语句中,即使省略语句中,即使省略语句中,即使省略ElseElseElseElse子句,也要写该结束标志。省子句,也要写该结束标志。省子句,也要写该结束标志。省子句,也要写该结束标志。省略略略略ElseElseElseElse子句时的多行子句时的多行子句时的多行子句时的多行IfIfIfIf语句形式为:语句形式为:语句形式为:语句形式为:If If If If 表达式表达式表达式表达式 Then Then Then Then 语句组语句组语句组语句组 End If End If End If End If(3 3 3 3)语句组可以由一条或多条语句组成,语句组不能语句组可以由一条或多条语句组成,语句组不能语句组可以由一条或多条语句组成,语句组不能语句组可以由一条或多条语句组成,语句组不能与与与与ThenThenThenThen书写在同一行,否则书写在同一行,否则书写在同一行,否则书写在同一行,否则VBVBVBVB会认为是一个单行会认为是一个单行会认为是一个单行会认为是一个单行IfIfIfIf语语语语句,单行句,单行句,单行句,单行IfIfIfIf语句没有语句没有语句没有语句没有End IfEnd IfEnd IfEnd If。计算机基础教研室计算机基础教研室在在在在If If语句的语句的语句的语句的ThenThen或或或或ElseElse后面还可以包含另一后面还可以包含另一后面还可以包含另一后面还可以包含另一If If语句,这样语句,这样语句,这样语句,这样结构的结构的结构的结构的If If语句称为语句称为语句称为语句称为If If语句的嵌套。语句的嵌套。语句的嵌套。语句的嵌套。嵌套嵌套嵌套嵌套IfIfIfIf语句的一般形式是:语句的一般形式是:语句的一般形式是:语句的一般形式是:IfIf表达式表达式表达式表达式1Then1Then语句组语句组语句组语句组11IfIf表达式表达式表达式表达式2Then2Then语句组语句组语句组语句组2 2ElseElse 语句组语句组语句组语句组33EndIfEndIf语句组语句组语句组语句组44ElseElse语句组语句组语句组语句组55IfIf表达式表达式表达式表达式3Then3Then语句组语句组语句组语句组6 6ElseElse语句组语句组语句组语句组7 7EndIfEndIf语句组语句组语句组语句组88EndIfEndIf4-2-3 IF4-2-3 IF4-2-3 IF4-2-3 IF语句的嵌套语句的嵌套语句的嵌套语句的嵌套 内层内层内层内层IfIfIfIf语句语句语句语句内层内层内层内层IfIfIfIf语句语句语句语句外层外层外层外层IfIfIfIf语句语句语句语句计算机基础教研室计算机基础教研室【例例例例4.64.6】编写程序。在文本框中输入用户密码(密码编写程序。在文本框中输入用户密码(密码编写程序。在文本框中输入用户密码(密码编写程序。在文本框中输入用户密码(密码为为为为66666666)。若正确,则弹出密码正确消息框。若密码)。若正确,则弹出密码正确消息框。若密码)。若正确,则弹出密码正确消息框。若密码)。若正确,则弹出密码正确消息框。若密码不正确,则显示错误信息并询问是否重试,允许在文本不正确,则显示错误信息并询问是否重试,允许在文本不正确,则显示错误信息并询问是否重试,允许在文本不正确,则显示错误信息并询问是否重试,允许在文本框中输入密码框中输入密码框中输入密码框中输入密码3 3次。窗体界面如图所示。次。窗体界面如图所示。次。窗体界面如图所示。次。窗体界面如图所示。计算机基础教研室计算机基础教研室编写代码编写代码PrivateSubPrivateSubForm_LoadForm_Load()()Form1.ShowForm1.Show Text1.SetFocusText1.SetFocusEndSubEndSubPrivateSubCommand1_Click()PrivateSubCommand1_Click()StatickAsIntegerStatickAsIntegerIfText1.Text=6666ThenIfText1.Text=6666ThenMsgBoxMsgBox欢欢欢欢迎迎迎迎进进进进入本系入本系入本系入本系统统统统!ElseElsek=k+1k=k+1Ifk=3ThenIfk=3ThenMsgBoxMsgBox对对对对不起不起不起不起,您无您无您无您无权权权权使用本系使用本系使用本系使用本系统统统统,密密密密码码码码 Text1.Enabled=FalseText1.Enabled=FalseElseElseText1.Text=Text1.Text=Text1.SetFocusText1.SetFocusMsgBoxMsgBox密密密密码码码码不正确,重不正确,重不正确,重不正确,重试试试试!,!,还还还还有有有有&Str(3-k)&Str(3-k)&次机会次机会次机会次机会,信息信息信息信息 EndIfEndIfEndIfEndIfEndSubEndSub计算机基础教研室计算机基础教研室说明:说明:(1 1 1 1)本例在)本例在)本例在)本例在IfIfIfIf语句中又出现了另一个语句中又出现了另一个语句中又出现了另一个语句中又出现了另一个IfIfIfIf语句,称为语句,称为语句,称为语句,称为IfIfIfIf语句的嵌套。嵌套语句的嵌套。嵌套语句的嵌套。嵌套语句的嵌套。嵌套IfIfIfIf语句既可以出现在语句既可以出现在语句既可以出现在语句既可以出现在 ThenThenThenThen部分,部分,部分,部分,也可以出现在也可以出现在也可以出现在也可以出现在ElseElseElseElse部分。部分。部分。部分。(2 2 2 2)当嵌套层数较多时,应注意嵌套的正确性。多个)当嵌套层数较多时,应注意嵌套的正确性。多个)当嵌套层数较多时,应注意嵌套的正确性。多个)当嵌套层数较多时,应注意嵌套的正确性。多个IfIfIfIf语句,语句,语句,语句,End IfEnd IfEnd IfEnd If与它最接近的与它最接近的与它最接近的与它最接近的IfIfIfIf配对。配对。配对。配对。(3 3 3 3)为了提高程序的可阅读性,语句书写时应采用锯)为了提高程序的可阅读性,语句书写时应采用锯)为了提高程序的可阅读性,语句书写时应采用锯)为了提高程序的可阅读性,语句书写时应采用锯齿形。齿形。齿形。齿形。计算机基础教研室计算机基础教研室IfThenIfThenIfThenIfThenElseIfElseIfElseIfElseIf的一般形式是:的一般形式是:的一般形式是:的一般形式是:IfIfThen1Then1ElseIfElseIfThen2Then2ElseIfElseIfThen3Then3ElseElse语句组语句组语句组语句组 n+1n+1EndIfEndIf4-2-4 IfThen4-2-4 IfThen4-2-4 IfThen4-2-4 IfThenElseIfElseIfElseIfElseIf语句语句语句语句 计算机基础教研室计算机基础教研室该语句的功能是根据不同表达式值决定执行哪个语句组。如该语句的功能是根据不同表达式值决定执行哪个语句组。如该语句的功能是根据不同表达式值决定执行哪个语句组。如该语句的功能是根据不同表达式值决定执行哪个语句组。如果果果果“表达式表达式表达式表达式1”1”1”1”为为为为TrueTrueTrueTrue,则执行,则执行,则执行,则执行“语句组语句组语句组语句组1”1”1”1”;否则如果;否则如果;否则如果;否则如果“表达表达表达表达式式式式2”2”2”2”为为为为TrueTrueTrueTrue,则执行,则执行,则执行,则执行“语句组语句组语句组语句组2”2”2”2”,该语句中不管有几个分支,依次,该语句中不管有几个分支,依次,该语句中不管有几个分支,依次,该语句中不管有几个分支,依次判判判判断各表达式,当某个表达式条件满足时,执行相应的语句,其断各表达式,当某个表达式条件满足时,执行相应的语句,其断各表达式,当某个表达式条件满足时,执行相应的语句,其断各表达式,当某个表达式条件满足时,执行相应的语句,其余分支不再执行。如果所有余分支不再执行。如果所有余分支不再执行。如果所有余分支不再执行。如果所有ElseIfElseIfElseIfElseIf子句的条件表达式均不满足子句的条件表达式均不满足子句的条件表达式均不满足子句的条件表达式均不满足且有且有且有且有ElseElseElseElse子句,则执行子句,则执行子句,则执行子句,则执行“语句组语句组语句组语句组 n+1”n+1”n+1”n+1”,否则什么也不执行。,否则什么也不执行。,否则什么也不执行。,否则什么也不执行。计算机基础教研室计算机基础教研室【例例例例4.74.7】根据距离,计算运输货物的每吨运费。在窗体上添加根据距离,计算运输货物的每吨运费。在窗体上添加根据距离,计算运输货物的每吨运费。在窗体上添加根据距离,计算运输货物的每吨运费。在窗体上添加2 2个标签、个标签、个标签、个标签、2 2个文本框和个文本框和个文本框和个文本框和2 2个命令按钮。程序运行时,在个命令按钮。程序运行时,在个命令按钮。程序运行时,在个命令按钮。程序运行时,在Text1Text1中中中中输入距离,单击输入距离,单击输入距离,单击输入距离,单击“计算运费计算运费计算运费计算运费”按钮,则计算运输货物的每吨运费按钮,则计算运输货物的每吨运费按钮,则计算运输货物的每吨运费按钮,则计算运输货物的每吨运费(结果保留(结果保留(结果保留(结果保留1 1位小数),并显示在位小数),并显示在位小数),并显示在位小数),并显示在Text2Text2中。如图所示。中。如图所示。中。如图所示。中。如图所示。计算机基础教研室计算机基础教研室要求:每吨运费的计算方法是:距离要求:每吨运费的计算方法是:距离要求:每吨运费的计算方法是:距离要求:每吨运费的计算方法是:距离 单价单价单价单价 折扣。折扣。折扣。折扣。其中:单价为其中:单价为其中:单价为其中:单价为0.50.5。折扣为:距离折扣为:距离折扣为:距离折扣为:距离500500折扣为折扣为折扣为折扣为1 1500500 距离距离距离距离10001000 折扣为折扣为折扣为折扣为0.980.9810001000 距离距离距离距离15001500 折扣为折扣为折扣为折扣为0.950.9515001500 距离距离距离距离20002000 折扣为折扣为折扣为折扣为0.900.9020002000 距离距离距离距离折扣为折扣为折扣为折扣为0.850.85 计算机基础教研室计算机基础教研室编写代码编写代码PrivateSubCommand1_Click()PrivateSubCommand1_Click()IfVal(Text1.Text)500ThenIfVal(Text1.Text)500ThenText2.Text=Round(Val(Text1.Text)*0.5*1,1)Text2.Text=Round(Val(Text1.Text)*0.5*1,1)ElseIfElseIfVal(Text1.Text)1000ThenVal(Text1.Text)1000ThenText2.Text=Round(Val(Text1.Text)*0.5*0.98,Text2.Text=Round(Val(Text1.Text)*0.5*0.98,1)1)ElseIfElseIfVal(Text1.Text)1500ThenVal(Text1.Text)1500ThenText2.Text=Round(Val(Text1.Text)*0.5*0.95,Text2.Text=Round(Val(Text1.Text)*0.5*0.95,1)1)ElseIfElseIfVal(Text1.Text)2000ThenVal(Text1.Text)2000ThenText2.Text=Round(Val(Text1.Text)*0.5*0.9,1)Text2.Text=Round(Val(Text1.Text)*0.5*0.9,1)ElseElseText2.Text=Round(Val(Text1.Text)*0.5*0.85,Text2.Text=Round(Val(Text1.Text)*0.5*0.85,1)1)EndIfEndIfEndSubEndSubPrivateSubCommand2_Click()PrivateSubCommand2_Click()Text1.Text=Text1.Text=Text1.SetFocusText1.SetFocusText2.Text=Text2.Text=EndSubEndSub计算机基础教研室计算机基础教研室说明:说明:(1 1 1 1)当程序运行到)当程序运行到)当程序运行到)当程序运行到IfIfIfIf语句时,将测试条件语句时,将测试条件语句时,将测试条件语句时,将测试条件Val(Text1.Text)500Val(Text1.Text)500Val(Text1.Text)500Val(Text1.Text)90Case Is 90Case Is 90Case Is 90 表示表达式的值为大于表示表达式的值为大于表示表达式的值为大于表示表达式的值为大于90909090时的分支时的分支时的分支时的分支注意:注意:注意:注意:在使用关键字在使用关键字在使用关键字在使用关键字IsIsIsIs定义条件时,只能用关系运算符定义简单条件,不能定义条件时,只能用关系运算符定义简单条件,不能定义条件时,只能用关系运算符定义简单条件,不能定义条件时,只能用关系运算符定义简单条件,不能 使用逻辑运算符将两个或多个条件组合在一起。使用逻辑运算符将两个或多个条件组合在一起。使用逻辑运算符将两个或多个条件组合在一起。使用逻辑运算符将两个或多个条件组合在一起。例如:例如:例如:例如:Case Is 90 And Is 90 And Is 90 And Is 90 And Is 20Is 20Is 20Is 20 表示表达式的值为表示表达式的值为表示表达式的值为表示表达式的值为2 2 2 2或或或或4 4 4 4或或或或6 6 6 6或或或或10101010至至至至15151515之间或大于之间或大于之间或大于之间或大于20202020时的分支时的分支时的分支时的分支计算机基础教研室计算机基础教研室【例例例例4.84.8】在窗体上添加标签、文本框、命令按钮和形状控件。在窗体上添加标签、文本框、命令按钮和形状控件。在窗体上添加标签、文本框、命令按钮和形状控件。在窗体上添加标签、文本框、命令按钮和形状控件。运行程序时,在文本框中输入运行程序时,在文本框中输入运行程序时,在文本框中输入运行程序时,在文本框中输入0 0至至至至5 5之间的任一整数,单击之间的任一整数,单击之间的任一整数,单击之间的任一整数,单击“形状形状形状形状”命令按钮后,在形状控件上显示相应的图形。命令按钮后,在形状控件上显示相应的图形。命令按钮后,在形状控件上显示相应的图形。命令按钮后,在形状控件上显示相应的图形。计算机基础教研室计算机基础教研室编写代码编写代码PrivateSubCommand1_Click()PrivateSubCommand1_Click()DimaAsIntegerDimaAsIntegera=Val(Text1.Text)a=Val(Text1.Text)SelectCaseaSelectCaseaCase0Case0Shape1.Shape=0Shape1.Shape=0Case1Case1Shape1.Shape=1Shape1.Shape=1Case2Case2Shape1.Shape=2Shape1.Shape=2Case3Case3Shape1.Shap
展开阅读全文