程序流程有三种最基本的控制结构,即顺序结构、选择结构和

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

If x > 100 Then
Label1.Caption = "输入有误!"
其它的整100年,闰年停止出现一次
12
选择控制结构 选择控制结构又称分支结构
它体现了程序运行过程中的自我判断能力
程序可以根据当前执行的某个条件,进行比较、判断,并 依据判断的结果(成立与否)来决定下一步做什么,不做什 么(在两条或多条程序路径中选择一条来执行,即只执行程 序中的一部分语句)
可见,在此结构的程序运行过程中,有些语句会执行一次, 有些语句在此次程序运行过程中没有机会执行。即:“无论 分支多寡,必选其一;纵然分支众多,仅选其一”
关系运算符适用于数值型、字符型、日期型和逻辑型
数据,结果只能为逻辑型(真值True和假值False)
运算符两侧必须是同类型的量或表达式
若不是,系统会自动进行强制类型转换
“5”>4
0>(1>0)
若判断的结论是成立,则结果为逻辑真值(True),
否则为逻辑假值(False)
True的值等于-1,False的值等于0
Label1.Caption = “零”
Y
X=0
N
是零
是个 负数
Else
Label1.Caption = "负数"
End If
End If
下一语

22
嵌套IF举例 用户输入一元二次方程的系数,用户判断解的情况
a=Val(Text1.Text):b=Val(Text2.Text):c=Val(Text3.Text)
x Mod 3=0 OR x Mod 5=0 OR x Mod 7=0
表示身高不在1.65米以上或不是女生
身高<1.65 OR 性别<>“女”
NOT(身高>=1.65 AND 性别=“女”)
8
?-3<-2布<-尔1 表达式练习 False a=3:b=4:c=5
?a=b=c False 表示一个数x是能被3整除的奇数 x Mod 3=0 and x Mod 2< >0 x Mod 2=1 and x Mod 2< >0 表示一个数x∈[2,5] x>=2 and x<=5 表示一个数x不在[2,5]区间内 x<2 or x>5
d=b^2-4*a*c
If d > 0 Then
Label1.Caption = “不同实根 "
Y △>0
N
Else
If d = 0 Then
有两个不相
Label1.Caption = “相同实根同"的实根
Else
Label1.Caption = "没有实数解"
Y
△=0
N
有两个相同 的实根
没有实 数解
“1”>“2”
“a”<“b”
日期型数据按照前后顺序比较
#01/01/2003#> # 12/31/2002# 5
关系表达式练习 数值型数据按照数值大小比较
字符型数据按照字符的ASCII码值大小比较 ①False
日期型数据按照前后顺序比较
① ?2/3>3/4
②False
② ?“a”> “b”
③True
T
T
F
F
F
T
F
T
T
F
T
F
F
T
F
F
7
?“a”>“b布” 尔AND表1>达2 式练习 False
?“a”>“b” OR 1<2
True
?NOT 2*5<>11
False
?2^3>3 AND 5>10
False
表示一个数是偶数
x Mod 2=0 或 int(x/2)=x/2
表示一个数X能被3或5或7整除
角形的面积
Dim a As Single, b As Single, c As Single a=Val(Text1.Text):b=Val(Text2.Text):c=Val(Text3.Text) s=(a + b + c) / 2 If a+b>c And c>0 And a+c>b And b>0 And b+c>a And a>0 Then area = Sqr(s * (s - a) * (s - b) * (s - c)) Label1.Caption="能构成三角形,"&"三角形面积为:"&Str(area) Else Label1.Caption="不能构成三角形" End If
Mod 400=0 AND y Mod 100=0 ) (y Mod 4=0 AND y Mod 100<>0 ) OR y
Mod 400=0
11
判断闰年的科学依据 地球公转一周的时间为:365天5小时48分56秒
每经过4年,剩余的时间为:5小时48分56秒×4=23小时15分44秒 则每4年都要多加24小时- 23小时15分44秒=44分16秒 每经过100年,就会多加44分16秒×25=18小时26分40秒 比较接近一天,所以每到100年,就将这多加的近似一天的时间减去, 即停止追加一天 而实际上又少加了24小时- 18小时26分40秒=5小时33分20秒 每经过400年,就会少加4 × 5小时33分20秒≈24小时 所以每过400年,就应该再补加一天 故:每4年闰年出现一次;每400年,闰年再出现一次
Dim x As Single x=Val(InputBox("请输入一个成绩:", "输入", 0)) If x >= 60 Then
Label1.Caption = "及格" Else
Label1.Caption = "不及格" End If
19
示例(:I输F入-ATBCH的E值N,-判E断L能S否E构-成E三N角D形,I如F果)能举,计例算三
x=Val(Text1.text)
If x>0 Then Label1.Caption=x Else Label1.Caption= “非正数"
例二:根据用户输入的一个成绩,判断是否及格
Dim x As Single X=Val(InputBox("请输入一个成绩:","输入",0)) IF X>=60 THEN Label1.Caption=“及格” Else Label1.Caption=“不 及格”
③ ?3<=5
④ True
④?True=-1 ⑤ ?#01/12/91#<=#02/01/91
#
⑤True ⑥ False
⑥ ? “abc”<= “abb”
⑦True
⑦ ? “ab”<= “我们”
⑧False
⑧ ?“123”>“99” ⑨ ?“你们”>“我们”
⑨False 6
布尔运算符 符号: NOT (逻辑非) AND (逻辑与) 即:并且,要同时成立
If语句的嵌套
21
嵌套IF举例 用户输入一个数,如果是正数,打印是个百度文库数;
如果是0,打印是个零;如果是负数,打印是负数
Dim x As Single
x = Val(Text1.Text) If x > 0 Then
Y
X>0
N
Label1.Caption = "正数"
Else
是个 正数
If x = 0 Then
3
运算 名 称 符 < 小于
<= 小于或等 于
> 大于
>= 大于或等 于
= 等于
<> 不等于
关示系例运算符 说 明
“3”<4 3<=4
值为:True,强制转换为 数值型
值为:True
0>(1>0)
值为:True,强制转换为 数值型
“aa”>=“ab” 值为:False
1=True 1<>1
值为:False,强制转换为 数值型
20
IF语句的嵌套
语句格式:
IF <条件1> THEN [<语句列1>]
ELSE
Y 语句列1
条件1
N
Y
条件2
N
语句列2
语句列3
IF <条件2> THEN
[<语句列2>]
ELSE [<语句列3>]
END IF END IF
说明:
下一语句
如果在If语句的语句列1或语句列2
中又有一个完整的If语句,则称为
语句格式:
IF <条件> THEN [<语句列1>]
[ELSE <语句列2>]
END IF
执行过程:
IF)
Y
条件
N
命令序列1
命令序列2
判断给定的条件 •如果成立(其值为True),执行所给
下一语句
y语句序列1,然后执行下一条语句
•否则(其值为False),执行所给语
句序列2,然后执行下一条语句
18
示(例I:F根-据T用H户E输N入-的E一L个S成E绩-,EN判D断是I否F及)格举例
关系表达式 / 逻辑表达式
If...Then / If...Then...Else 条件语句的嵌套
多分支语句 选择性控件
计时器控件
select case
单选按钮 / 复选框 列表框/组合框
程序举例
2
关系运算符 符号: <小于 >大于 >=大于或等于 <=小于或等于 =等于 < > 不等于
适用的类型和结果类型:
OR
(逻辑或) 即:或者,只要有一个成立
适用的类型和结果类型:
只适用于逻辑型数据,运算结果是逻辑值
规则:
非运算的规则是:直接求反即可
与运算的规则是:只有二者全为真时结果为真,否则为假
或运算的规则是:只有二者全为假时结果为假,否则为真
逻辑值 逻辑值 NOT A A AND B A OR B
A
B
T
T
F
T
值为:False
4
关系表达式 关系表达式的格式:
<表达式1> <关系运算符> <表达式2> [<关系运算符> <表达式3>…]
运算次序:先分别求出运算符两侧表达式的值,
然后再将二者进行比较
其中:数值型数据按照数值大小比较
2+3>6
3>=0
5<>2^3
字符型数据按照字符的ASCII码值大小比较
“A”> “a”
使用IIF函数,也可以实现相应的判断 格式:IIF(条件,条件为真时的值,条件为假时的值)
16
IIF函数的使用
Dim x As Single x=Val(Text1.text) If x>0 Then Label1.Caption=x Else Label1.Caption= “非正数”
Label1.Caption=IIf(x>0,x,“非正数”)
VB中的选择语句有: 单行(IF-THEN-ELSE) 双分支语句 块结构(IF-THEN-ELSE-END IF) 多分支语句(Select Case)
13
选择结构(IF-THEN)
语句格式: IF <条件> THEN <语句序列>
执行过程:
判断给定的条件 •如果成立(其值为True),执行所给语 句序列,然后执行下一条语句 •否则(其值为False),跳过所给语句 序列,直接执行下一条语句
执行过程:
判断给定的条件
Y
条件
•如果成立(其值为True),执行所给 语句序列1,然后执行下一条语句 命令序列1
•否则(其值为False),执行所给语
句序列2,然后执行下一条语句
N 命令序列2
下一语句
15
例一:输入一(个I数F,-如T果H是E正N数-,E就L输S出E;)否举则显例示非正数
Dim x As Single
程序流程有三种最基 本的控制结构,即顺序结构、选 择结构和循环结构。
在一个过程中,程序通常是 按照由上而下的顺序来执行各个 语句的,直到整个过程结束。引 入选择结构和循环结构,可以改 变程序执行的流程。
1
本章主要内容
选择程序结构用于判断给定的条件,根据判断的 结果来控制程序的流程
条件表达式 条件语句
9
运算符的优先顺序
优 算术运算符
先 级
字符串运算符:&
依 次
关系运算符:=、<>、<、>、<=、>=
降 低
布尔运算符:Not
And
Or
10
运算符的优先顺序练习
设变量x=4,y=-1,a=7.5,b=-6.2,求表达式 x+y>a+b And Not y<b的值 True
y表示年号,用一个表达式表示该年是否是闰年 (y Mod 4=0 AND y Mod 100<>0 ) OR (y
示例: 输入一个数,如果是正数,就输出 x=Val(Text1.text) If x>0 Then Label1.Caption=x
条件
Y
N
语句序列
下一语句
问题:如果不是 正数,应该显示
“不是正数” 14
选择结构(IF-THEN-ELSE)
语句格式: IF <条件> THEN [<语句序列1>][ELSE <语句序列2>]
End If
End If
下一语

23
嵌套IF举例
用户输入一个成绩, 若在90到100之间,打印优秀; 若在80到89之间,打印良好; 若在70到79之间,打印一般; 若在60到69之间,打印及格; 若在60以下,打印不及格; 其它情况,打印输入有误
Dim x As Single
x = Val(Text1.Text)
Dim x As Single X=Val(InputBox("请输入一个成绩:","输入",0))
IF X>=60 THEN Label1.Caption=“及格” Else Label1.Caption=“不及
格”
Label1.Caption=IIf(x>=60,“及格”,“不及格”)
17
块结构(IF-THEN-ELSE-END
相关文档
最新文档