师:上节课我们学习了程序的顺序结构,今天来学习程序的分支结构。先欣赏一位同学的作品,运行程序,在第一个文本框输入8,第二个文本框输入r,单击比较按钮,第三个文本框显示8。再演示一次,第一个文本框输入4,第二个文本框输入5,单击比较按钮,第三个文本框显示5。单击退出按钮,退出程序。这个程序实现了比较两个数大小并显示较大数,它是如何实现的呢?
第一步,创建一个新工程。
第二步,设计程序界面:
修改窗体的属性。
添加3个标签并修改它们的属性。
添加3个文本框并修改它们的属性。
添加两个命令按钮,并修改它们的属性。
第三步,编写程序。双击比较按钮,进入代码窗口,输入command1的CLICK事件过程;双击退出按钮,进入代码窗口,输入command2的CLICK事件过程。程序如何实现呢?当command1的click事件触发后,执行的第一行语句是声明变量,第2行语句是将文本框1输入的值赋值给变量T1,第三行语句是将文本框2输入的值赋值给变量T2。下面碰到if开头的程序段,这是新的程序段,分析一下:如果T1大于T2成立,则把T1赋值给变量big,否则把T2赋值给变量big,结束if语句,最后将big的值在文本框3显示。
前面运行程序时,第一个文本框输入8,第二个文本框输入2,即T1的值是8,T2的值是2。判断8大于2是否成立,8大于2成立,则把T1的值赋值给变量big,此时big的值是8,结束if语句,最后文本框3显示8。
第二次运行时,第一个文本框输入4,第二个文本框输入5,即T1的值是4,T2的值是5。判断4大于5是否成立,4大于5不成立,则把T2的值赋值给变量big,此时big的值是5,结束if语句,最后文本框3显示5。这种结构就是程序的分支结构。
程序从上往下按顺序执行,当执行到条件语句时,首先判断条件中的条件是否成立,如果条件成立,则执行语句块一中的语句,否则执行语句块2中的语句,然后继续往下执行。我们把这种根据条件判断的结果来控制程序应如何继续执行的程序结构称为分支结构。
分支结构在VB中主要以if语句来实现,if条件then语句块一else语句块2 end if是if条件语句的格式。if、then、else、end if是保留字,其中语句块一和语句块2可以是一个或者多个语句。来看它的执行过程:首先判断条件是否成立,若条件成立,则执行语句块一中的语句,结束if语句;否则执行语句块2中的语句,结束if语句。
做练习,读程序,写结果,请思考。最后的结果是二十,分析程序段的执行过程:先将10赋值给变量a,再将20赋值给变量b,赋值后a的值是10,b的值是20。判断10大于20是否成立,10大于20不成立,执行print b,逗号a,此时窗体显示二十,结束if语句,所以最后的执行结果为二十。
看第二题,读程序写结果请思考。结果为36。分析它的执行过程:先将5赋值给变量x,再将6赋值给变量y,赋值后x的值是5,y的值是6。判断5小于6是否成立,5小于6成立,则把x和y相乘的结果赋值给变量x,此时x的值由原来的5变为5×6 = 30,最后输出36,所以最后的结果为36。
这道题中的if语句是if语句的另一种格式,在特殊情况下才会使用。
再欣赏一位同学的作品。启动按钮,第一个文本框输入8,第二个文本框输入r,单击比较按钮,第三个文本框显示0。再演示一次,第一个文本框输入4,第二个文本框输入5,单击比较按钮,第三个文本框显示4。为什么呢?观察这个程序command1的click事件,下面第一行语句是声明变量,第2行、第3行是赋值语句,没问题。下面if语句与编写意图不一致。
