VB第4章选择结构_第1页
VB第4章选择结构_第2页
VB第4章选择结构_第3页
VB第4章选择结构_第4页
VB第4章选择结构_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、 教案授课时间3月 17 日 至 3 月 28 日课时数4+4授课方式理论课 讨论课 习题课 实验课 上机课 技能课 其他授课单元第四章 选择结构程序设计目的与要求1)了解算法的概念和算法的描述2)掌握选择结构的格式及执行过程3)正确理解选择结构的嵌套重点与难点1)各种分支结构语句2)选择结构的嵌套主要内容4.1算法的介绍*4.2条件语句*4.3 选择结构的嵌套教学方法手段(教具)理论课采用板书与多媒体相结合实践课采用上机实践操作参考资料Visual Basic程序设计教程 人民邮电出版社 Visual Basic程序设计实验教程 人民邮电出版社思考题、作业习题一 1 -4习题一 5 -101

2、-实验2讲稿第四章 选择结构程序设计 旧课复习:复习内容:1.已学过的几个常用的控件2.控件中输入输出语句的使用复习目的:让学生掌握基本控件的使用复习时长:大约10分钟新课导入:导入方式:以日常生活中的实例让学生理解什么是选择结构 导入目的:增强学生的理解能力导入时长:大约5分钟新课讲授:重点:各种分支结构语句的使用 难点:选择结构的嵌套方法:运用多媒体辅助教学,采用讲授法和案例教学法4.1算法介绍4.1.1算法介绍一、算法概述所谓算法,是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每个指令表示一个或多个操作。算法有以下特征:(1) 有穷性(2) 确定性(3) 可行性(4) 输入(5

3、) 输出4.1.2算法的表示 常用的表示算法的方法有:自然语言、伪代码、流程图,本章重点介绍用流程图表示算法。流程图用一些图框、流程线以及文字说明来表示算法。用图来表示算法,直观、形象、容易理解。包括:传统流程图、结构化流程图。因传统流程图中流程线的使用无限制可能导致流程图毫无规律。结构化流程图使用3中基本结构,即:顺序结构、选择结构和循环结构(如图4-1所示),从而大大提高流程图的规律性。 图4-1(a) 顺序结构流程图 图4-1(b) 选择结构流程图 图4-1(c) 循环结构流程图4.2条件语句 VB中选择结构通过条件语句来完成,包括:单分支、双分支和多分支等。4.2.1单分支结构语句 单

4、分支结构语句包括单行结构和块结构。1“单行结构”格式为:If <条件表达式> Then <语句序列>2. “块结构”格式为:If <条件表达式> Then<语句序列>说明:(1)“条件表达式”可以是关系表达式、布尔表达式或者数值表达式。如果是数值表达式,则非0值为真,0为假。(2)当条件表达式的值为真时执行语句序列。【例4-1】已知两个数x和y,比较它们的大小,使得x>y。分析:对任意的两个数x、y,其中x若为大的数,直接输出即可,若 y为大的数,则交换两数即可。其语句描述如下:用单行语句实现:If x<y then t=x:x=y:

5、y=t用块语句实现:If x<y then t=xx=yy=t4.2.2双分支结构语句 双分支结构语句也包括单行结构和块结构。1“单行结构”格式为:If <条件表达式> Then<语句序列1> Else<语句序列2>2. “块结构”格式为:If <条件表达式> Then<语句序列1>Else<语句序列2>End If说明:(1)“条件表达式”可以是关系表达式、布尔表达式或者数值表达式。如果是数值表达式,则非0值为真,0为假。(2)当条件表达式的值为真时执行语句列1, 否则执行语句列2。【例4-2】输入一个整数x,判断

6、该数的奇偶性。分析:该数能被2整除时是偶数,否则是奇数。能被2整除要作为判断的条件,当能被2整除时输出偶数,否则输出奇数。图4-2 判断数据奇偶性设计步骤如下。(1)建立应用程序用户界面,如图4-2所示。(2)编写代码。编写命令按钮Command1的Click事件代码:Private Sub Command1_Click() Dim x As Integer, y As String x = Val(Text1.Text) If x Mod 2 = 0 Then y = x & "是偶数" Else y = x & "是奇数" Label

7、2.Caption = yEnd Sub【例4-3】从键盘输入年份,判断是否是闰年,将结果输出。分析:闰年的条件如下。(1) 能被4整除,但不能被100整除年份是闰年。(2)能被100整除,又能被400整除的年份是闰年。图4-3 判断闰年的运行界面设计步骤如下。(1)建立应用程序用户界面,如图4-3所示。(2)编写代码。编写窗体的Click事件代码:Private Sub  Form_Click() y = Val(InputBox(“输入年份”, “判断闰年”) If(y Mod 4 = 0 And y Mod 100<> 0) or (y Mod 100 = 0 An

8、d y Mod 400=0)then MsgBox “是闰年” Else MsgBox “不是闰年”End IfEnd Sub4.2.3 使用IIF函数IIF函数可以实现一些比较简单的选择结构。IIF函数的语法格式为:IIF(<条件表达式>,<真部分>,<假部分>)说明:(1)“条件表达式”可以是关系表达式、布尔表达式、数值表达式。(2)当条件表达式为真时,函数返回的值是真部分;当条件表达式为假时,函数返回的值是假部分。4.2.4 多分支结构语句如果遇到多个分支结构,其流程图如图4-4所示,可采用的语句有两种:IfThenElseIf语句和Select Ca

9、se语句。图4-4 多分支结构1. IfThenElseIf语句其语法格式为:If <条件1>Then 语句列1ElseIf <条件2>Then 语句列2Else 其他语句列End If说明:(1)在块If中,Else和ElseIf语句都是可选的,可以有任意多个ElseIf子句,但是这些ElseIf子句都必须出现在Else子句之前。(2)程序运行时,先测试条件1,如果条件为真,则执行Then之后的语句;如果条件1为假,则依次测试ElseIf子句;如果某个ElseIf子句的条件为真,则执行该ElseIf子句对应的语句列,执行完成后从End If语句退出;如果没有一个Els

10、eIf子句的条件为真,则执行Else部分的其他语句列。【例4-4】已知百分制成绩mark,要求显示相应的五级制。(90100分为优秀,8089分为良好,7079分为中等,6069分为及格,60分以下为不及格)分析:各个等级是并列关系,并且输入一个成绩只能输出一个相应的等级,可采用嵌套结构的If语句。程序流程图如图4-14所示。图4-5 输出等级设计步骤如下。(1)建立应用程序用户界面,如图4-5所示。(2)编写代码。编写命令按钮Command1的Click事件代码:Private Sub Command1_Click() Dim mark As single mark = Val(Text1.

11、Text) If mark > 100 Then MsgBox "请重新输入一个小于等于100的数":END If mark >= 90 And mark <= 100 Then k = "优秀" ElseIf mark >= 80 Then k = "良好" ElseIf mark >= 70 Then k = "中等" ElseIf mark >= 60 Then k = "及格" Else k = "不及格" End If Label

12、2.Caption = "成绩是" & mark & "," & "等级是" & kEnd Sub2.Select Case语句语法格式为:Select Case<测试条件>Case<表达式列表1> <语句列1>Case<表达式列表2> <语句列2> Case Else <其他语句列>End Select说明:(1)“测试条件”为必要参数,可以是数值表达式、字符串表达式或布尔表达式。(2)在Case子句中,表达式列表为必要参数,用来

13、测试其中是否有值与测试条件相匹配。表达式可以有以下几种形式。· 一个常量或常量表达式。例如:Case 5。· 多个常量或常量表达式,各个表达式用逗号隔开,逗号相当于“或”,只要测试条件等于其中某一个常量的值就是匹配。例如:Case 1, 2, 3。· 表达式1 to 表达式2,表示从表达式1到表达式2中所有的值,但是表达式1的值必须小于表达式2的值。例如:Case 1 to 5。· Is关系运算表达式,可以使用的关系运算符有:>、>=、<、<=、<>、=。例如:Case Is < 5。但是不可以使用逻辑运算符表示

14、范围,Case Is > 5 and Is <10是错误的。· 表达式列表可以是以上4种情况的组合。例如:Case 1, 5, 6 To 9, Is < 20。(3)程序执行时,先求测试条件的值,然后依次判断与哪一个Case子句的值相匹配。如果匹配则执行该Case子句后的语句列,执行完成后从End Select退出;如果没有Case子句与测试条件匹配,则执行Case Else语句。注意,如果有多个Case子句与测试条件匹配,则只执行第一个与之匹配的语句。(4)如果没有Case子句与测试条件匹配,而且也没有Case Else语句,则程序执行End Select之后的语

15、句。【例4-5】某百货公司为了促销,采用购物打折扣的优惠办法:每位顾客一次购物 (1) 在1000元以上者,按九五折优惠; (2) 在2000元以上者,按九折优惠; (3) 在3000元以上者,按八五折优惠; (4) 在5000元以上者,按八折优惠。 设计步骤如下: (1) 建立应用程序用户界面与设置对象属性。 (2) 编写程序代码。Private Sub Command1_Click() Dim x As Single, y As Single x = Val(Text1.Text)Case Is < 2000 y = 0.95 * xCase Is < 3000 y = 0.9

16、 * x Case Is < 5000 y = 0.85 * x Case Else y = 0.8 * x End Select Text2.Text = yEnd Sub4.3选择结构的嵌套如果在块If语句中,语句列1或者语句列2又包含If语句,则称为If语句的嵌套。常见的格式为:If<条件1>Then 语句列1Else If<条件2>Then 语句列2 Else 语句列3 End If End If说明:(1)Else语句为可选语句。(2)每一个块If结构都要有一个End If和它配对。【例4-6】编写程序,用文本框检查用户输入的口令。检查结果用对话框显示。分析:在窗体上添加一个文本框控件,将其PasswordChar属性值设置为“*”,Text属性为空,其他属性使用默认值。假设正确口令为“12345”。程序运行后,用户在文本框中输入口令,并按下【Enter】键确认输入完毕。在输入过程中,每输入一个字符,都会触发文本框的KeyPress事件,并返回输入字符的ASCII码值。事件过程中,当获取的ASCII码值为13时,即用户按下【Enter】键时表示口令输入完毕,然后判断其正确性。程序运行结果如图4-6所示。 图4-6 程序运行结果编写命令按钮Text1的KeyPress事件代码:Private Sub Text1_KeyPre

温馨提示

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

评论

0/150

提交评论