BASIC程序设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2019/2/11 18
( 3 )在 VB 中数值表达式的值为非 0 时,则 条件表达式的值为真,数值表达式的值为0 时条件表达式的值为假。 (4)第一种形式的If结构,没有配对的End If语句;若Then后面的语句组1省略,则必 须有Else语句及其后的语句组2;若Else语 句省略,则语句组1是必选项。第二种If结 构必须有配对的结束语句End If,不能省 略。其Then后面的两个可选项也必须选其 中之一。
Or
逻辑或运算
Not Xor
逻辑非运算 逻辑异或运算
Not x>=6 “a”<“b” Xor 5<0 值为True
3<2 Eqv (31)<0 值为True
非运算对表达式的值取反。 异或运算两边表达式的值不 同,则结果为真,相等时结 果为假。
逻辑等运算两边表达式的值 相同,则结果为真,不相同 时,结果为假。
Visual Basic程序设计
主讲人:马正元
山东大学物理微电子学院
Visual Basic程序设计
第八讲
第四章 程序流程的控制 (一)
2
2019/2/11
关系表达式
本 章 要 点
2019/2/11
布尔表达式
选择结构
循环结构 常用控件的使用
3
§4.1关系运算符和关系表达式
4.1.1 关系运算符
< <= > >= =
表4-1
<>
2019/2/11
不等于
4.1.2
关系表达式
1. VB中的关系表达式格式为: <表达式1> <关系运算符> <表达式2> [ <关系运算符> <表达式3>], … ] 2. 说明: (1)其中<表达式>可为算术表达式、字符串表达式 和日期型表达式。 ( 2 )关系表达式求值的次序是先求关系运算符两边 表达式的值,再求关系表达式的值。关系表达式的 值为Boolean型,只有两个值True和False。 ( 3 )若关系运算符两边为算术表达式时,则应先计 算算术表达式的值,再进行关系比较。
2019/2/11 10
表4-2 布尔运算符
布尔运算符 And 物理意义 逻辑与运算 举例 2<3 And 5>3 值为True “a”>“b” Or 5>0 值为True 说明 与运算两边的表达式都为真 时结果为真,否则为假。 或运算两边的表达式只要有一 个为真,结果就为真(True) 两边都为假时结果才为假。
2019/2/11
31
(3)代码编写如下 Dim Pass As String Dim intD As Integer 编写单击命令按钮“确定”所执行的代码。 Private Sub Command1_Click() If Text1.Text = Pass Then intD = 3 Label1.Caption = “密码正确,_ 可以进入系统!" Else 2019/2/11 32
2019/2/11 9
§4.2布尔运算符和布尔表达式
对于不能用关系表达式表示的较复杂 的条件可用布尔表达式来表示。如上面提 到的数学不等式10<x≤20,在VB中,应表 示成x > 10 And x < = 20。
4.2.1布尔运算符和布尔表达式
1. 布尔运算符。 VB中共有六种布尔运算符,它们是: And、Or、Not、Xor、Eqv和Imp。
在 VB 中 不 能 把 数 学 中 的 不 等 式 10<x≤20表示成 10 < x < = 20,若表示 成10 < x < = 20这种形式,不论x为何 值关系表达式10 < x < = 20的值都为 True。 关系表达式10 < x < = 20相当于 (10 < x)< = 20由于(10 < x)的值 无论为 True(-1) 或 False(0) 都小于 20 , 所以10 < x < = 20的值总为True。这显 然与数学中的不等式的意义不同。
False
False
False
False
True
False
True
2019/2/11
13
4.2.2 VB运算符的优先级
VB运算符的优先级: 算术运算符运算级最高,关系运算符次 之,布尔运算符优先级别最低。 在算术运算符中,括号最优先,其它优 先次序依次是函数、乘方(^)、乘或除(* 或/)、整除(\)、求余(Mod)、加或减 (+或-)。 在关系运算符中,六个运算符的级别相 同。 在布尔运算符中最常用的三个布尔运算 符中, Not最高,And次之,Or最低。 2019/2/11 14
2019/2/11 16
§4.3 选择结构
4.3.1 If……Then……语句 1. 行If语句格式如下:
If <条件表达式> Then [<语句组1>] [ Else <语句组2>]
2. 块If结构格式如下: If <条件表达式> Then [ 语句组1] [Else [语句组2] ] End If
简单密码验证程序中窗休及各控件的属性的设
属性 Caption Caption Autosize Backcolor BorderStyle BackStyle 属性值 简单密码验证程 序 空 True 白色 1-Fixed Single 1-Opaque
29
说明 标题 用作输出 自动调节尺寸以适应内 容 设背景色为白色 有边框,边框为凹形的
2019/2/11 23
图4-2 计算分段函数的运行结果
2019/2/11
24
4.3.2 嵌套的If语句
如果上面的块If结构中的Then下面的语 句组1或者在Else下面的语句组2又包含另外 的If结构称If语句的嵌套,如: If <条件表达式1> Then [If <条件表达式2> Then 语句组1 当表达式1 Else 的值为真时 执行的语句 语句组2 组。 End If]
2019/2/11 19
【例4-1】计算分段函数:
Y=1+x Y=1+2*x (x0) (x<0)
Y
Y=1+X
X>=0
N
Y=1+2*X
工程设计步骤如下: (1)启动VB后选“新建工程”的“标准 EXE”出现一个窗体,在此窗体上添加一 个标签控件一个文本框和二个命令按钮如 下页图4-1左图所示。 (2)设置窗体及各控件的属性如下页图4-1 右图所示。
2019/2/11
表4-5 对象
简单密码验证程序中窗休及各控件的属性的设置(续) 属性 属性值 说明
Label2
Caption
Autosize
请输入密码:
False 不能自动调节尺寸
BorderStyle
Command1 Command2 Text1 Caption Caption Text
Passwordchar
11
Eqv
2019/2/11
逻辑等运算
表4-2 布尔运算符(续)
布尔运算符
物理意义
举例
说明
Imp
逻辑隐含运 算
3<2 Imp 3>0 值为True 3<2 Imp 5<2 值为True 3>0 Imp 2>0 值为True 5>3 Imp 3<2 值为False
逻辑隐含运算第一个表达式 的值为假(False)则第二个 表达式不论值为什么值,结果 都为真(True) 若第一个表达式值为真,则 第二表达式为真时结果为真。 为假时结果为假。
10
11
2019/2/11
And(与运算)
Or(或运算)
15
已知:a=3.5,b=5.0,c=2.5,d=1.0 则 下列表达式的运算次序为:
a>=0.0 and a+c > b+d or Not True ②True ①6.0 ①6.0 ③False ②False ④False
⑤False
最后结果为False。
2019/2/11 5
(4)若关系运算符两边为字符串表达
式时,按字符串中每个字母的ASCII 码逐一进行比较,若比较的前几个 字母的ASCII码都一样,而当比较到 后面哪一个字母不一样,则哪个字 母的ASCII码数值大,则对应的字符 串就大。
2019/2/11
6
例如: “qwert ” >= “qweRt ” 的值为True。 常见字符的ASCII值大小排列如下: “空格”<“0”<“1”<…<“9” <“A”<“B”<…<“Z” <“a”<“b”<…<“z” 若关系运算符两边为日期型表达式 时,按日期的先后次序,日期在前的值 小。
表4-4 VB运算符的优先级
运算优先级 1 2 3 4 5 6 运算符 ^(乘方运算) -(求负数) *或/(乘或除) \(整除) Mod(求余数) +或-(加或减) 算术运算符 运算符类型
7
8 9
&(字符串连接运算)
<=或<或>=或>或=或<> Not(非运算)
字符串运算符
关系运算符 布尔运算符
Y
N
语句组1
语句组2
百度文库
语句组3
语句组4
2019/2/11
27
【例4-2】简单密码验证程序。 工程设计步骤如下: (1)在窗体上添加二个个标签控件、一个 文本框控件和二个命 令按钮。 如图4-3所示。
(2)设置窗体与各控 件的属性如表4-5所示。
2019/2/11
图4-3
28
表4-5 置
对象 Form1 Label1
关系 运算符
VB提供六种关系运算符
说明
值为False 值为True 值为False 值为True 值为True 值为True
4
物理意义
小于 小于等于 大于 大于等于 等于
例子
若x=5,y=2求x<y的值 若x=2,y=4求x<=y的值 “3”>8 0>=(1<5) 若x= “wer” 求 x = “wer” “asd” <> “qwe”
2019/2/11 7
例如: #08/24/98# > #10/23/96# 值为True。 #09/13/00# < #09/12/99# 值为False。 3. 注意: 因为浮点数在计算机内不能精确表示, 所以在 VB中不能用“=”来比较两个单精度 或双精度数的浮点数。 例如: 5.0*4.0 = 20.0 在数学上是成立的,而 在VB中其值可能为False。若需要比较两个 浮点数时,则应写成下列形式: Abs(5.0*4.0-x) <= 1e-5 若(5.0*4.0-x)的绝 对值小于等于 1e-5时,则认为x等于 5.0*4.0 。 2019/2/11 8
2019/2/11
0-None
确定 退出 空 *
没有边框
标题 标题 用于用户输入密码 输入密码时显示的字符
30
判断密码程序N-S结构化流程图 判断输入密码是否正确 正确
不正确
在消息框中显示密码错误! Intd=Intd-1 Y Intd=0 N
在标签框中显 示密码正确, 可以进入系统!
退出程序
提示还有 几次输入 机会。
2019/2/11
值为真
条件表达式
值为假
语句组1
语句组2
17
3. 说明:
(1)If语句后面的<条件表达式>可以是前面
讲的算术表达式、关系表达式和布尔表达 式,执行该结构时应先计算 <条件表达式> 值,然后根据<条件表达式>值确定程序的 流向。 (2)当<条件表达式>的值为真,执行Then 后面语句组1中各语句;当<条件表达式> 的值为假,则执行Else后面的语句组2中各 语句。无论是执行语句组1或执行语句组2 中各语句执行完后,接着应执行End If。
2019/2/11 22
编写单击“退出”按钮执行的代码。 Private Sub Command2_Click() Unload Me End Sub (4)运行结果。按工具栏上的执行按 钮出现如图4-1右图所示的界面。单 击“计算函数的值”按钮出现输入对 话框如图4-2左图所示,输入数值后, 出现最后的结果如图4-2右图所示。
2019/2/11 20
图4-1 计算分段函数的界面设计及属性设置
2019/2/11
21
(3)编写代码如下:
编写单击“计算函数值”按钮执行的代码。 Private Sub Command1_Click() Rem 使用输入对话框提示输入自变量的值 x = Val(InputBox(“自变量的值”, “请输入”)) If x >= 0 Then y = 1 + x Else y = 1 + 2 * x Text1.Text = y End Sub
2019/2/11 25
4.3.2 嵌套的If语句
Else [If <条件表达式3> Then 语句组3 Else 语句组4 End If ] End If
2019/2/11
当表达式1 的值为假时 执行的语句 组。
26
块IF嵌套的N-S结构化流程图表示
条件表达式1 条件表达式2 Y N Y 条件表达式3 N
2019/2/11
12
表4-3 布尔运算真值表
a b
a And b
a Or b
Not a
a Xor b
a Eqv b
True
True
True
True
False
False
True
True
False
False
True
False
True
False
False
True
False
True
True
True
False
( 3 )在 VB 中数值表达式的值为非 0 时,则 条件表达式的值为真,数值表达式的值为0 时条件表达式的值为假。 (4)第一种形式的If结构,没有配对的End If语句;若Then后面的语句组1省略,则必 须有Else语句及其后的语句组2;若Else语 句省略,则语句组1是必选项。第二种If结 构必须有配对的结束语句End If,不能省 略。其Then后面的两个可选项也必须选其 中之一。
Or
逻辑或运算
Not Xor
逻辑非运算 逻辑异或运算
Not x>=6 “a”<“b” Xor 5<0 值为True
3<2 Eqv (31)<0 值为True
非运算对表达式的值取反。 异或运算两边表达式的值不 同,则结果为真,相等时结 果为假。
逻辑等运算两边表达式的值 相同,则结果为真,不相同 时,结果为假。
Visual Basic程序设计
主讲人:马正元
山东大学物理微电子学院
Visual Basic程序设计
第八讲
第四章 程序流程的控制 (一)
2
2019/2/11
关系表达式
本 章 要 点
2019/2/11
布尔表达式
选择结构
循环结构 常用控件的使用
3
§4.1关系运算符和关系表达式
4.1.1 关系运算符
< <= > >= =
表4-1
<>
2019/2/11
不等于
4.1.2
关系表达式
1. VB中的关系表达式格式为: <表达式1> <关系运算符> <表达式2> [ <关系运算符> <表达式3>], … ] 2. 说明: (1)其中<表达式>可为算术表达式、字符串表达式 和日期型表达式。 ( 2 )关系表达式求值的次序是先求关系运算符两边 表达式的值,再求关系表达式的值。关系表达式的 值为Boolean型,只有两个值True和False。 ( 3 )若关系运算符两边为算术表达式时,则应先计 算算术表达式的值,再进行关系比较。
2019/2/11 10
表4-2 布尔运算符
布尔运算符 And 物理意义 逻辑与运算 举例 2<3 And 5>3 值为True “a”>“b” Or 5>0 值为True 说明 与运算两边的表达式都为真 时结果为真,否则为假。 或运算两边的表达式只要有一 个为真,结果就为真(True) 两边都为假时结果才为假。
2019/2/11
31
(3)代码编写如下 Dim Pass As String Dim intD As Integer 编写单击命令按钮“确定”所执行的代码。 Private Sub Command1_Click() If Text1.Text = Pass Then intD = 3 Label1.Caption = “密码正确,_ 可以进入系统!" Else 2019/2/11 32
2019/2/11 9
§4.2布尔运算符和布尔表达式
对于不能用关系表达式表示的较复杂 的条件可用布尔表达式来表示。如上面提 到的数学不等式10<x≤20,在VB中,应表 示成x > 10 And x < = 20。
4.2.1布尔运算符和布尔表达式
1. 布尔运算符。 VB中共有六种布尔运算符,它们是: And、Or、Not、Xor、Eqv和Imp。
在 VB 中 不 能 把 数 学 中 的 不 等 式 10<x≤20表示成 10 < x < = 20,若表示 成10 < x < = 20这种形式,不论x为何 值关系表达式10 < x < = 20的值都为 True。 关系表达式10 < x < = 20相当于 (10 < x)< = 20由于(10 < x)的值 无论为 True(-1) 或 False(0) 都小于 20 , 所以10 < x < = 20的值总为True。这显 然与数学中的不等式的意义不同。
False
False
False
False
True
False
True
2019/2/11
13
4.2.2 VB运算符的优先级
VB运算符的优先级: 算术运算符运算级最高,关系运算符次 之,布尔运算符优先级别最低。 在算术运算符中,括号最优先,其它优 先次序依次是函数、乘方(^)、乘或除(* 或/)、整除(\)、求余(Mod)、加或减 (+或-)。 在关系运算符中,六个运算符的级别相 同。 在布尔运算符中最常用的三个布尔运算 符中, Not最高,And次之,Or最低。 2019/2/11 14
2019/2/11 16
§4.3 选择结构
4.3.1 If……Then……语句 1. 行If语句格式如下:
If <条件表达式> Then [<语句组1>] [ Else <语句组2>]
2. 块If结构格式如下: If <条件表达式> Then [ 语句组1] [Else [语句组2] ] End If
简单密码验证程序中窗休及各控件的属性的设
属性 Caption Caption Autosize Backcolor BorderStyle BackStyle 属性值 简单密码验证程 序 空 True 白色 1-Fixed Single 1-Opaque
29
说明 标题 用作输出 自动调节尺寸以适应内 容 设背景色为白色 有边框,边框为凹形的
2019/2/11 23
图4-2 计算分段函数的运行结果
2019/2/11
24
4.3.2 嵌套的If语句
如果上面的块If结构中的Then下面的语 句组1或者在Else下面的语句组2又包含另外 的If结构称If语句的嵌套,如: If <条件表达式1> Then [If <条件表达式2> Then 语句组1 当表达式1 Else 的值为真时 执行的语句 语句组2 组。 End If]
2019/2/11 19
【例4-1】计算分段函数:
Y=1+x Y=1+2*x (x0) (x<0)
Y
Y=1+X
X>=0
N
Y=1+2*X
工程设计步骤如下: (1)启动VB后选“新建工程”的“标准 EXE”出现一个窗体,在此窗体上添加一 个标签控件一个文本框和二个命令按钮如 下页图4-1左图所示。 (2)设置窗体及各控件的属性如下页图4-1 右图所示。
2019/2/11
表4-5 对象
简单密码验证程序中窗休及各控件的属性的设置(续) 属性 属性值 说明
Label2
Caption
Autosize
请输入密码:
False 不能自动调节尺寸
BorderStyle
Command1 Command2 Text1 Caption Caption Text
Passwordchar
11
Eqv
2019/2/11
逻辑等运算
表4-2 布尔运算符(续)
布尔运算符
物理意义
举例
说明
Imp
逻辑隐含运 算
3<2 Imp 3>0 值为True 3<2 Imp 5<2 值为True 3>0 Imp 2>0 值为True 5>3 Imp 3<2 值为False
逻辑隐含运算第一个表达式 的值为假(False)则第二个 表达式不论值为什么值,结果 都为真(True) 若第一个表达式值为真,则 第二表达式为真时结果为真。 为假时结果为假。
10
11
2019/2/11
And(与运算)
Or(或运算)
15
已知:a=3.5,b=5.0,c=2.5,d=1.0 则 下列表达式的运算次序为:
a>=0.0 and a+c > b+d or Not True ②True ①6.0 ①6.0 ③False ②False ④False
⑤False
最后结果为False。
2019/2/11 5
(4)若关系运算符两边为字符串表达
式时,按字符串中每个字母的ASCII 码逐一进行比较,若比较的前几个 字母的ASCII码都一样,而当比较到 后面哪一个字母不一样,则哪个字 母的ASCII码数值大,则对应的字符 串就大。
2019/2/11
6
例如: “qwert ” >= “qweRt ” 的值为True。 常见字符的ASCII值大小排列如下: “空格”<“0”<“1”<…<“9” <“A”<“B”<…<“Z” <“a”<“b”<…<“z” 若关系运算符两边为日期型表达式 时,按日期的先后次序,日期在前的值 小。
表4-4 VB运算符的优先级
运算优先级 1 2 3 4 5 6 运算符 ^(乘方运算) -(求负数) *或/(乘或除) \(整除) Mod(求余数) +或-(加或减) 算术运算符 运算符类型
7
8 9
&(字符串连接运算)
<=或<或>=或>或=或<> Not(非运算)
字符串运算符
关系运算符 布尔运算符
Y
N
语句组1
语句组2
百度文库
语句组3
语句组4
2019/2/11
27
【例4-2】简单密码验证程序。 工程设计步骤如下: (1)在窗体上添加二个个标签控件、一个 文本框控件和二个命 令按钮。 如图4-3所示。
(2)设置窗体与各控 件的属性如表4-5所示。
2019/2/11
图4-3
28
表4-5 置
对象 Form1 Label1
关系 运算符
VB提供六种关系运算符
说明
值为False 值为True 值为False 值为True 值为True 值为True
4
物理意义
小于 小于等于 大于 大于等于 等于
例子
若x=5,y=2求x<y的值 若x=2,y=4求x<=y的值 “3”>8 0>=(1<5) 若x= “wer” 求 x = “wer” “asd” <> “qwe”
2019/2/11 7
例如: #08/24/98# > #10/23/96# 值为True。 #09/13/00# < #09/12/99# 值为False。 3. 注意: 因为浮点数在计算机内不能精确表示, 所以在 VB中不能用“=”来比较两个单精度 或双精度数的浮点数。 例如: 5.0*4.0 = 20.0 在数学上是成立的,而 在VB中其值可能为False。若需要比较两个 浮点数时,则应写成下列形式: Abs(5.0*4.0-x) <= 1e-5 若(5.0*4.0-x)的绝 对值小于等于 1e-5时,则认为x等于 5.0*4.0 。 2019/2/11 8
2019/2/11
0-None
确定 退出 空 *
没有边框
标题 标题 用于用户输入密码 输入密码时显示的字符
30
判断密码程序N-S结构化流程图 判断输入密码是否正确 正确
不正确
在消息框中显示密码错误! Intd=Intd-1 Y Intd=0 N
在标签框中显 示密码正确, 可以进入系统!
退出程序
提示还有 几次输入 机会。
2019/2/11
值为真
条件表达式
值为假
语句组1
语句组2
17
3. 说明:
(1)If语句后面的<条件表达式>可以是前面
讲的算术表达式、关系表达式和布尔表达 式,执行该结构时应先计算 <条件表达式> 值,然后根据<条件表达式>值确定程序的 流向。 (2)当<条件表达式>的值为真,执行Then 后面语句组1中各语句;当<条件表达式> 的值为假,则执行Else后面的语句组2中各 语句。无论是执行语句组1或执行语句组2 中各语句执行完后,接着应执行End If。
2019/2/11 22
编写单击“退出”按钮执行的代码。 Private Sub Command2_Click() Unload Me End Sub (4)运行结果。按工具栏上的执行按 钮出现如图4-1右图所示的界面。单 击“计算函数的值”按钮出现输入对 话框如图4-2左图所示,输入数值后, 出现最后的结果如图4-2右图所示。
2019/2/11 20
图4-1 计算分段函数的界面设计及属性设置
2019/2/11
21
(3)编写代码如下:
编写单击“计算函数值”按钮执行的代码。 Private Sub Command1_Click() Rem 使用输入对话框提示输入自变量的值 x = Val(InputBox(“自变量的值”, “请输入”)) If x >= 0 Then y = 1 + x Else y = 1 + 2 * x Text1.Text = y End Sub
2019/2/11 25
4.3.2 嵌套的If语句
Else [If <条件表达式3> Then 语句组3 Else 语句组4 End If ] End If
2019/2/11
当表达式1 的值为假时 执行的语句 组。
26
块IF嵌套的N-S结构化流程图表示
条件表达式1 条件表达式2 Y N Y 条件表达式3 N
2019/2/11
12
表4-3 布尔运算真值表
a b
a And b
a Or b
Not a
a Xor b
a Eqv b
True
True
True
True
False
False
True
True
False
False
True
False
True
False
False
True
False
True
True
True
False