VB第4章 选择结构.docx

上传人:b****8 文档编号:10909691 上传时间:2023-02-23 格式:DOCX 页数:13 大小:70.74KB
下载 相关 举报
VB第4章 选择结构.docx_第1页
第1页 / 共13页
VB第4章 选择结构.docx_第2页
第2页 / 共13页
VB第4章 选择结构.docx_第3页
第3页 / 共13页
VB第4章 选择结构.docx_第4页
第4页 / 共13页
VB第4章 选择结构.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

VB第4章 选择结构.docx

《VB第4章 选择结构.docx》由会员分享,可在线阅读,更多相关《VB第4章 选择结构.docx(13页珍藏版)》请在冰豆网上搜索。

VB第4章 选择结构.docx

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

教学后记:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1