VB第4章 选择结构概述.docx
- 文档编号:8496508
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:11
- 大小:54.43KB
VB第4章 选择结构概述.docx
《VB第4章 选择结构概述.docx》由会员分享,可在线阅读,更多相关《VB第4章 选择结构概述.docx(11页珍藏版)》请在冰豆网上搜索。
VB第4章选择结构概述
教 案
授课时间
3月17日至3月28日
课时数
4+4
授课方式
理论课☑讨论课□习题课□实验课□上机课☑技能课□其他□
授课单元
第四章选择结构程序设计
目的
与
要求
1)了解算法的概念和算法的描述
2)掌握选择结构的格式及执行过程
3)正确理解选择结构的嵌套
重点
与
难点
1)各种分支结构语句
2)选择结构的嵌套
主
要
内
容
4.1算法的介绍
*4.2条件语句
*4.3选择结构的嵌套
教学方法手段(教具)
理论课采用板书与多媒体相结合
实践课采用上机实践操作
参考资料
《VisualBasic程序设计教程》人民邮电出版社
《VisualBasic程序设计实验教程》人民邮电出版社
思考题、
作业
习题一1-4
习题一5-10
1-实验2
讲 稿
第四章选择结构程序设计
[旧课复习]:
复习内容:
1.已学过的几个常用的控件
2.控件中输入输出语句的使用
复习目的:
让学生掌握基本控件的使用
复习时长:
大约10分钟
[新课导入]:
导入方式:
以日常生活中的实例让学生理解什么是选择结构
导入目的:
增强学生的理解能力
导入时长:
大约5分钟
[新课讲授]:
重点:
各种分支结构语句的使用
难点:
选择结构的嵌套
方法:
运用多媒体辅助教学,采用讲授法和案例教学法
4.1算法介绍
4.1.1算法介绍
一、算法概述
所谓算法,是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每个指令表示一个或多个操作。
算法有以下特征:
(1)有穷性
(2)确定性
(3)可行性
(4)输入
(5)输出
4.1.2算法的表示
常用的表示算法的方法有:
自然语言、伪代码、流程图,本章重点介绍用流程图表示算法。
流程图用一些图框、流程线以及文字说明来表示算法。
用图来表示算法,直观、形象、容易理解。
包括:
传统流程图、结构化流程图。
因传统流程图中流程线的使用无限制可能导致流程图毫无规律。
结构化流程图使用3中基本结构,即:
顺序结构、选择结构和循环结构(如图4-1所示),从而大大提高流程图的规律性。
图4-1(a)顺序结构流程图图4-1(b)选择结构流程图
图4-1(c)循环结构流程图
4.2条件语句
VB中选择结构通过条件语句来完成,包括:
单分支、双分支和多分支等。
4.2.1单分支结构语句
单分支结构语句包括单行结构和块结构。
1.“单行结构”格式为:
If<条件表达式>Then<语句序列>
2.“块结构”格式为:
If<条件表达式>Then
<语句序列>
说明:
(1)“条件表达式”可以是关系表达式、布尔表达式或者数值表达式。
如果是数值表达式,则非0值为真,0为假。
(2)当条件表达式的值为真时执行语句序列。
【例4-1】已知两个数x和y,比较它们的大小,使得x>y。
分析:
对任意的两个数x、y,其中x若为大的数,直接输出即可,若y为大的数,则交换两数即可。
其语句描述如下:
用单行语句实现:
Ifx x=y: y=t 用块语句实现: Ifx t=x x=y y=t 4.2.2双分支结构语句 双分支结构语句也包括单行结构和块结构。 1.“单行结构”格式为: If<条件表达式>Then<语句序列1>[Else<语句序列2>] 2.“块结构”格式为: If<条件表达式>Then <语句序列1> [Else <语句序列2>] EndIf 说明: (1)“条件表达式”可以是关系表达式、布尔表达式或者数值表达式。 如果是数值表达式,则非0值为真,0为假。 (2)当条件表达式的值为真时执行语句列1,否则执行语句列2。 【例4-2】输入一个整数x,判断该数的奇偶性。 分析: 该数能被2整除时是偶数,否则是奇数。 能被2整除要作为判断的条件,当能被2整除时输出偶数,否则输出奇数。 图4-2判断数据奇偶性 设计步骤如下。 (1)建立应用程序用户界面,如图4-2所示。 (2)编写代码。 编写命令按钮Command1的Click事件代码: PrivateSubCommand1_Click() DimxAsInteger,yAsString x=Val(Text1.Text) IfxMod2=0Theny=x&"是偶数"Elsey=x&"是奇数" Label2.Caption=y EndSub 【例4-3】从键盘输入年份,判断是否是闰年,将结果输出。 分析: 闰年的条件如下。 (1)能被4整除,但不能被100整除年份是闰年。 (2)能被100整除,又能被400整除的年份是闰年。 图4-3判断闰年的运行界面 设计步骤如下。 (1)建立应用程序用户界面,如图4-3所示。 (2)编写代码。 编写窗体的Click事件代码: PrivateSub Form_Click() y=Val(InputBox(“输入年份”,“判断闰年”)) If(yMod4=0AndyMod100<>0)or(yMod100=0AndyMod400=0)then MsgBox“是闰年” Else MsgBox“不是闰年” EndIf EndSub 4.2.3使用IIF函数 IIF函数可以实现一些比较简单的选择结构。 IIF函数的语法格式为: IIF(<条件表达式>,<真部分>,<假部分>) 说明: (1)“条件表达式”可以是关系表达式、布尔表达式、数值表达式。 (2)当条件表达式为真时,函数返回的值是真部分;当条件表达式为假时,函数返回的值是假部分。 4.2.4多分支结构语句 如果遇到多个分支结构,其流程图如图4-4所示,可采用的语句有两种: If…Then…ElseIf语句和SelectCase语句。 图4-4多分支结构 1.If…Then…ElseIf语句 其语法格式为: If<条件1>Then [语句列1] ElseIf<条件2>Then [语句列2] … [Else [其他语句列]] EndIf 说明: (1)在块If中,Else和ElseIf语句都是可选的,可以有任意多个ElseIf子句,但是这些ElseIf子句都必须出现在Else子句之前。 (2)程序运行时,先测试条件1,如果条件为真,则执行Then之后的语句;如果条件1为假,则依次测试ElseIf子句;如果某个ElseIf子句的条件为真,则执行该ElseIf子句对应的语句列,执行完成后从EndIf语句退出;如果没有一个ElseIf子句的条件为真,则执行Else部分的其他语句列。 【例4-4】已知百分制成绩mark,要求显示相应的五级制。 (90~100分为优秀,80~89分为良好,70~79分为中等,60~69分为及格,60分以下为不及格) 分析: 各个等级是并列关系,并且输入一个成绩只能输出一个相应的等级,可采用嵌套结构的If语句。 程序流程图如图4-14所示。 图4-5输出等级 设计步骤如下。 (1)建立应用程序用户界面,如图4-5所示。 (2)编写代码。 编写命令按钮Command1的Click事件代码: PrivateSubCommand1_Click() DimmarkAssingle mark=Val(Text1.Text) Ifmark>100ThenMsgBox"请重新输入一个小于等于100的数": END Ifmark>=90Andmark<=100Then k="优秀" ElseIfmark>=80Then k="良好" ElseIfmark>=70Then k="中等" ElseIfmark>=60Then k="及格" Else k="不及格" EndIf Label2.Caption="成绩是"&mark&","&"等级是"&k EndSub 2.SelectCase语句 语法格式为: SelectCase<测试条件> [Case<表达式列表1> [<语句列1>]] [Case<表达式列表2> [<语句列2>]] … [CaseElse [<其他语句列>]] EndSelect 说明: (1)“测试条件”为必要参数,可以是数值表达式、字符串表达式或布尔表达式。 (2)在Case子句中,表达式列表为必要参数,用来测试其中是否有值与测试条件相匹配。 表达式可以有以下几种形式。 一个常量或常量表达式。 例如: Case5。 多个常量或常量表达式,各个表达式用逗号隔开,逗号相当于“或”,只要测试条件等于其中某一个常量的值就是匹配。 例如: Case1,2,3。 表达式1to表达式2,表示从表达式1到表达式2中所有的值,但是表达式1的值必须小于表达式2的值。 例如: Case1to5。 Is关系运算表达式,可以使用的关系运算符有: >、>=、<、<=、<>、=。 例如: CaseIs<5。 但是不可以使用逻辑运算符表示范围,CaseIs>5andIs<10是错误的。 表达式列表可以是以上4种情况的组合。 例如: Case1,5,6To9,Is<20。 (3)程序执行时,先求测试条件的值,然后依次判断与哪一个Case子句的值相匹配。 如果匹配则执行该Case子句后的语句列,执行完成后从EndSelect退出;如果没有Case子句与测试条件匹配,则执行CaseElse语句。 注意,如果有多个Case子句与测试条件匹配,则只执行第一个与之匹配的语句。 (4)如果没有Case子句与测试条件匹配,而且也没有CaseElse语句,则程序执行EndSelect之后的语句。 【例4-5】某百货公司为了促销,采用购物打折扣的优惠办法: 每位顾客一次购物 (1)在1000元以上者,按九五折优惠; (2)在2000元以上者,按九折优惠; (3)在3000元以上者,按八五折优惠; (4)在5000元以上者,按八折优惠。 设计步骤如下: (1)建立应用程序用户界面与设置对象属性。 (2)编写程序代码。 PrivateSubCommand1_Click() DimxAsSingle,yAsSingle x=Val(Text1.Text) CaseIs<2000 y=0.95*x CaseIs<3000 y=0.9*x CaseIs<5000 y=0.85*x CaseElse y=0.8*x EndSelect Text2.Text=y EndSub 4.3选择结构的嵌套 如果在块If语句中,语句列1或者语句列2又包含If语句,则称为If语句的嵌套。 常见的格式为: If<条件1>Then [语句列1] [Else If<条件2>Then [语句列2] [Else [语句列3]]] EndIf … EndIf 说明: (1)Else语句为可选语句。 (2)每一个块If结构都要有一个EndIf和它配对。 【例4-6】编写程序,用文本框检查用户输入的口令。 检查结果用对话框显示。 分析: 在窗体上添加一个文本框控件,将其PasswordChar属性值设置为“*”,Text属性为空,其他属性使用默认值。 假设正确口令为“12345”。 程序运行后,用户在文本框中输入口令,并按下【Enter】键确认输入完毕。 在输入过程中,每输入一个字符,都会触发文本框的KeyPress事件,并返回输入字符的ASCII码值。 事件过程中,当获取的ASCII码值为13时,即用户按下【Enter】键时表示口令输入完毕,然后判断其正确性。 程序运行结果如图4-6所示。 图4-6程序运行结果 编写命令按钮Text1的KeyPress事件代码: PrivateSubText1_KeyPress(KeyAsciiAsInteger) IfKeyAscii=13Then IfText1.Text="12345"Then MsgBox"恭喜,口令正确",0,"口令验证" Text1.Text="" Else MsgBox"口令错误,请重新输入",0,"口令验证" Text1.Text="" EndIf EndIf EndSub 教学后记:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB第4章 选择结构概述 VB 选择 结构 概述