程序流程有三种最基本的控制结构,即顺序结构、选择结构和_第1页
程序流程有三种最基本的控制结构,即顺序结构、选择结构和_第2页
程序流程有三种最基本的控制结构,即顺序结构、选择结构和_第3页
程序流程有三种最基本的控制结构,即顺序结构、选择结构和_第4页
程序流程有三种最基本的控制结构,即顺序结构、选择结构和_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

.,第4章,选择结构设计,程序流程有三种最基本的控制结构,即顺序结构、选择结构和循环结构。在一个过程中,程序通常是按照由上而下的顺序来执行各个语句的,直到整个过程结束。引入选择结构和循环结构,可以改变程序执行的流程。,.,选择程序结构用于判断给定的条件,根据判断的结果来控制程序的流程,本章主要内容,条件表达式关系表达式/逻辑表达式,条件语句If.Then/If.Then.Else条件语句的嵌套,多分支语句selectcase,选择性控件单选按钮/复选框列表框/组合框,计时器控件,程序举例,.,关系运算符,符号:大于=大于或等于不等于适用的类型和结果类型:关系运算符适用于数值型、字符型、日期型和逻辑型数据,结果只能为逻辑型(真值True和假值False)运算符两侧必须是同类型的量或表达式若不是,系统会自动进行强制类型转换“5”40(10)若判断的结论是成立,则结果为逻辑真值(True),否则为逻辑假值(False)True的值等于-1,False的值等于0,.,关系运算符,.,关系表达式,运算次序:先分别求出运算符两侧表达式的值,然后再将二者进行比较其中:数值型数据按照数值大小比较2+363=0523字符型数据按照字符的ASCII码值大小比较“1”“2”“a”“a”日期型数据按照前后顺序比较#01/01/2003#12/31/2002#,关系表达式的格式:,.,关系表达式练习,数值型数据按照数值大小比较字符型数据按照字符的ASCII码值大小比较日期型数据按照前后顺序比较,?2/33/4?“a”“b”?3=5?True=-1?#01/12/91#=#02/01/91#?“abc”2False?“a”“b”OR111False?233AND510False表示一个数是偶数xMod2=0或int(x/2)=x/2表示一个数X能被3或5或7整除xMod3=0ORxMod5=0ORxMod7=0表示身高不在1.65米以上或不是女生身高1.65OR性别“女”NOT(身高1.65AND性别“女”),.,布尔表达式练习,?321Falsea=3:b=4:c=5?a=b=cFalse表示一个数x是能被3整除的奇数xMod3=0andxMod20 xMod2=1andxMod20表示一个数x2,5x2andx5表示一个数x不在2,5区间内x2orx5,.,运算符的优先顺序,算术运算符字符串运算符:关系运算符:、布尔运算符:NotAndOr,.,运算符的优先顺序练习,设变量x=4,y=-1,a=7.5,b=-6.2,求表达式x+ya+bAndNoty0)OR(yMod400=0ANDyMod100=0)(yMod4=0ANDyMod1000)ORyMod400=0,.,判断闰年的科学依据,地球公转一周的时间为:365天5小时48分56秒每经过4年,剩余的时间为:5小时48分56秒423小时15分44秒则每4年都要多加24小时23小时15分44秒44分16秒每经过100年,就会多加44分16秒2518小时26分40秒比较接近一天,所以每到100年,就将这多加的近似一天的时间减去,即停止追加一天而实际上又少加了24小时18小时26分40秒5小时33分20秒每经过400年,就会少加45小时33分20秒24小时所以每过400年,就应该再补加一天故:每4年闰年出现一次;每400年,闰年再出现一次其它的整100年,闰年停止出现一次,.,选择控制结构,选择控制结构又称分支结构它体现了程序运行过程中的自我判断能力程序可以根据当前执行的某个条件,进行比较、判断,并依据判断的结果(成立与否)来决定下一步做什么,不做什么(在两条或多条程序路径中选择一条来执行,即只执行程序中的一部分语句)可见,在此结构的程序运行过程中,有些语句会执行一次,有些语句在此次程序运行过程中没有机会执行。即:“无论分支多寡,必选其一;纵然分支众多,仅选其一”VB中的选择语句有:双分支语句多分支语句(SelectCase),单行(IF-THEN-ELSE),块结构(IF-THEN-ELSE-ENDIF),.,选择结构(IF-THEN),语句格式:IFTHEN,N,语句序列,下一语句,Y,执行过程:判断给定的条件如果成立(其值为True),执行所给语句序列,然后执行下一条语句否则(其值为False),跳过所给语句序列,直接执行下一条语句示例:输入一个数,如果是正数,就输出x=Val(Text1.text)Ifx0ThenLabel1.Caption=x,问题:如果不是正数,应该显示“不是正数”,.,语句格式:IFTHENELSE,执行过程:判断给定的条件如果成立(其值为True),执行所给语句序列1,然后执行下一条语句否则(其值为False),执行所给语句序列2,然后执行下一条语句,选择结构(IF-THEN-ELSE),命令序列1,命令序列2,下一语句,N,Y,.,(IF-THEN-ELSE)举例,例二:根据用户输入的一个成绩,判断是否及格,DimxAsSingleX=Val(InputBox(请输入一个成绩:,输入,0)IFX=60THENLabel1.Caption=“及格”ElseLabel1.Caption=“不及格”使用IIF函数,也可以实现相应的判断格式:IIF(条件,条件为真时的值,条件为假时的值),例一:输入一个数,如果是正数,就输出;否则显示非正数DimxAsSinglex=Val(Text1.text)Ifx0ThenLabel1.Caption=xElseLabel1.Caption=“非正数,.,IIF函数的使用,DimxAsSinglex=Val(Text1.text)Ifx0ThenLabel1.Caption=xElseLabel1.Caption=“非正数”Label1.Caption=IIf(x0,x,“非正数”)DimxAsSingleX=Val(InputBox(请输入一个成绩:,输入,0)IFX=60THENLabel1.Caption=“及格”ElseLabel1.Caption=“不及格”Label1.Caption=IIf(x=60,“及格”,“不及格”),.,语句格式:IFTHENELSEENDIF,执行过程:判断给定的条件如果成立(其值为True),执行所给y语句序列1,然后执行下一条语句否则(其值为False),执行所给语句序列2,然后执行下一条语句,块结构(IF-THEN-ELSE-ENDIF),命令序列1,命令序列2,下一语句,N,Y,.,(IF-THEN-ELSE-ENDIF)举例,示例:根据用户输入的一个成绩,判断是否及格,DimxAsSinglex=Val(InputBox(请输入一个成绩:,输入,0)Ifx=60ThenLabel1.Caption=及格ElseLabel1.Caption=不及格EndIf,.,(IF-THEN-ELSE-ENDIF)举例,示例:输入ABC的值,判断能否构成三角形,如果能,计算三角形的面积,DimaAsSingle,bAsSingle,cAsSinglea=Val(Text1.Text):b=Val(Text2.Text):c=Val(Text3.Text)s=(a+b+c)/2Ifa+bcAndc0Anda+cbAndb0Andb+caAnda0Thenarea=Sqr(s*(s-a)*(s-b)*(s-c)Label1.Caption=能构成三角形,选择一个选项按钮会立即清除该组中的其它按钮;每次只能选一个选项而且必须选择一个选项(问题:在窗体上的是一组?在一个框架内的是一组?)常用属性:Caption属性:单选按钮旁边的标题文字value属性:表示该按钮是否被选中。选中为True,否则为FalseAlignment属性:单选按钮标题的对齐方式Style属性:表示控件的外观(标准格式或图形方式)可以将选项按钮设计成图形按钮的形式,将Style改为1-Graphical(图形方式),再依次修改其Caption属性单选按钮使用最多的是click事件,.,单选按钮程序示例,PrivateSubOption1_Click()Text1.FontName=宋体EndSubPrivateSubOption2_Click()Text1.FontName=幼圆EndSubPrivateSubOption3_Click()Text1.FontName=楷体_GB2312EndSub,.,提供简单选择的控件,复选框(CheckBox)控件:根据需要进行多项选择可以只选一个,也可全选,还可全不选当某一个复选框被选中时,复选框中出现一个“”常用属性:Caption属性:复选框旁边的标题文字value属性:表示该按钮是否被选中。0默认设置,未选中状态1选中状态2禁止状态,不可用Alignment属性:复选框旁边的标题文字的对齐方式Style属性:表示控件的外观(标准格式或图形方式)复选框按钮使用最多的是click事件,在事件中需要对其Value属性值做判断,从而根据用户的选中状态决定程序如何执行,.,复选按钮程序示例,PrivateSubCheck1_Click()IfCheck1.Value=1Then判复选框1是否选中Text1.FontName=楷体_GB2312ElseText1.FontName=宋体EndIfEndSubPrivateSubCheck2_Click()IfCheck2.Value=1Then判复选框2是否选中Text1.FontItalic=TrueElseText1.FontItalic=FalseEndIfEnd

温馨提示

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

评论

0/150

提交评论