VB语言程序设计(第2版)[林卓然][电子教案]第4章.ppt_第1页
VB语言程序设计(第2版)[林卓然][电子教案]第4章.ppt_第2页
VB语言程序设计(第2版)[林卓然][电子教案]第4章.ppt_第3页
VB语言程序设计(第2版)[林卓然][电子教案]第4章.ppt_第4页
VB语言程序设计(第2版)[林卓然][电子教案]第4章.ppt_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

第4章 选择结构程序设计 本章主要内容 第4章选择结构程序设计 退出 选择程序结构用于判断给定的条件 根据判断的结果判断某些条件 根据判断的结果来控制程序的流程4 1条件表达式示例Ifx 5Theny x 1Ifa 1Andb0Thenx 14 2条件语句两种格式的条件语句 If ThenIf Then Else 选择结构设计 关系表达式 逻辑表达式 格式 If条件Then语句或 If条件Then语句块 EndIf功能 若条件成立 值为真 则执行Then后面的语句或语句块 否则直接执行下一条语句或 EndIf 的下一条语句 4 2 1If Then语句 多行 块 结构 单行结构 正例 Ifa 12Theny 2正例 Ifa 12Theny 2EndIf错例 Ifa 12Theny 2EndIf 格式 If条件Then 语句块1 A Else 语句块2 B EndIf功能 首先测试条件 E 如果条件成立 即值为真 则执行Then后面的语句块1 如果条件不成立 即值为假 则执行Else后面的语句块2 而在执行Then或Else之后的语句块后 会从EndIf之后的语句继续执行 4 2 2If Then Else语句 实现一些简单的条件判断分支结构 格式 IIf 条件 条件为真时的值 条件为假时的值 功能 对条件进行测试 若条件成立 为真值 则取第一个值 即 条件为真时的值 否则取第二个值 即 条件为假时的值 例如 将a b中的小数 放入Min变量中 Min IIf a b a b 4 2 3IIf函数 1 下列字符中 字符最大 字符最小 A 1B ZC D a2 假设a 1 b 2 下列逻辑表达式中其值为真的有A a 0Andb 2C a ab D a 0AndNotb0Andb 0 请你给出答案 想一想 思考题 最大字符 D最小字符 C FFTTT PrivateSubForm Load Showa 1 b 3c 2 a ba IIf caThena a 1c c 1Elsea a 1EndIfPrinta b cEndSub 下列程序的运行结果是 想一想 思考题 25 2 例4 1a 1 创建应用程序的用户界面和设置对象属性 2 编写程序代码功能要求 用户在 a 文本框 Text1 b 文本框 Text2 和 c 文本框 Text3 中输入数据 单击 判断 按钮后 则在 最大数 文本框 Text4 中输出结果 例4 2输入三个数a b c 求出其中最大数 例4 2 PrivateSubCommand1 Click m用来存放较大值DimaAsInteger bAsIntegerDimcAsInteger mAsIntegera Val Text1 Text b Val Text2 Text c Val Text3 Text Ifa bThenm aElsem bEndIfIfc mThenm cText4 Text mEndSub 程序代码程序流程图 Then和Else后面的语句块包含另一个条件语句 1 一般格式If条件1Then If条件2Then EndIf Else EndIf使用条件语句嵌套时 一定要注意If与Else If与EndIf的配对关系 4 2 4条件语句的嵌套 例如 0时至12时 显示 早上好 利用窗体装载 Load 事件 采用Print直接在窗体上输出结果PrivateSubForm Load DimhAsIntegerShow 使print输出在窗体上的内容可见h Hour Time 取系统的时间FontSize 30 ForeColor RGB 255 0 0 BackColor RGB 255 255 0 Ifh 12ThenPrint 早上好 ElseIfh 18ThenPrint 下午好 ElsePrint 晚上好 EndIfEndIfEndSub 例4 3根据不同的时间段发出问候语 例4 3 If条件1Then语句块1ElseIf条件2Then语句块2ElseIf条件3Then语句块3 Else语句块n EndIf先测试条件1 如果为假 就依次测试条件2 依此类推 直到找到为真的条件 一旦找到一个为真的条件时 VB会执行相应的语句块 然后执行EndIf语句后面的代码 如果所有条件都是假 那么执行Else后面的语句块n 然后执行EndIf语句后面的代码 Ifh 12ThenPrint 早上好 ElseIfh 18ThenPrint 下午好 ElsePrint 晚上好 EndIf 2 ElseIf格式 PrivateSubForm Load Showa 1 b 3Ifa 4 1 bThenIfb 5Thenb b 1ElseIfb 2Thenb b 1Elseb b 2EndIfb IIf a b b 1 b 1 PrintbEndSub 下列程序的运行结果是 想一想 思考题 2 例4 3a 使用多分支语句SelectCase也可以实现多分支选择 更有效 更易读 并且易于跟踪调试 SelectCase测试表达式Case表达式表1语句块1 Case表达式表2语句块2 CaseElse 语句块n EndSelect先计算表达式的值 然后将该值依次与结构中的每个Case的值进行比较 如果该值符合某个Case指定的值条件时 就执行该Case的语句块 然后跳到EndSelect 从EndSelect出口 如果没有相符合的Case值 则执行CaseElse中的语句块 4 3多分支语句 示例SelectCasexCase 1y 10Case1y 20CaseElsey 30EndSelect 用SelectCase语句来实现多分支选择功能 程序代码如下 PrivateSubCommand1 Click DimscoreAsInteger tempAsStringscore Val Text1 Text temp 成绩等级为 SelectCasescoreCase0To59Label2 Caption temp 不及格 Case60To79Label2 Caption temp 及格 Case80To100Label2 Caption temp 优良 CaseElseLabel2 Caption 成绩出错 EndSelectEndSub 例4 4判断成绩的等级 优良 及格 不及格 例4 4 提供选项让用户选择 如选择 是 或 否 从列表中选择某一项等选择的控件有 单选按钮 复选框 列表框和组合框 4 4选择性控件 1 单选按钮的用途单选按钮 OptionButton 控件由一个圆圈 及紧挨它的文字组成 能提供 选中 和 未选中 两种可选项成组形式出现2 常用属性Caption属性Value属性 表示单选按钮是否被选中 选中时Value值为True 否则为False 使用单选按钮组时 选中其中一个 其余就会自动关闭 Alignment属性 设置单选按钮标题的对齐方式3 事件Click事件在应用程序中可以创建一个事件过程 检测控件对象Value属性值 再根据检测结果执行相应的处理 4 4 1单选按钮 1 创建应用程序的用户界面和设置对象属性单选按钮组 初始状态 设置Option1的Value属性值设置为True 或通过代码 Option1 Value True 来实现 2 编写程序代码功能要求 例4 5用单选按钮组控制显示不同的字体 例4 5 程序代码如下 PrivateSubOption1 Click Text1 FontName 宋体 EndSubPrivateSubOption2 Click Text1 FontName 幼圆 EndSubPrivateSubOption3 Click Text1 FontName 楷体 GB2312 EndSub 说明 程序代码中所用的字体号 如 宋体 幼圆 等 必须与系统提供的字体相一致 1 复选框的用途 复选框 CheckBox 控件由一个四方形小框和紧挨它的文字组成 提供 选中 和 未选中 两种可选项复选框控件与单选按钮控件在使用方面的区别2 常用属性 Caption属性 Value属性 表示复选框的状态有三种取值 0 未选中 缺省值 1 选中2 不可用 灰色显示 Alignment属性 Style属性 3 事件 复选框可响应的事件与单选按钮基本相同 4 4 2复选框 1 创建应用程序的用户界面和设置对象属性多行文本框 带垂直滚动条 和四个复选框 2 编写程序代码 功能要求 程序开始运行后 用户在文本框中输入一段文字 如 复选框应用示例 然后按需要单击各复选框 则文字的字体 字型 字号及颜色随之改变 例4 6用复选框来控制文字的字体 字型 字号及颜色 例4 6 PrivateSubCheck1 Click IfCheck1 Value 1Then 判复选框1是否选中Text1 FontName 楷体 GB2312 ElseText1 FontName 宋体 EndIfEndSubPrivateSubCheck2 Click IfCheck2 Value 1Then 判复选框2是否选中Text1 FontItalic TrueElseText1 FontItalic FalseEndIfEndSubPrivateSubCheck3 Click IfCheck3 Value 1Then 判复选框3是否选中Text1 FontSize 25ElseText1 FontSize 9EndIfEndSub PrivateSubCheck4 Click IfCheck4 Value 1Then 判复选框4是否选中Text1 ForeColor RGB 255 0 0 ElseText1 ForeColor RGB 0 0 0 EndIfEndSub在运行中 可以任意设定这四个复选框的状态 可以四项都不选 也可以选择其中一项至四项 计时器 Timer 每隔一定的时间间隔自动产生一次Timer事件 或称报时 可以根据这个特性来定时控制某些操作 或计时运行时计时器不显示Enabled属性 确定计时器是否可用Interval属性 设置两个Timer事件之间的时间间隔 其值以毫秒 1ms 1 1000s 为单位计时器控件只响应一个Timer事件 也就是说 计时器控件对象在间隔了一个Interval设定时间后 便触发一次Timer事件 4 5计时器控件 例4 7建立一个电子时钟 1 创建应用程序的用户界面和设置对象属性一个计时器控件和一个文本框 计时器控件Timer1的Interval属性值设定为1000 1秒 2 编写程序代码PrivateSubTimer1 Timer timer事件过程Text1 Text Time Time是时间函数EndSub 例4 7 运行界面 设计界面 计时器 Timer 每隔一定的时间间隔自动产生一次Timer事件和执行Timer事件过程这个时间间隔由Interval属性设定利用这个特性来定时控制某些操作 例4 8实现字体的放大 利用计时器可以按指定间隔时间对字体进行放大 1 创建应用程序的用户界面和设置对象属性一个计时器控件和一个标签 标签内显示文字 放大 计时器控件Timer1的计时器采用默认的属性值Enabled属性值为True 真 Interval属性值为0 例4 8 2 编写程序代码PrivateSubForm Load Label1 Caption 放大 Label1 Width Form1 Width 把标签的高度和宽度 设置为窗体相同尺寸Label1 Height Form1 HeightTimer1 Interval 800EndSubPrivateSubTimer1 Timer IfLabel1 FontSize 140ThenLabel1 FontSize Label1 FontSize 1 2ElseLabel1 FontSize 8EndIfEndSub 例4 9电子倒计时器 先由用户给定倒计时的初始分秒数 然后开始倒计时 当计到0分0秒时 通过消息对话框显示 倒计时结束 1 在窗体上建立一个计时器 Timer1 两个标签 两个文本框 Text1和Text2 和一个命令按钮 Command1 计时器的Enabled属性值为True Interval属性值为0 4 6程序举例 例4 9 2 编写程序代码DimmAsInteger sAsInteger 声明模块级变量 窗体中所有过程都可以访问它们PrivateSubForm Load Timer1 Interval 1000 设置每隔1秒触发1次Timer事件Timer1 Enabled False 关闭计时器EndSubPrivateSubCommand1 Click 倒计时 m Val Text1 Text 分钟数s Val Text2 Text 秒数Timer1 Enabled True 打开计时器EndSub PrivateSubTimer1 Timer 每隔1秒自动执行一次Ifs 0Thens s 1 s大于0时减1ElseIfm 0Then s等于0时先判m是否大于0m m 1 m大于0时减1s 59EndIfEndIfText1 Text Format m 00 数字 字串 2位格式Text2 Text Format s 00 Ifs 0Andm 0ThenBeep 响铃 即让喇叭发一声响MsgBox 计时结束 EndEndIfEndSub 先在窗体上显示以下考题 鸡兔同笼 已知鸡和兔总头数为h 23 总脚数为f 56 求鸡兔各有多少只 再提供输入框由学生回答问题 然后采用输出框显示对答案的评判意见 分析 设鸡数为j1 兔鸡数为t1 则有j1 t1 hj1 4 h f 22 j1 4 t1 ft1 f 2 h 2 例4 10求鸡数和兔数 例4 10 当用户单击 答题 按钮时 程序提供输入对话框 由用户输入答案 再通过输出框显示评判意见 采用的程序代码如下 PrivateSubForm Load ShowPrintFontSize 18PrintSpc 9 考一考你 FontSize 13PrintPrintSpc 5 鸡兔同笼 已知鸡和兔总头数为23 PrintSpc 3 总脚数为56 求鸡兔各有多少 EndSub PrivateSubCommand1 Click 答题 h 23 f 56 总头数及总脚数j1 4 h f 2 求出的鸡数t1 f 2 h 2 求出的兔数j2 Val InputBox 鸡的只数是多少 请回答 t2 Val InputBox 兔的只数是多少 请回答 SelectCaseTrue 选择真值Casej1 j2Andt1 t2MsgBox 回答完全正确 Casej1 j2MsgBox 鸡数回答正确 但兔数不对 Caset1 t2MsgBox 兔数回答正确 但鸡数不对 CaseElseMsgBox 回答错误 EndSelectEndSub 1 创建应用程序的用户界面和设置对象属性单选按钮组Option1 Option2 Option3及Option4分别代表 乘 和 除 运算 2 编写程序代码 例4 11输入两个运算数和运算符 或 组成算式并计算结果 然后显示出来 例4 11 PrivateSubCommand1 Click 计算 按钮DimaAsSingle bAsSingle tAsSingle sAsStringa Val Text1 Text b Val Text2 Text SelectCaseTrueCaseOption1 Value 运算s t a bCaseOption2 Value 运算s t a bCaseOption3 Value 运算s t a bCaseOption4 Value 运算s t a bEndSelectText3 Text a s b tEndSub PrivateSubCommand2 Click Text1 Text Text2 Text Text3 Text EndSubPrivateSubCommand3 Click EndEndSub PrivateSubForm Load Option1 Value True 运算EndSub 1 分析 方程的解

温馨提示

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

评论

0/150

提交评论