选择结构课件_第1页
选择结构课件_第2页
选择结构课件_第3页
选择结构课件_第4页
选择结构课件_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章选择结构

在程序设计中经常遇到这类问题,它需要根据不

同的情况采用不同的处理方法。例如,一元二次方程

的求根问题,要根据判别式小于零或大于等于零的情

况,采用不同的数学表达式进行计算。对于这类问题,

如果用顺序结构编程,显然力不从心。必须借助选择

结构。本章主要介绍实现选择结构的语句。包括:行

If语句、块If语句、ElseIf语句、SelectCase语句,以

及选择结构在程序设计中的应用。

退出

鼠标左1

4.1期f

4.2EkeIf语句

4.3行Lf语句

4.4SelectCase语句

4.1块灯

4.1.1块If的格式、功能

格式:

If条件then

语句块1

[Else

语句块2]

EndIf

说明:

(1)“条件”一般为关系表达式或逻辑表达式。

通常把关系表达式或逻辑表达式的值为真时,称

为条件满足;值为假时,称为条件不满足。反之亦然。

(2)语句块1、语句块2分别是“条件”满足或不

满足时,处理方法的描述,可以是若干个语句。

(3)If...Then>Else、EndIf是VB的保留字。

功能:、

(1)块I信先判断“条件”,其值为真时,执行

语句块1;为假时执行语句块2。当缺省[Else…]中的内

容时,该选择结构只对条件满足的情况进行处理。执

行过程如图4-1所示。

条件满足?

TF

VV

图4.1块丘例行过程

【例4.1】火车站行李费的收费标准是50kg以内

(包括50kg)0.20/kg,超过部分0.50/kg。编写程序,

要求根据输入的任意重量,计算出应付的行李费。

根据题意计算公式如下:

weightX0.2weightW50

Pay=

(weight—50)X0.5+SOX0.2weight>50

运行界面加图4-2所示。

04.2例4.1过行界面

遇窈独HE

时家属性设置如表4-1所不。

表44例4.1属性控件设置

对象良性设置

LabellCation行李里是

LabeDcqjtion成忖款

TeMlText交

对象屎性设置

te址2Text交

Ccmn^ndlcaption计算

Conmi«Md2caption活除

Commandscaption退出

fbnnlcation行李托正权赞程庠

HE

程序代码如下:

…计算,,按钮代码

PrivateSubCommandl_Click()

Dimweightassingle,payassingle

weight=Textl.Text

Ifweight>50Then

pay=(weight-50)*0.5+50*0.2

Else

pay=weight*0.2

EndIf

Textl.Text=pay

EndSub

PrivateSubCommand2_Click()

Text1.Text=

Textl.Text=''''

EndSub

PrivateSubCommand3_Click()

End

EndSub

4.1.2块If的嵌套

所谓块If语句的嵌套,就是在语句块1或语句块2中

又包含块If语句。

【例4.2】任意输入3个数,按照从大到小的顺序输

出。

算法分析:排序的基本方法,就是比较大小,然

后根据比较的结果分别加以处理。本例把3个数分别放

在N,B,C中,处理过程为:若4VB为真,交换力,B

的值;否则不做处理。这样就保证了/泗;然后再用C

去比较。具体流程如图4-3所示。按如图4-4所示设置

界面。

-------------

-------------1

__!丁L

相出c,a,b储出&&cI箱田&C,b

图49例4.2程序流程图;S^H

右键换页!V合

属性设置如表4-2所示。

表42例4.2控件属性设置

对俊屎性设置

hbelll^bel3Cation分别为4乩C

labe14-lab电16Coption分别为大.中•小

textlfe泣6Text空

CcmnmdlC4rtion择序

Conttn^nd2C^tiotn退出

FoimlCsption梯序

程序代码如下:

一排序”按钮代码

PrivateSubCommandl_Click()

DimaAsSingle,cAsSingle,bAsSingle

a=Textl.Text

b=Textl.Text

c=Text3.Text,三个文本框的数据赋值给变量

Ifa<bThen

t=a

a=b

b=t%v〃时交换〃、力的值

EndIf,保证/

Ifc>aThen,用C去比较

Text4.Text=c成立,C最大

Text5.Text=a

Text6.Text=b

Else

Ifc<bThen

Text4.Text=a成立,。最小

Text5.Text=b

Text6.Text=c

Text4.Text=a处于中间

Text5.Text=c

Text6.Text=b

EndIf

EndIf

EndSub

…退出"按钮代码

PrivateSubCommand2_Click()

End

EndSub

4.2EkeIf语句

格式:

If条件1then

语句块1

Elself条件2then

语句块2

[Else

语句块n+1]

EndIf

功能:

(1)依次判断条件,如果找到一个满足的条件,

则执行其下面的语句块,然后跳过EndIf,执行后面

的程序。

(2)如果所列出的条件都不满足,则执行Eke语

句后面的语句块;如果所列出的条件都不满足,又没

有Else子句,则直接跳过Endlf,不执行任何语句块。

Elself结构的执行过程如图4-6所示o

【例4.4】输入一个学生的一门课分数%(百分制),

当它90时,输出“优秀”;当80。<90时,输出“良

好”;当70Sr<80时,输出“中”;当60封〈70时,

输出“及格”,当x〈60时,输出“不及格”。

算法分析:本例适合用多路分支结构来解决。运

行界面如图4-7所示。

y

.一

8

4国

属性设置如表4-4所示。

表44例4.4控件属性设置

对象屎性设置

Caption,鉴定

cammmd2Cation退出

L^bellCation辖人分数

L^beDCsjjtion档次

TextlText空

Text2Te泣空

FoimlCeptioii成绩分段鉴足

HE

程序代码如下:

…鉴定”按钮代码

PrivateSubCommandl_Click()

Dimscore!

score=Textl.Text

Ifscore>=90Then

Textl.Text="优秀"

Elselfscore>=80Then

Textl.Text="良好"

Elselfscore>=70Then

Textl.Text="中”

Elselfscore>=60Then

Text2.Text="及格"

Else

Text2.Text="不及格"

EndIf

EndSub

,“退出”按钮代码

PrivateSubCommand2_Click()

End

EndSub

Elself语句,实际完成的是块If的嵌套,它和块If

嵌套的格式上有很大区别,Elself结构只有一对If和

Endlf语句。另外应注意:

[Else

If]

和【Elself】的区另h

4.3行耳语句

格式:If条件then语句1[Else语句2]

功能:当条件满足时,执行语句1;条件不满足时,

执行语句2。

从行If的格式和功能不难看出,行If语句是一种简

单的分支结构,只是把一个简单的块If结构写在一行

中,减少了语句行,省略了“EndI产的书写。行If完

全可以用块If代替。

【例4.6】任意输入3个数,找出其中的最大值。

图4・10喇4.6运行界面

运行界面如图4-10所示。

各属性设置如表4-6所不。

表46例46属性设置

好象设置

FctmilCation枝最大但

Textl-text4text空

L^bellCaption辖人3个景

Label2Cation最大怅

Command1Caption计算

HE

程序代码如下:

PrivateSubCommandl_Click()

DimaAsSingle,bAsSingle,cAsSingle,

AsSingle

a=Textl.Text

b=Textl.Text

c=Text3.Text

max=a

Ifb>maxThenmax=b

Ifc>maxThenmax=c

Text4.Text=max

EndSub

4.4SelectCase语句

当对一个表达式的不同取值情况作不同处理时,

用Elself语句程序结构显得较为杂乱,而用Sel

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论