第3章流程控制语句
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
vbYes
6
是
vbNo
7
否
MsgBox函数“按钮”设置值
分组
按钮 数目
图标 类型
默认 按钮
内部常数
VbOkOnly VbOkCancel VbAboutRetryIgnore VbYesNoCancel VbYesNo VbRetyCancel
VbCritical VbQuestion VbExclamation VbInformation
当输入a、b、c 的值不满足d>=0时,程序出错,Why?
一 分支结构
根据表达式真假分别做出不同操作的结构
1. IF ..Then.. Else 语句:双分支结构
T 表达 F 式
IF <表达式> Then
<操作1> Else
语句(块)1
语句(块)2
<操作2>
End If
wk.baidu.com
功能:当表达式的值为“真”时,则执行Then后面的操 作1;否则执行操作2。
知道用户点击了哪个按钮, 第二种方法只是显示消息
内部常数
功能:打开一个消息框,
vbOk vbCancel
等待用户选择一个按钮。 vbAbout
MsgBox函数返回所选按 vbRetry
返回值
1 2 3 4
被单击的按钮
确定 取消 终止 重试
钮对应的整数值,其数值 vbIgnore 5
忽略
的含义见右表。
第三章 流程控制语句
Copyright © sqs@HEBUT
主要内容
分支结构
关系运算符与逻辑运算符 单分支 双分支 分支的嵌套结构 ElseIf多分支结构 select case结构
循环结构
do while for 循环嵌套
问题引出
一元二次方程求根:ax2+bx+c=0,输入a、b、c后求两 个实根x1,x2。(求根方法1)
Dim x1 As Single, x2 As Single, d As Single
a = Text1.Text
b = Text2
c = Text3
d=b*b-4*a*c
'计算△
If d >= 0 Then
x1 = (-b + Sqr(d)) / (2 * a)
x2 = (-b - Sqr(d)) / (2 * a)
VbDefaultButton1 VbDefaultButton2 VbDefaultButton3 VbDefaultButton4
按钮值
0 1 2 3 4 5
16 32 48 64
0 256 512 768
描
述
只显示确定按钮 显示“确定”、“取消”按钮 显示“终止”、“重试”、“忽略”按钮 显示“是”、 “否” 、 “取消”按钮 显示“是”、 “否” 显示“重试”、 “取消”按钮
另一种格式:If〈表达式〉Then 语句
单行格式,若then 后面的语句为多条语句,则要用冒号隔开 不用 End If 语句
单分支例
一元二次方程求实根 2个数比较大小 3个数比较大小
求根方法2:只求两个实根
'计算a*x^2+b*x+c=0 的两个根
Dim a As Integer, b As Integer, c As Integer
关键信息图标,红色STOP标志 询问信息图标 ? 警告信息图标 ! 信息图标 I
第1个按钮为默认 第2个按钮为默认 第3个按钮为默认 第4个按钮为默认
VbApplicationModale 模式 VbSystemModal
0 4096
应用模式 系统模式
Msgbox的使用
If d >= 0 Then x1 = (-b + Sqr(d)) / (2 * a) x2 = (-b - Sqr(d)) / (2 * a) Label1= x1 Label2= x2
Else MsgBox "该方程无实根", vbExclamation, "求根"
End If
t = MsgBox("该方程无实根!" & Chr(13) & "要重新输入吗?", vbYesNo + vbExclamation, "求根") If t = 6 Then ‘单击了“是” Text1 = "": Text2 = "": Text3 = "" Else ‘单击了“否” End End If
Not:非 And: 与 Or:或
2 If..Then..End If单分支结构
If 语句可进行变形,得到:
If 〈表达式〉Then 操作1
表达式
F
T
End If If 〈表达式〉Then
语句(块)
Else 操作1
End If 一般第2种形式很少用,多将条件反写得到第一种形式。单分支结构
Dim a as Single, b as Single, c as Single, d as Single Dim x1 as Single, x2 as Single a=text1:b=text2: c=text3 d=b*b-4*a*c x1=(-b+sqr(d))/(2*a) x2=(-b-sqr(d))/(2*a) Label1=x1 Label2=x2
表达式:条件
关系表达式
逻辑表达式
条件的书写
单一条件
由关系运算符构成关系表达式
>,>=, <,<=,=,<>(优先级别相同) 其值为: True 或 False
由数值表达式构成 一个为零的数值为 False,而任何非零数值都被看作 True
复合条件
指多个条件 由逻辑运算符连接逻辑值构成逻辑表达式
End If
双分支例:求根方法3<求复根>
Dim a As Integer, b As Integer, c As Integer
Dim x1 As Single, x2 As Single, d As Single
a = Text1.Text
b = Text2
c = Text3
d=b*b-4*a*c
'计算△
If d >= 0 Then
x1 = (-b + Sqr(d)) / (2 * a)
x2 = (-b - Sqr(d)) / (2 * a)
Label1= x1
Label2= x2
End If
问题: d小于0 时无反应?
用MsgBox函数显示提示信息
格式1:变量% = MsgBox (提示 [,按钮] [,标题]) 格式2:MsgBox (提示 [,按钮] [,标题])
说明:第一种是函数的使 用方法,能取得返回值,
MsgBox函数返回值的定义