首页 理论教育测量平差程序设计:代码执行流程控制

测量平差程序设计:代码执行流程控制

【摘要】:封装在事件、通用或函数过程中的程序代码,执行顺序是三种基本程序结构的组合:顺序结构:程序按语句顺序由上而下逐句执行。其语法结构为:图1.2单分支结构图1.3双分支结构③多分支结构。给定的条件称为循环条件,反复执行的程序段称为循环体。图1.6不计次循环结构(后测型)其语法结构如下:功能:当关键字While 或关键字Until后条件为真时,执行循环体。

封装在事件、通用或函数过程中的程序代码,执行顺序是三种基本程序结构的组合:

顺序结构:程序按语句顺序由上而下逐句执行。

选择结构:程序按设定的条件实现程序语句的选择执行。

循环结构:程序按给定的条件重复地执行设定的程序段或过程。

1.顺序结构

从上往下按顺序执行的语句结构。

2.选择结构

根据设定的条件分析,比较和判断,选择性地执行不同的程序代码。

(1)If语句结构。

If语句分单分支结构、双分支结构和多分支结构三种情况。If语句的“条件”是一个逻辑表达式,VB系统根据条件判断返回True或False,选择执行不同的程序语句块。

①单分支结构(图1.2)。

其语法结构为:

②双分支结构(图1.3)。

其语法结构为:

图1.2 单分支结构

图1.3 双分支结构

③多分支结构(图1.4)。

图1.4 多分支结构

其语法结构为:

(2)Select Case语句。

Select Case语句首先判断一个表达式的值,然后根据表达式的值选择执行不同的程序语句块。

其语法结构如下:

Select Case的执行过程是:在Select Case关键字后的测试条件中计算测试表达式,然后VB将表达式的值与结构中每一个Case关键字后的值进行比较,若相等就执行与该Case相关联的语句块。(www.chuimin.cn)

在Select Case结构中,Case关键字后表达式可以是几个值的列表,各值之间用逗号分隔。如果有多个Case关键字后表达式值与测试表达式值匹配,则只执行第一个匹配的Case关键字后语句块。

Select Case与If...Then...Else结构的区别在于,Select Case结构只在开始处计算测试条件的值,而If...Then...Else结构为每个Else If语句计算不同的表达式。因此在处理多重选择问题时,If...Then...Else结构能适应更复杂的选择性,而Select Case结构更具可读性并且执行效率更高。

3.循环结构

循环结构是数值计算程序中最重要的结构之一,在复杂数值计算程序中起着不可替代的作用。循环结构是在给定条件成立时,反复执行某程序段,直到条件不成立为止。给定的条件称为循环条件,反复执行的程序段称为循环体。在VB中提供了多种循环语句供用户使用,下面介绍两种常用的形式:For语句和Do语句。

(1)For语句(计次循环语句)。

For循环(For…Next)语句的基本格式为:

其中循环变量为数值型变量,初值、终值、增量均为数值型变量。“Step”部分可以省略,缺省时默认为1。在循环体中使用Exit For语句可直接中止循环,跳出循环并执行Next后面的语句。正常循环结束后跳出循环时,循环变量值为循环变量终值+增量值,使用Exit For语句终止循环时,循环变量保持退出时的值。

For循环的执行过程如下:

①将循环变量赋初值。

②比较循环变量是否小于或等于终值(如Step后增量值为负值,则比较是否大于或等于终值),小于或等于(大于或等于)时循环条件成立,运行循环体中的语句,若条件不成立,结束循环执行Next后的语句。

③循环体执行完毕后至Next语句,循环变量增加增量值,转到②继续比较执行。

(2)Do语句。

For…Next循环语句用于循环次数确定的循环问题,对于循环次数未知的循环问题,Visual Basic设置了Do循环语句。

①第一种循环结构(图1.5)。

图1.5 不计次循环结构(前测型)

其语法结构如下:

②第二种循环结构(图1.6)。

图1.6 不计次循环结构(后测型)

其语法结构如下:

功能:当关键字While 或关键字Until后条件为真(True)时,执行循环体。

说明:第一种格式为先判断后执行,有可能一次也不执行;第二种格式为先执行后判断,至少执行一次循环体;

Exit Do:类似于Exit For语句,执行该语句后,退出循环执行Loop后的语句。

说明:上述两种Do循环是以关键字while为例,条件成立进入循环;若选用关键字until,则是条件成立时,结束循环。