第5章 第五章 选择结构程序设计 本章要点:条件语句 选择结构程序设计 >单行结构条件语句If.Then.Else >块结构条件语句f.Then.Endf >多分支选择语句Select Case.End Select >条件语句的嵌套 特点:根据条件是否成立,决定程序的执行分支
第 五 章 选 择 结 构 程 序 设 计 1 第5章 选择结构程序设计 本章要点: 条件语句 ➢单行结构条件语句If.Then.Else . ➢块结构条件语句If.Then.EndIf ➢多分支选择语句Select Case.End Select ➢条件语句的嵌套 特点: 根据条件是否成立,决定程序的执行分支
引言 顺序结构程序的执行次序是按语句的先后排列 第五章 次序依次执行的,然而,计算机在处理实际问题 时,往往需要根据条件是否成立,决定程序的执 行方向,在不同的条件下,进行不同的处理。假 选择结构程序设计 如遇到这样一个问题: ≤0 Y- Inx x>0 在输入变量x的值之后,需根据x的不同取值范 围做不同的处理,使用顺序结构的程序无法解决 这一问题的。本章将介绍解决此类问题的语句结 构
第 五 章 选 择 结 构 程 序 设 计 2 引言 顺序结构程序的执行次序是按语句的先后排列 次序依次执行的,然而,计算机在处理实际问题 时,往往需要根据条件是否成立,决定程序的执 行方向,在不同的条件下,进行不同的处理。假 如遇到这样一个问题: Y= |x| x≤0 lnx x>0 在输入变量x的值之后,需根据x的不同取值范 围做不同的处理,使用顺序结构的程序无法解决 这一问题的。本章将介绍解决此类问题的语句结 构
5.1单行结构条件语句 1.格式 第五章 If条件Then语句组1[Ese语句组2] 2.功能 如果“条件”成立(True), 则执行“语句 选择结构程序设计 组1” 则执行“语句组2 条件 语句组1 语句组2 例:Ifx<=0 Then y=abs(x)Else y=log()
第 五 章 选 择 结 构 程 序 设 计 3 5.1 单行结构条件语句 1. 格式 If 条件 Then [语句组1] [Else 语句组2] 2. 功能 如果“条件”成立(True),则执行“语句 组1” T 否则执行“语句组2” 语句组1 条件 语句组2 F 例:If x <= 0 Then y = abs(x) Else y = log(x)
3.说明 1)“条件” 可以是: 第五章 >关系表达式;布尔表达式 例:Ifx>0 Then y=1Esey=-1 例:Ifx>0Andx 例:X=5 If x Then y 1 Else y=-1 >字符串表达式:"0"为Fase;非"0"为True 2)可以没有Else部分,这时必须有“语句组1” 例:IfX<>"aaa"Then Print X 193 4
第 五 章 选 择 结 构 程 序 设 计 4 3. 说明 1) “条件” 可以是: ➢关系表达式;布尔表达式 例:If x > 0 Then y = 1 Else y = -1 例:If x > 0 And x "aaa" Then Print X
3) 语句组1、语句组2:可以有多条语句, 各语句之间用冒号隔开。 例: 第五章选择结构程序设计 If N>0 Then A=A+B:B=B+A Else A=A-B:B=B-A 5
第 五 章 选 择 结 构 程 序 设 计 5 3) 语句组1、语句组2: 可以有多条语句, 各语句之间用冒号隔开。 例: If N>0 Then A=A+B:B=B+A Else A=A-B:B=B-A
【例5-1】设界面如下图所示,用文本框输 入x的值,单击“计算Y”按钮时,根据以 下公式计算y的值。 第五章选择结构程序设计 x≤0 x>0 1 计算分段函数 ▣x 计算 Text1 Label3 Command1 193 6
第 五 章 选 择 结 构 程 序 设 计 6 【例5-1】设界面如下图所示,用文本框输 入x的值,单击“计算Y”按钮时,根据以 下公式计算y的值。 |x| x≤0 lnx x>0 y= Text1 Label3 Command1
代码如下: 第五章 Private Sub Command1 ClickO X=Val(Text1.Text) IfX<=0 Then Y=Abs(X)Else Y=Log(X) 选择结构程序设计 Label3.Caption Y End Sub 7
第 五 章 选 择 结 构 程 序 设 计 7 Private Sub Command1_Click() X = Val(Text1.Text) If X <= 0 Then Y = Abs(X) Else Y = Log(X) Label3.Caption = Y End Sub 代码如下:
注意: 1)应作为一条语句书写。如果语句太长需 要换行,必须在折行处使用续行符号。 第五章选择结构程序设计 例: If N>0 Then A=A+B:B=B+A Else_ A=A-B:B=B-A 193 8
第 五 章 选 择 结 构 程 序 设 计 8 注意: 1)应作为一条语句书写。如果语句太长需 要换行,必须在折行处使用续行符号。 例: If N>0 Then A=A+B:B=B+A Else _ A=A-B:B=B-A
2)多条单行结构条件语句不要用冒号合并 成一行。例如: 第五章 a=1:b=-2 If a>0And b>0Then y=a+b 选择结构程序设计 If a>0And b0And b>0Then y=a+b:If a>0 And b<0 Then y=a-b 则y没有被求值。 9
第 五 章 选 择 结 构 程 序 设 计 9 2)多条单行结构条件语句不要用冒号合并 成一行。例如: a = 1 : b = -2 If a > 0 And b > 0 Then y = a + b If a > 0 And b 0 And b > 0 Then y = a + b: If a > 0 And b < 0 Then y = a – b 则y没有被求值
3)无论条件是否成立,都具有共同出口。例: X=2 第五章 IfX>=0Then X=1+X Else X=5-X Y=1-X Print "Y=";Y 共同出口 选择结构程序设计 X=-2 IfX>=0 The=1+X Else X=5-X Y=1-X Print "Y=";Y 4)单行结构条件语句可以嵌套 IF.THEN.IF.THEN .ELSE.ELSE
第 五 章 选 择 结 构 程 序 设 计 10 3)无论条件是否成立,都具有共同出口。例: 4)单行结构条件语句可以嵌套 IF . THEN.IF . THEN .ELSE .ELSE. X = 2 If X >= 0 Then X = 1 + X Else X = 5 - X Y = 1 - X Print "Y="; Y X = -2 If X >= 0 Then X = 1 + X Else X = 5 - X Y = 1 - X Print "Y="; Y 共同出口