第三节 程序逻辑
应用背景
程序需要按照程序员的思路走,就是程序逻辑控制。一个复杂的程序设计任务,需要我们把它分解为许多个小任务来完成.而每个小任务基本都可以通过3个基本逻辑:顺序、循环和判断来实现。
程序流程图就是这些逻辑的连接设计图,是处理数据的算法的设计图纸。任何程序需要的逻辑基本为:输入数据+程序逻辑+输出数据,描述这个程序的基本框架流程图见图3-1,注意理解程序的基本结构。
图3-1程序流程图
知识要点
(1)do while语句流程图简单赋值语句
变量代表一个内存空间,给变量一个指定的值成为赋值语句,其基本表达为:
变量=表达式
该语句使用说明如下:
1.“=”左边一定是变量,“=”右边一定是表达式
2.每行语句都使用“回车键”自动结束
3.执行顺序为从上到下的语句顺序
4.断行的语句,使用“ _”,即“空格”+“_”的方式进行断行语句的连接。
(2)循环语句
循环结构是计算机语言里一种重要的结构,它的应用广泛,最简单的例子是累加器的作用,还可以用于穷举法,更直观的例子是把某件事重复指定的次数,这样就不用把要重复的语句输入多次,而通过循环结构完成,非常方便。
它的格式是:
For <循环变量>=<初赋值> To <终值> [Step <步长>]
……
……
Next <循环变量>
在默认情况下,Step被设为“1”,可以省略,Step也可以设为负值,例如:
Dim a=0
For I=1 To 10
a=a+I
Next I
这是一个简单的累加器的例子,把1到10累加在一起,然后赋值给“a”这样的效果和上面是一样的,只不过是倒着加罢了,请看:
Dim a=0
For I=10 To 1 Step –1
a=a+I
Next I
While语句也是一个很常用的循环语句,它的形式很多。
Do While …… Loop语句
Do …… Loop While
While后面都跟逻辑条件判断,“Do While …… Loop语句”,先判断While后面的条件是否为“真”,如果为“真”则执行里面的语句,如果为“假”,则退出循环,循环直至条件为“假”终止。“Do …… Loop While ”与前者的区别在于,它不管条件的真假,都会先执行“Do”后面的语句,也就是说,它至少执行语句一次。例如:
Dim i As Integer
Dim a As Long
Do While i < 10
a = a + i
i = i + 1
Loop
这个例子同样实现累计,但比起For循环来说有些累赘,故使用for循环还是使用Whlie循环应当根据适当的环境使用,它们有时也可替换。
(3)判断语句
在条件语句里,我们先来学习“If……Then……”语句。
它的一般语法是:
If <条件> Then
<语句>
<语句>
………
End If
VB的条件语句更符合英语的语法,如果Then后面所跟的语句只有一条,可以写成:
If <条件> Then <语句>
而不用End If。
有时我们还会用到
If <条件> Then
<语句>
Else
<语句>
End If
更可以在Else里在嵌套If语句,如:
If <条件> Then
<语句>
Else If
<语句>
Else
<语句>
End If
用了过多的Else后你会感到很不方便,而且程序结构也不清晰,所以VB语言还有Select语句帮助解决这个问题。
VB里的Select语句的格式是这样的:
Select Case <变量名>
Case <情况1>
……
Case <情况2>
……
Case <情况3>
……
……
……
Case Else
……
End Select
例如:
Select Case a%
Case 1
Print “a=1”
Case 2
Print “a=2”
Case Else
Print “a does not equal to 1 or 2.”
End Select
(4)故障陷阱
在某些工程项目中,有些程序实现很专业的任务,很可能遇到不可预测的错误,那么为了使程序正常的执行下去,需要设置错误陷阱,其基本语法为:
On Error Goto 标签
正常处理语句...
Exit Sub
标签:
错误处理语句...
在某些工程项目中,如果某语句可能发生错误,但还需要继续执行程序的下一条语句,也需要设置的错误陷阱,基本语法为:
On Error Resume Next
例如:
Dim tmp0 , tmp1 , tmp2 As Integer
On Error Resume Next
If (tmp0 <> 0 And tmp1 <> 0) Then
tmpFir = 0.5 * tmp0 + 0.4 * tmp1 + 0.1 * tmp2
Else
tmpFir = tmp2
End If
应用举例:
例1:在窗体上打印出乘法规则表?
1.建立标准exe工程1,在窗体form1添加命令按钮1
2.编写按钮1的Click事件,完成任务。
3.在命令按钮的Click事件上部,即窗体Form1的代码最顶部,写程序Option Explicit告诉VB下面的程序中的变量必须声明才可使用。程序如下:
Option Explicit
Private Sub Command1_Click()
Dim se As String
Dim i, j As Integer
Form1.Print Tab(35); "乘法表"
For i = 1 To 9
For j = 1 To i
se = i & "*" & j & "=" & i * j
Form1.Print Tab((j - 1) * 9 + 1); se;
Next j
Form1.Print
Next i
End Sub
程序运行结果如下图3-2:
图3-2 程序运行结果
例2:建立一个20大小的整数数组,随机赋值在1到100之间后,按大小顺序排列,并打印在窗体上。
1.例1的工程中,向Form1窗体上添加命令按钮2
2.窗体代码的顶部添加Option Explicit,并定义窗体级变量数组,编写Form1窗体的Load事件,初始化随机数发生器,并给数组赋值。
Option Explicit
Dim s(20) As Integer
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论