VB语言IF选择结构
vb的三种基本结构

③. j = 0 If J>0 Then J=J+1 Endif
2.以下程序,运行后 x的值为 ( ) x =2 y= 3 y=y+1 x=x+y-1 A. l B. 3 C. 5 D. 7 3、以下程序,运行后变量value的值为 ( ) X = 20 If x >= 10 then value = 5 * x else value = 4 * x end if msgbox(value) 最后,变量value的值是( ) A、50 B、40 C、100 D、80
vb程序的三种基本结构一顺序结构二选择结构三循环结构程序是由若干个基本结构组成的一个基本结构可以包含一条或若干条语句
VB程序的三种基本结构
程序是由若干个基本结构组成的,一个基本结构可以包 含一条或若干条语句。
通常程序有三种最基本的结构:
一、顺序结构 二、选择结构 三、循环结构
1、 顺序结构: 将命令和语句逐条顺序排列。 程序执行时按语句的先后顺序逐条执行。 S1
4、以下程序,运行后 X的值为 ( ) X =2 For i=1 To 5 If X<i Then X= X+i End If Next i A. l B. 3 C. 5 D. 7
例1、 ห้องสมุดไป่ตู้=1 b=2 c=a+b a=c-a b=c-a
最后,变量b的值是( )
S2 S3
2、分支结构:(选择结构) 根据条件判断其是否成立,如果成立执行成立的分支;否则 执行另一分支。 其一般形式为: If 条件 Then 语句序列1 C Else 语句序列2 End If 分支结构的简单形式为: If 条件 Then 语句序列 End If S1 S2
C
例4、s=0 for I=1 to 100 s=s+I next 最后,变量s的值是( )
vb选择结构If语句的嵌套

If x >= 0 Then
If x > 0 Then
y=1
Else
y=0
End If
Else
y = -1
End If
Text2.Text = y
End Sub
第9页/共14页
图5-2
Private Sub Command1_Click() 【例5-2】输入变量x,计算y。 Dim x As Single, y As Single
-1 x<0 y= 0 x=0
1 x>0
第5页/共14页
If语句的嵌套
如果在If语句中,语句序列1或语句序列2本身 又是一个If语句,则称为If语句的嵌套。其语法格 式为:
第6页/共14页
If <条件1> Then If <条件2> Then 语句1 Else 语句2 End If
Else If <条件3> Then 语句3 Else 语句4 End If
End If
Label3.Caption = y
End Sub
第10页/共14页
小结
If语句的嵌套格式、功能及执行过程。
在编写程序过程中出现的常见问题。
第11页/共14页
作业
作业 P95,5.14,5.15
的观看!
第14页/共14页
本节的教学目标
掌握If语句的嵌套格式、功能及具体执 行过程; 学会用嵌套的If语句解决日常生活中的 实际问题。
第1页/共14页
本节的教学重点与难点
IF语句嵌套的格式及执行过程; 如何对条件语句进行嵌套设计。
第2页/共14页
上节内容回顾
1、行If语句
VB6教程第4章选择结构

VB6教程第4章选择结构在编程中,选择结构是一种非常重要的结构。
它允许根据条件的不同来决定程序的执行路径,从而实现不同的操作。
VB6提供了几种选择结构,包括If语句、Select Case语句和条件运算符。
1.If语句If语句是最基本的选择结构之一,它允许根据一些条件来选择不同的代码块执行。
语法如下:If condition Then' code blockElseIf condition Then' code blockElse' code blockEnd If其中,condition是一个表达式,根据其真假来确定执行哪个代码块。
如果第一个条件为真,则执行第一个代码块;如果第一个条件为假而第二个条件为真,则执行第二个代码块;如果所有条件都为假,则执行最后的代码块。
2. Select Case语句Select Case语句是另一种常用的选择结构,它可以根据一个表达式的值来选择不同的代码块执行。
语法如下:Select Case expressionCase value1' code blockCase value2' code blockCase Else' code blockEnd Select其中,expression是要评估的表达式,根据其值来决定执行哪个代码块。
每个Case后面是一个值或一组值,表达式的值匹配任何一个Case 后面的值时,执行对应的代码块;如果没有匹配的值,执行Case Else后面的代码块。
3.条件运算符条件运算符是一种简洁的选择结构,它可以将多个条件合并在一个表达式中,根据不同的结果执行不同的操作。
条件运算符有三种形式,分别是If-Then-Else、If-Then和If-Then-ElseIf-Then。
语法如下:If condition1 Then result1 Else result2If condition Then resultIf condition1 Then result1 ElseIf condition2 Then result2 Else result3其中,condition是一个表达式,根据其真假来决定执行哪个结果。
大学vb 第3章 选择结构(If语句)

未超
End If
语句应用
问题3:希望程序给出重、轻和标准三种提示 。
If BMI > 23 Then
超重
ElseIf
Else BMI>=19
Then
标准 偏轻
End If
演示
……
ElseIf 温暖 Then 挤挤眼
跺跺脚
Else
伸伸腰 End If
语句应用(体重测试)
体重指数BMI 10000* 体重公斤 身高厘米
2
BMI<19,偏轻 19≤BMI≤23,标准 BMI>23,超重
语句应用
问题1:希望程序给出超重的提示 。
If BMI > 23 Then 超重
End If
BMI<19,偏轻 19≤BMI≤23,标准 BMI>23,超重
语句应用
问题2:希望程序给出超重和未超两种提示 。 If BMI > 23 Then 超重 Else Else If BMI <= 23 Then 未超 超重 End If
BMI<19,偏轻 19≤BMI≤23,标准 BMI>23,超重
If 语句:
单分支(一种执行结果) 双分支(两种执行结果选一) 多分支(多种执行结果选一)
下次课内容:
3.4 分支(选择)结构
实验作业:
实验作业5
如果 当前输入的密码=系统保存的密码 那么 登录成功 如果 当前输入的密码<>系统保存的密码 那么 重新登录
数学中比较的例子: 分段函数
VB中的IF语句

Print “哇,中度肥胖了!” End If If weight > (high - 110) + (high - 110) * 0.5 Then
再试一下
End If
End If If (weight <= (high - 110) + (high - 110) * 0.2) And (weight > (high - 110) + (high - 110) * 0.1) Then
Print “注意了哦,有点超重了!” End If If (weight <= (high - 110) + (high - 110) * 0.3) And (weight > (high - 110) + (high - 110) * 0.2) Then
-1 , x<0
分支结构1
if _x_<_0_ then 分支结构2 _y_=_-1_
else if _x_=_0_ then _y_=_0_ else _y_=_1_ end if
end if print y
分支嵌套——双分支嵌套双分支
if 条件1 then
语句1
else
分
if 条件2 then
else 语句B
end if
if 条件1 then
语句1
else
if 条件2 then
vb选择结构——if语句

程序的选择结构(二)——if条件语句学校:汕头市东厦中学年级:高一级教师:蔡少如【教材分析】本节课的教学内容是广东教育出社版、高中课程标准实验教材选修模块一《算法与程序设计》中的第2章2.3节《程序的选择结构》第2课时2.3.2 《程序的选择结构---条件语句》,是在上两课时(2.1—2.2)学习了VB程序的顺序结构和初步学习if语句的基础上,进一步深入学习if语句。
在解决实际问题的过程中,常常需要对事物进行判断和选择。
如何在程序设计中能够实现判断和选择,条件语句是重要的选择方式之一。
但在实际问题中经常会遇到多重嵌套的情况,如何理清思路成了解决问题的关键。
在讲解这一知识点时,采用从简到繁的思路,引导学生经历分析问题、设计算法、编写程序等编程的整个过程。
通过分析、设计程序,让学生体验V B语言的条件语句的格式、功能、执行过程,特别是嵌套的条件语句格式。
同时,让学生体验自主学习,体验编程的乐趣。
【学情分析】本节课的教学对象是高一学生,据了解,只有少数部分的学生在初中阶段接触过计算机程序。
目前由于受到教学环境的限制,学生暂时只能在普通教室上课,这给信息技术的教学带来较大的不便。
考虑到高一数学必修(3)有《算法》一章,同时算法设计的教学过程不用过多依赖上机操作,因此提前给学生讲授高一选修教材《算法与程序设计》。
学生经过前面两节课的学习,对算法的设计和程序的编制过程已经有初步的了解,基本上掌握了常用的程序语句,如input box()函数,赋值语句,输出语句,初步认识if语句等,对程序设计已经产生一定兴趣,但由于在程序设计过程中,涉及数学、英语学科知识点较多,学生还没有足够的相关知识储备,且学生没有上机操作的机会,导致教学活动在实践过程中存在一定的困难。
高一VB程序选择结构if语句

程序的选择结构
程序的三种基本结构
顺序结构 选择结构 循环结构
选择控制结构可以用选择语句来表示。选择语 句能使程序在执行过程中,根据不同的判断结 果,选择执行不同的处理。选择语句的主要形 式是if语句。
请你来翻译
如果X和6000相等,那么输出猜中了;
ห้องสมุดไป่ตู้
If x = 6000 Then Print "猜中了"
单分支条件语句格式(块)
块 If 语 句
If 条件表达式 Then 语句块 End If
告诉这个语句结束了, 所以是必须的!!!
例:在文本框中输入一个整数,判断该数是不是偶数
Dim x As Integer X=Val(Text1.Text) If x mod 2 = 0 Then Label1.Caption = x & “是偶数” End If
双分支条件语句格式
If 条件表达式 Then 语句块1 Else 语句块2
行If语句
If 条件表达式 Then
块 If 语 句
语句块1
Else
语句块2 End If
语句结束标记不可少!
练习:在文本框中输入一个整数,判断该 整数的奇偶性。
输入x
T
X Mod 2=0?
F
输出奇数
Dim x As Integer 输出偶数 X=Val(Text1.Text) If (x mod 2) = 0 Then Label1.Caption = x & “是偶数” Else ‘增加else子句,显示奇数 Label1.Caption = x & “是奇数” End If
如果X小于a,那么输出数低了;
If x < a Then Print "数低了" 如果X大于a,那么输出数高了; If x > a Then Print "数高了" If……then…… 如果……那么……
VB选择结构程序设计

VB选择结构程序设计在VB程序设计中,选择结构是一种常用的程序设计结构,用于根据不同的条件执行不同的代码块。
在本文中,我们将探讨VB选择结构的基本语法和一些实际应用。
选择结构主要有两种形式:IF-THEN和SELECTCASE。
IF-THEN结构是最基本的选择结构,它根据条件的真假来决定是否执行特定的代码块。
它的语法如下:```If condition Then'执行的代码块Else'执行的代码块End If```其中,condition是一个返回布尔值的表达式。
如果condition为True,那么执行if后的代码块;否则执行else后的代码块。
下面是一个简单的例子,根据用户输入的成绩判断是否及格:```vbDim score as Integerscore = InputBox("请输入成绩:")If score >= 60 ThenMsgBox("及格")ElseMsgBox("不及格")End If```SELECTCASE结构类似于多重IF-THEN结构,它根据不同的条件选择执行特定的代码块。
它的语法如下:```Select Case expressionCase value1'执行的代码块Case value2'执行的代码块Case Else'执行的代码块End Select```其中,expression是一个可以返回一个值的表达式。
根据expression的值,选择执行相应的代码块。
Case后跟着的是可以匹配expression的值的值。
如果expression的值与一些Case后的值匹配,那么执行对应的代码块;否则执行Case Else后的代码块。
下面是一个简单的例子,根据用户输入的数字判断是星期几:```vbDim day as Integerday = InputBox("请输入数字(1-7):")Select Case dayCase 1MsgBox("星期一")Case 2MsgBox("星期二")Case 3MsgBox("星期三")Case 4MsgBox("星期四")Case 5MsgBox("星期五")Case 6MsgBox("星期六")Case 7MsgBox("星期日")Case ElseMsgBox("请输入1-7的数字")End Select```在实际应用中,选择结构经常用于根据用户的选择执行不同的操作。
VB选择结构

注意:
1)不管有几个分支,程序执行了一个分支后, 其余分支不再执行; 2)ElseIf 不能写成Else If 3)当多分支中有多个表达式同时满足,则只 执行第一个与之匹配的语句块
例题2
用编程方法求函数值
Y=
1( x > 1) 0(x = 0) − 1( x < 0
)
[90,100] [80,90]
代码:
Select Case Val(Text1.Text) Case 0 To 59 Text2 = "不及格 不及格" 不及格 Case 60 To 69 Text2 = "中等 中等" 中等 Case 70 To 79 Text2 = "良好 良好" 良好 Case 80 To 100 Text2 = "优秀 优秀" 优秀 Case Else Text2 = "输入成绩有误 输入成绩有误" 输入成绩有误 End Select
注意
表达式一般为关系表达式、逻辑表达式, 也可以为算术表达式,非0为True,0为 False 语句块可以是一句或多句,若用格式2表 示,则只能是一句语句,若多句,语句间 若多句, 若多句 需用冒号分隔,而且必须在一行上书写。 需用冒号分隔,而且必须在一行上书写
双分支If语句 双分支 语句
语句形式: 语句形式: 1) If 条件 语句 Else 语句2 语句1 句 2) If <表达式 Then ) 表达式> 表达式 <语句块 语句块1> 语句块 Else <语句块 语句块2> 语句块 End If
例题1
判断所输入值与0的关系 代码: x = Val(InputBox("请输入x的值")) If x >= 0 Then Print "x>=0" Else: Print "x<0" End If
VB语言IF选择结构

语法结构:
<条件>
<语句组>
<语句组>
真 条
件
语句组1
假
语句组2
若语句为一个语句 时, 函数可代替
(或条件<语表句达语式句> )<语句> <语句>
问题:输入的值,计算如下函数对应的值。
y
x 2
x
2
1 1
x ≥0 x <0
代码表示为: ,
分(析("请:输本入题变中量条的件值可"))为: ≥ (>)当“≥”成立时, ^ ()当“^ <” '成>时立计时算, ^
1T 语句组 Case 条件 2
2T 语句组 … Case Else F 语句组 End Select
作用
条件成立,只执行 T 语句组;
条件不成立,只执行 F 语句组。
表达式的结果 当条件 1 成立,只执行 1T 语句组; 当条件 2 成立,只执行 2T 语句组; …… 若全部条件都不成立,则执行 F 语句组;
VB语言IF选择结构
程序的控制结构
• 顺序结构:从上到下逐一执行每一个语句 • 选择结构:根据给出的条件,选择执行一个分支 • 循环结构:根据给出的条件,判断是否重复执行某一部分语句
顺序结构
选择结构
循环结构
语句1 语句2 语句3
False
条件? True
T语句组
F语句组
条件? True
False
循环体 语句
< "良好"
< "优秀"
< "不及格"
< "及格"
VB第3章第3节2-If语句

If x > a / 2 Then y = x TextBox1.Text = "a=" & a TextBox2.Text = "x=" & x TextBox3.Text = "y=" & y 也可以使用下列的If-Then-ElseIf语句得到相同的结果:
说明: (1)If语句中的条件为关系表达式、逻辑表达式、 数值表达式。 若数值表达式的值非0,则If语句中的条件为True; 若 数 值 表 达 式 的 值 为 0 , 则 If 语 句 中 的 条 件 为 False。 例如: Dim x As Integer, y As Integer x = 3: y = 2 If x + y Then x = y 其中,If语句的条件是一个数值表达式,由于 该表达式的值等于5(非0为True),因此条件满 足,将y的值赋给x。
(3)Then部分的语句和 Else部分的语句都可以是多 个语句。
第3章 面向对象程序设计——第3节 2 选择结构语句
(4)If-Then-Else语句的流程图:
Y 条 件P
N
语句1
语句2
第3章 面向对象程序设计——第3节 2 选择结构语句
例:计算分段函数
sin x x 2 1 y cos x x 3 3x x0 x0
第3章 面向对象程序设计——第3节 2 选择结构语句
If x < -a Then y = 0 ElseIf (x > -a) And (x <= a / 2) Then y = Math.Sqrt(a * a - x * x) ElseIf x > a / 2 Then y = x End If
Vb-程序的选择结构select-case结构

Label1. Caption = strC + "是数字字符"
Else
Label1. Caption = strC + “是其他字符"ห้องสมุดไป่ตู้
End If
将以上语句用Select Case语句实现
【例2】:评定成绩等级 90~100:“优”80~89:“良” 70~79:“中”60~69:“及格”
60分以下为“不及格”
2.测试表达式类型应与Case表达式类型一致
【例1】:变量strC中存放一个字符,判断是字母、数字
If Ucase(strC) >=“A” And Ucase (strC) <=“Z” Then
Label1.Caption= strC + "是字母字符"
ElseIf strC >="0" And strC <="9" Then
Is 关系运算表达式
Case is <30
数值或字符串表达式,表述固 定值之一
用来指定一个范围,较小的 在To前,较大在To后
可配合比较运算符来指定一 个数值范围,不能用逻辑运 算符将两个或多个简单条件 组合在一起
注意: 1. 以上几种形式可以混用, 例如: Case Is < -5 , 0 , 5 To 100
C = Val(Text3.Text): Picture1.Cls If A = 0 Then
If B = 0 Then MsgBox "系数为零,请重新输入"
Else X = -C / B: Picture1.Print "X="; X
End If Else
VB编程6.0_选择结构

学 中 怀 茂 Case 院 (后面的)表达式: 一 示例: 表达式1[,表达式2]... a=InputBox(“请输入一个字”) 例如: Case 1 , 3 , 5 Select Case a 表达式1 TO 表达式2 Case is=“。” 例如: Case 10 TO 30 Print “是句号” Case "A" TO "Z" Case “,” Is <关系运算符><表达式> Print “是逗号” 例如: Case Is >= 10 Case "a" To "z" Case Is = 0 Print “是小写字母" 注意: 测试表达式类型应与Case 表达式类型一致,且三种形式可 以混用,如: Case Is < -5 , 0 , 5 To 100
VB 程 序 设 计 选 择 结 构 ——
茂 怀
院 IF单行选择语句 一 4:
名 远
学 中
(1). 基本格式 If <条件> Then 语句组A [Else 语句组B]
注:此语句没有End if
VB 程 序 设 计 选 择 结 构 ——
(2). 执行方式:流程图
示例:If score >= 60 Then Print “通过!” Else Print “未通过.” Print "继续努力!"
If a > b Then
If t a= >a: ba Then t= =t a: a = b: b = t = b: b End If Print a , b
End Sub
茂 怀
院 多分支选择语句 Select Case 一 5:
vb选择结构——if语句

print a+b
If条件选择语句 If条件选择语句
• 从键盘上输入两个数,输出其中比较大的一个;若两 从键盘上输入两个数,输出其中比较大的一个; 数相等,则输出“输入的两个数相等” 数相等,则输出“输入的两个数相等”。 问题分析: 问题分析: 1. 输入 ,b 输入a, 2. 如果 a>b, 那么输出 的值 输出a的值 , 那么输出 3. 否则判断如果 否则判断如果a=b,那么输出提示“输入的两个数相等” 判断如果 输出提示“ ,那么输出提示 输入的两个数相等” 4. 否则输出 的值 否则输出 输出b的值
r=inputbox( 请输入圆的半径r”) r=inputbox(“请输入圆的半径r”) r” Pi=3.14 S=3.14*r*r 输出语句 Print “圆的面积s=”;s “圆的面积s=”; 圆的面积s=”
例如
若输出的内容是数、变量、表达式,则输出对应的值。如果用引号 引起来的字符串,则原样输出;
知识点回顾: 知识点回顾:
提供从键盘输入数据的函数 inputBox(提示信息, 标题,默认值,位置] inputBox(提示信息,[标题,默认值,位置]) 例如 r=inputBox( 请输入圆的半径r”) r=inputBox(“请输入圆的半径r”) r” 变量名=表达式 变量名=
赋值语句 例如
知识点回顾: 知识点回顾:
选择结构——If条件语句 选择结构——If条件语句 ——If
If
是 条件成立吗? 条件成立吗? 否 语句组2 语句组
语句组1 语句组
பைடு நூலகம்
条件成立 语句组1 语句组1 [ Else 语句组2 语句组2 ] End If
then
一个If对应一个End 一个If对应一个End If If对应一个
vb if语句 选择结构

if <条件> then <语句序列A> else <语句序列B>
例
If score>=90 then
print “优秀”
print “恭喜你!”
Else
print “加油!”
End if
块格式:
If <条件> Then [A组语句]
Else [B组语句]
END If
等价于: If score >= 90 Then print“优秀”:print“恭喜你!”Else Print“加油! ”
语句组n
语句组n+1
注意:
多分支语句中,有多个分支同时满足, 只执行第一个 与之匹配的语句块。
注意 ElseIf 的写法 可以有任意多个Elseif子句;else放最后,最多一个
。
9
4.2.1 if条件语句
小
If 结构
结
一.单分支(If…Then 结构 ) 二. 双分支(If…Then…Else 结构) 三. 多分支(If…Then…ElseIf 结构)
If score>=90 then
print “优秀”
例 print “恭喜你!”
End if
4.2.1 If 条件语句
二.双分支(If…Then…Else)
格式:
if <条件> Then
[A组语句] Else
[B组语句] END If
条件 T
A组语句
F
B组语句
4.2.1 If 条件语句
➢ 单行语句(双分支)
4.2.1 VB中的选择语 句
——IF语句
一、单分支(If…Then)
022 VB编程之IF语法

选择结构我们在处理一些问题时,常常需要根据某些给定的条件是否满足来决定下一步需要执行的操作。
选择结构就是对给定的条件进行判断,从而选择执行不同的分支。
例如,我们在学校衡量学生成绩等级时,需要将具体的成绩转换为对应的等级(优良中差),对于这类问题处理,采用顺序结构是无法实现的,这种情况就需要使用选择结构来处理。
在VB系统中,选择结构有三种形式,分别是If语句,Select Case语句和IIf 函数。
这里先介绍IF语句。
If语句If语句有单分支、双分支和多分支3种结构。
单分支结构(If...Then语句)单分支结构有单行和多行两种形式。
结构流程图如下图:具体语法格式描述如下:单行形式:If <条件> Then <语句块>单行形式多用于<语句块>内的语句较少的情况,因其省略了End If结束语句,因此采用单行形式会使得整个代码更加的简洁。
多行形式:If语句,除了单行形式省略End If结束语,其它形式都必须有End If作为结束标识。
含义:执行If...Then语句时,如果<条件>成立(为True),则执行<语句块>种的内容。
如果不成立(False),则不执行<语句块>的内容,而是执行If语句后面的语句。
说明:<条件>一般为关系表达式、逻辑表达式,其值为boolean类型或者数值类型。
对于数值类型,系统会将数值为0的值转换为False,而非0的数值则转换为True。
<语句块>可以是一条语句,也可以是多条语句。
在单行形式中,如果是多条语句则必须写在一行之中,并用冒号分隔开语句。
举例:设计一个程序,比较与交换x和y的值,使得x大于y单行形式:多行形式:双分支结构(If...Then...Else语句)双分支结构也具有单行形式和多行形式两种。
其流程图如下图所示:双分支结构的语法格式如下:单行形式:多行形式:当<条件>为True时,执行<语句块A>,否则执行<语句块B>举例:判断一个整数x是偶数还是奇数单行形式:多行形式:多分支结构(If...Then...[ElseIf...][Else...]End If语句)多分支结构的If语句一般写成多行形式,这样条理清晰,便于阅读和理解。
VB选择结构

3.2字符串运算符与字符串表达式 字符串运算符有两个:“&”、“+”,是例如: “Hello” & “ World” “Check” & 123 “Check” + 123 结果为“Hello World” 结果为“Checkl23” 错误
注意: “&”和“+”这两个运算符的区别:“+”运算符两边的操作数应均为字符串。 如果都为数值型,则进行算术运算;如果有一个为字符串,另一个为数值 型,则出错。“&’’运算符两边的操作数不论是数值型的还是字符串型的, 都进行字符串的连接运算,系统先将数值型操作数转换为字符串,然后再 进行连接运算。
3.1强制显式声明
VB可采用强制声明功能,使所有变量都必须先声明后使用. 这样,若运行时遇到一个未经明确声明的变量名,VB就会 发出错误警告。 声明方式: 可在窗体模块或标准模块的声明段中加入语句: Option Explicit 在“工具”菜单中打开“选项”对话框,单击“编辑器” 选择“要求变量声明”选项,即可自动插入 Option Explicit语句.
选择结构
IF语句 IF语句
1.1 单行结构条件语句 格式:If <条件> Then [<语句组1>][Else <语句组2>] 功能:如果<条件>成立,则执行<语句组1>,否则执行 <语句组2>。 •<条件>可以是关系表达式、逻辑表达式、数值表达式或 字符串表达式。 <语句组1>和<语句组2>可以有多条语句,各语句之间用 冒号隔开。
VB中的IF语句(精)

判断的顺序改 变一下能够有 更大的优化, 再试一下
VB程序代码中一行可 以写多个语句,语句 间用冒号隔开。
嵌套分支结构
• 在分支结构的一个分支上再加入一个分支结构。
• 类型有多种,比如:单分支嵌套单分支、双分支嵌套双分 支等
嵌套分支结构
开始
开始 F
表达式 1? T F 表达式 2? T 语句块1 语句块2 语句块2
表达式1? T 表达式2? T 语句块 F
流程图
程序代码
• • • • • • • • • • if n<=4 then pay=3*person else if n<=9 then pay=4*person else pay=5*person end if end if print pay
小结
if
单分支结构
条件 then 语句A end if if 条件 then 语句A else 语句B end if 条件1 then 语句1 else if 条件2 then 语句2 else 语句3 双分支嵌套双分支 end if end if if
猜:
V the weather is good tomorrow, then I will go to the park.
If · · · · · · then · · · · · · (如果· · · · · · 那么· · · · · · )
• If the weather is good tomorrow, then I will go to the park, else I have to stay at home.
结 束
开 始
顺序结构 正 确 的 应 该 是 这 样 的
输入身高 cm 和 体 重 kg
VB语言之选择结构 第三节

编写程序代码(select case语句)
• • • • • • • • • • • • • • • • Private Sub Command1_Click() Dim m As Single Dim p As Integer m = Val(Text1.Text) Select Case m Case Is < 200 p=5 Case 200 To 499.99 p = m * 0.1 Case 500 To 999.99 p = m * 0.15 Case Is >= 1000 p = m * 0.2 End Select Text2.Text = p End Sub
该程序使用了3个IF语句嵌套 来处理四种情况,如果再多 几种情况,程序的可读性和 效率都会比较差。VB中还提 供了一种多重选择语句 (select case),利用它可以方便 地实现同一程序。
使用多重选择语句实现活动二的程 序
活动二的程序中使用了三个If语句的嵌套来处理 四种情况,如果再多几种情况,程序的可读性和效率 都会比较差。VB中还提供了一种多重选择语句,利用 它可以方便地实现上一程序。 在VB中,设置了一个处理多重情况的语句,即多 重选择语句。多重选择语句的执行过程是: 当表达 式的值满足某Case语句的表达式范围,则执行该语句 后的语句组。例如,本程序中当m<200时,执行p=5; 当200<=m<=499.99时,执行p=m*0.1,当 500<=m<=999.99时,执行p=m*0.15,当m>=1000时, 执行p=m*0.2 。
程序界面
可能出现的 种情况
两
练习3程序代码
• • • • • • • • • • • • • • • • • Private Sub Command1_Click() Dim a As Single 面积S为何要定义成字条符形变量? Dim b As Single Dim c As Single Dim q As Single Dim S As String And为逻辑运算符 a = Text1.Text b = Text2.Text c = Text3.Text If a + b > c And a + c > b And b + c > a Then q = (a + b + c) / 2 S = Sqr(q * (q - a) * (q - b) * (q - c)) Else S = "不能构成三角形" End If Text4.Text = S End Sub
vb编程中的选择结构语句的写法

vb编程中的选择结构语句的写法1996年,Bohra和Jacopin提出了结构化算法的3中种基本结构:顺序结构、选择结构和循环结构
⽬前已经得到证明,⽆论多么复杂的程序,都是由上⾯的3种基本结构中的⼀种或者多种的组合构成
在此笔者总结⼀下,在vb编程中,选择结构语句的写法,分别如下:
>>>>>If选择语句
(1)、关于IF语句的写法,第⼀种如下:
If <条件表达式> Then <语句> //语句写在Then后⾯,就不能在下⾯写End If
(2)第⼆种常⽤到的写法是if多分⽀选择语句,需要注意的是If语句中的ElseIf关键字是没有分开的
if <表达式1> Then
<语句块1>
ElseIf <表达式2> Then
<语句块2>
... ...
[Else
语句块n+1]
End If
>>>>>Select Case选择语句
(1)、关于Select Case语句的常写法,如下所⽰:
Select Case变量或表达式
Case表达式列表1
语句块1
Case表达式列表2
语句块2
... ...
[Case Else
语句块n+1,即默认程序段]
End Select。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
If <条件1> Then <语句组1> ElseIf <条件2> Then <语句组2> …… ElseIf <条件n> Then <语句组n> [Else <语句组n+1>] End If
执行流程:
真 条件1 假 真 条件2 假 真 条件n 假 语句组2 语句组1
语句组n 语句组 n+1
2、Choose函数
(1)格式:Choose(整数表达式,选项列表) (2)说明
根据整数表达式的值,决定函数返回选项列表中的某 个值。如果整数表达式的值是1,则返回选项列表中的 第一个选项值,如果是2,则返回第二个选项值,依此 类推。
若整数表达式的值小于1或大于列出的选项数时,函 数返回空值(Null)。
4.4 简单应用
分别利用If与Select结构编写同一程序
不及格 及格 良好
优秀
0 If < 60 Then
60
80
90
100
mark = "不及格" ElseIf score < 80 Then mark = "及格" ElseIf score < 90 Then mark = "良好" ElseIf score <=100 Then mark = "优秀" Else mark = "错误!"
Dim x As Single, y As Single x = Val(InputBox("请输入变量的值")) If x > 0 Then y = x ^ 2 + 1 ' x<0时计算y ElseIf x = 0 Then y=0 ElseIf x < 0 Then y=x^2-1 End If Print "x="; x, "y="; y
选择结构小结
名称 条 件 语 句 If 语句格式 (条件) Then T 语句组 Else F 语句组 End If Select Case (表达式) Case 条件 1 1T 语句组 Case 条件 2 2T 语句组 … Case Else F 语句组 End Select 作用 条件成立,只执行 T 语句组;
③ 表达式1 To 表达式2 如Case 0 to 9 表示当变量或表达 式的值在0~9之间时,执行对应的语句组; ④ Is 关系运算符表达式 如Case Is>10 表示当变量或表达 式的值大于10时,执行对应的语句组。
(3) Select Case 后不能出现多个变量;(例:Select Case x,y ) (4) Case子句后不能出现变量。(例:Case x < 0 And y > 0)
Choose(Weekday(Now),"日","一","二","三","四","五","六")
4.3 Select Case结构
语句格式: Select Case <单一变量或表达式> Case <预设值1> <语句组1> Case <预设值2> <语句组2> …… Case <预设值n> <语句组n> Case Else <语句组n+1> End Select
条件不成立,只执行 F 语句组。 表达式的结果 当条件 1 成立,只执行 1T 语句组; 当条件 2 成立,只执行 2T 语句组; …… 若全部条件都不成立,则执行 F 语句组; 表达式值---预设值 1)匹配量: 1,2,3 1 to 10 “a” to “z” 2) 关系量: is <= 常量表达式 3)混合式: 1,2,3,is>10
问题2:在两个数中求最大数。 Dim a As Single, b As Single a = Val(InputBox("请输入变量a的值")) b = Val(InputBox("请输入变量b的值")) If a >= b Then Print "最大数为:" ; a Else Print "最大数为:" ; b End If
问题3: 比较3个数a、b和c的大小,输出其中的最大值. 采用“打擂法” max=a If b>max Then If max=b b>max Then max=b End If If c>max Then If max=c c>max Then max=c End If Print max
2、双分支结构 (If…Then…Else语句)
问题2:在两个数中求最大数。
Dim a As Single, b As Single a = Val(InputBox("请输入变量a的值")) b = Val(InputBox("请输入变量b的值")) If a >= b Then Print "最大数为:" ; a End If If x < 0 Then Print "最大数为:" ; b End If
4.2 有关函数
1、IIf函数 (1)格式: IIf(条件,T语句,F语句) (2)说明: 当条件成立时,该函数返回表达式1的值,否则返
回表达式2的值。
Dim a As Single, b As Single, max As Single a = InputBox("请输入a的值") b = InputBox("请输入b的值") max = IIf(a >= b, a, b) Print max
注意:
ElseIf不能写成Else If; 当多分支中有多个表达式同时满足时,仅执行第一个满 足条件的语句组。
问题1: 输入x的值,计算y的值。
x 2 1 y 0 x 2 1
x>0 x=0 x<0
分析:本题包含3个条件: (1)当条件为“x>0”时; (2)当条件为“x=0”时; (3)当条件为“x=0”时。 实现:多分支结构
Dim x As Single, y As Single x = Val(InputBox("请输入变量的值")) If x < 0 Then y = x ^ 2 - 1 ' x<0时计算y ELSE If x > 0 Then y=x^2+1 ELSE y=0 End If End If Print "x="; x, "y="; y
问题1: 已知变量str中存放了一个字符,判断该字符的类型。
str=… str=… Select Case str If (str>="A" And str <="Z ") OR (str>="a" And str <="z") Then Case "A" To "Z" , "a""To "z" Print str; "是字母字符 是字母字符 ElseIfPrint str>=0 str; And" str <=9 Then" Case "0" "9" Print strTo ; "是数字字符 " Else Print str; "是数字字符" Case Else Print str; "是其他字符" End IfPrint str; "是其他字符" End Select
结构嵌套
在前例中,可以看到:
在一个选择结构中,又包含了另一个选 择结构,这种形式称为选择结构(分支) 嵌套。
当问题越复杂时,用块If的嵌套层次会越
深,程序易读性越差。
采用块IF的多分支结构If…ElseIf会使程 序简练。
关于行格式:
格式
If <条件> Then [<语句组1>] [Else <语句组2>]
End If
Print "成绩为" & mark
Select Case score Case Is < 60 mark = "不及格" Case Is <80 mark = "及格" Case Is <90 mark = "良好" Case Is <=100 mark = "优秀" Case Else mark = "错误!" End Select Print "成绩为" & mark
计算表达式
注意:
(1) 变量或表达式 可以是单一数值型或字符串表达式; (2) 表达式列表 与变量或表达式的类型必须相同,可以是下面4 种形式之一,除了这4种情况,不能用Select Case结构: ① 表达式 如:Case 8 表示当变量或表达式值等于8时执行 对应的语句组;
② 一组用逗号分隔的值 如Case 1,3,4,7,10 表示当变量或 表达式的值为1,3,4,7,10中之一时,执行对应的语句组;
4. 选择结构
4.1 IF选择结构
4.2 有关函数
4.3 Select Case结构
4.4 简单应用
广东石油化工学院
流程图描述法的基本图形符号
起止框
数据框
开始 输入R R>0? N
处理框 判断框