《东北大学,可视化程序设计(VB),课件03第3章.ppt》由会员分享,可在线阅读,更多相关《东北大学,可视化程序设计(VB),课件03第3章.ppt(119页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Visual Basic.NET 程序设计程序设计主讲人:蒋忠中主讲人:蒋忠中东北大学工商管理学院第第3 3章章 基本控制结构基本控制结构教教学学目目的的教教学学要要求求重重点点难难点点教教学学内内容容教教学学目目的的 学学会会和和掌掌握握变变量量赋赋值值、数数据据输输入入和和输输出出的的方方法法;掌掌握握在在程程序序中中如如何何描描述述多多分分支支,如如何何使使用用循循环环语语句句;学学会会利利用用条条件件语语句句、循循环环语语句句编编写写简简单单问问题题的的程程序序;会会正正确确使使用用数数组组处处理理多多个个数数据据以以及及字字符符串串的的处处理理,为为 后后 续续 章章 节节 的的 学
2、学 习习 打打 下下 牢牢 固固 的的 基基 础础。BACK教教学学要要求求1.学习和掌握顺序、选择、循环结构程序学习和掌握顺序、选择、循环结构程序的特点。的特点。2.掌握赋值语句的功能,会正确利用文本掌握赋值语句的功能,会正确利用文本框、函数和过程输入数据以及输出计算结框、函数和过程输入数据以及输出计算结果。果。3.了解程序注释的方法。了解程序注释的方法。教教学学要要求求4.熟练掌握三种格式的熟练掌握三种格式的if语句的执行流程语句的执行流程以及它们之间的区别。以及它们之间的区别。5.正确理解正确理解Select case语句的书写格式和语句的书写格式和执行流程。执行流程。6.熟练掌握熟练掌
3、握ForNext、DoLoop、WhileWend语句的语句的书写格式、执行流程书写格式、执行流程及其特点。及其特点。教教学学要要求求7.正确理解循环嵌套的执行流程。正确理解循环嵌套的执行流程。8.正确理解例正确理解例3_2、3_4、3_5、3_7、3_8、3_11、3_14、3_15、3_16、3_18、3_19、3_20、3_22所涉及问题的程序设所涉及问题的程序设计思路计思路。9.掌握掌握数组定义,数组元素的引用,以及数组定义,数组元素的引用,以及数组在程序中的作用及其处理方法。数组在程序中的作用及其处理方法。BACK重重点点难难点点重点:重点:1.赋值操作的实质。赋值操作的实质。2.数
4、据输入、输出的方法。数据输入、输出的方法。3.三种三种If语句和语句和Selectcase执行流程,它们之间的执行流程,它们之间的区别。区别。4.ForNext、DoLoop、WhileWend语句的语句的书写格式、执行流程以及在程序设计中的应用。书写格式、执行流程以及在程序设计中的应用。重重点点难难点点重点:重点:5.数组的应用。数组的应用。6.以下问题编程思路和设计方法:以下问题编程思路和设计方法:从三个数中找最小数或排序。从三个数中找最小数或排序。复杂条件的描述方法,例如,闰年判定条件的书写。复杂条件的描述方法,例如,闰年判定条件的书写。多个数据求累加、累乘。多个数据求累加、累乘。把多个
5、数据组成数组。把多个数据组成数组。重重点点难难点点重点:重点:求最大公约数、最小公倍数。求最大公约数、最小公倍数。字符串的处理。字符串的处理。难点:难点:1.三种格式的三种格式的If语句的区别,语句的区别,If语句与语句与Selectcase语句语句的区别。的区别。2.正确使用三种不同的循环语句。正确使用三种不同的循环语句。3.利用数组处理多个数据。利用数组处理多个数据。BACK教教学学内内容容3.1 3.1 3.1 3.1 结构化程序设计概述结构化程序设计概述结构化程序设计概述结构化程序设计概述3.2 3.2 3.2 3.2 顺序结构程序设计顺序结构程序设计顺序结构程序设计顺序结构程序设计3
6、.3 3.3 3.3 3.3 选择结构程序设计选择结构程序设计选择结构程序设计选择结构程序设计3.4 3.4 3.4 3.4 循环结构程序设计循环结构程序设计循环结构程序设计循环结构程序设计1.结结构构化化程程序序设设计计 3.1 3.1 3.1 3.1 结构化程序设计概述结构化程序设计概述结构化程序设计概述结构化程序设计概述 结结构构化化程程序序设设计计产产生生于于20世世纪纪60年年代代末末的的一一种种程程序序设设计计方方法法,该该方方法法要要求求一一个个程程序序仅仅采采用用顺顺序序结结构构、选选择择结结构构和和循循环环结结构构这这三三 种种 基基 本本 程程 序序 结结 构构。1.结构化
7、程序设计 3.1 3.1 3.1 3.1 结构化程序设计概述结构化程序设计概述结构化程序设计概述结构化程序设计概述 程序是为了解决程序是为了解决某一个特定问题用一种某一个特定问题用一种语言编写的语言编写的指令序列指令序列。程序设计一般包程序设计一般包括确定括确定数据结构数据结构、确定确定算法算法、编码编码、调试程序调试程序、整理并写出文档资料整理并写出文档资料等等内容。内容。2.程程 序序1.结构化程序设计 3.1 3.1 3.1 3.1 结构化程序设计概述结构化程序设计概述结构化程序设计概述结构化程序设计概述算算法法是是指指一一组组严严谨谨定定义义的的运运算算顺顺序序的的规规则则,并并且且每
8、每一一个个规规则则都都是是有有意意义义的的和和明明确确的的,并并且且运运算算可可以以在在有有限限步步骤骤内内终终止止。2.程 序3.算算 法法1.结构化程序设计 3.1 3.1 3.1 3.1 结构化程序设计概述结构化程序设计概述结构化程序设计概述结构化程序设计概述设设计计的的算算法法要要用用“语语 言言”恰恰当当地地表表示示出出来来,人人们们创创造造了了许许多多专专用用工工具具来来描描述述算算法法,常常用用的的有有流流程程图图、N-S图图等等。2.程 序3.算 法4.算算法法的的表表示示语语言言1.结构化程序设计 3.1 3.1 3.1 3.1 结构化程序设计概述结构化程序设计概述结构化程序
9、设计概述结构化程序设计概述结结构构化化程程序序设设计计方方法法要要求求采采用用顺顺序序结结构构、选选择择结结构构和和循循环环结结构构这这三三种种基基本本控控制制结结构构,它它们们具具有有单单入入口口、单单出出口口的的特特点点。2.程 序3.算 法4.算法的表示语言5.三三种种基基本本控控制制结结构构1.结构化程序设计 3.1 3.1 3.1 3.1 结构化程序设计概述结构化程序设计概述结构化程序设计概述结构化程序设计概述2.程 序3.算 法4.算法的表示语言5.三三种种基基本本控控制制结结构构1.结构化程序设计 3.1 3.1 3.1 3.1 结构化程序设计概述结构化程序设计概述结构化程序设计
10、概述结构化程序设计概述2.程 序3.算 法4.算法的表示语言5.三三种种基基本本控控制制结结构构1.结构化程序设计 3.1 3.1 3.1 3.1 结构化程序设计概述结构化程序设计概述结构化程序设计概述结构化程序设计概述2.程 序3.算 法4.算法的表示语言5.三三种种基基本本控控制制结结构构MENU3.2 3.2 3.2 3.2 顺序结构程序设计顺序结构程序设计顺序结构程序设计顺序结构程序设计 3.2.1 3.2.1 3.2.1 3.2.1 赋值语句赋值语句赋值语句赋值语句赋值语句的作用是计算表达式的值,然后将值赋给变量。变变 量量 名名=表表 达达 式式 例:例:x=(100+x)/y34
11、2xy3.2 3.2 3.2 3.2 顺序结构程序设计顺序结构程序设计顺序结构程序设计顺序结构程序设计 3.2.1 3.2.1 3.2.1 3.2.1 赋值语句赋值语句赋值语句赋值语句赋值语句的作用是计算表达式的值,然后将值赋给变量。变变 量量 名名=表表 达达 式式 例:例:x=(100+)/y342xyx100+341343.2 3.2 3.2 3.2 顺序结构程序设计顺序结构程序设计顺序结构程序设计顺序结构程序设计 3.2.1 3.2.1 3.2.1 3.2.1 赋值语句赋值语句赋值语句赋值语句赋值语句的作用是计算表达式的值,然后将值赋给变量。变变 量量 名名=表表 达达 式式 例:例:
12、x=(100+)/342xyx134y/2673.2 3.2 3.2 3.2 顺序结构程序设计顺序结构程序设计顺序结构程序设计顺序结构程序设计 3.2.1 3.2.1 3.2.1 3.2.1 赋值语句赋值语句赋值语句赋值语句赋值语句的作用是计算表达式的值,然后将值赋给变量。变变 量量 名名=表表 达达 式式 例:例:x=(100+)/342xyxy67=x673.2 3.2 3.2 3.2 顺序结构程序设计顺序结构程序设计顺序结构程序设计顺序结构程序设计 3.2.1 3.2.1 3.2.1 3.2.1 赋值语句赋值语句赋值语句赋值语句赋值语句的作用是计算表达式的值,然后将值赋给变量。变变 量量
13、 名名=表表 达达 式式 (1)赋值号与等号形同而义不同。赋值号的左侧必须是变量,右侧可以是常量、变量或表达式,其两侧不能交换,即使两侧都是变量,对调后所产生的结果与对调前是不同的。注意注意3.2 3.2 3.2 3.2 顺序结构程序设计顺序结构程序设计顺序结构程序设计顺序结构程序设计 3.2.1 3.2.1 3.2.1 3.2.1 赋值语句赋值语句赋值语句赋值语句赋值语句的作用是计算表达式的值,然后将值赋给变量。变变 量量 名名=表表 达达 式式 (2)当表达式为数值型并且与变量的精度不相同时,则系统将表达式的值强制转换成左侧变量的精度。例如例如:Dim m As Integerm=7.89
14、 m为整型变量,转换时四舍五入,m中的结果为8注意注意3.2 3.2 3.2 3.2 顺序结构程序设计顺序结构程序设计顺序结构程序设计顺序结构程序设计 3.2.1 3.2.1 3.2.1 3.2.1 赋值语句赋值语句赋值语句赋值语句赋值语句的作用是计算表达式的值,然后将值赋给变量。变变 量量 名名=表表 达达 式式 3)当表达式是数字字符串,赋值号左侧的变量是数值类型时,系统会自动将表达式转换成数值类型再赋值。但是当表达式中有非数字字符或空串时,则出错。例如例如:Dim m As Integerm=“123”m中 的 结 果 是 123,与m=Val(“123”)效果相同m=“123miles
15、”出现“类型不匹配”的错误 注意注意3.2 3.2 3.2 3.2 顺序结构程序设计顺序结构程序设计顺序结构程序设计顺序结构程序设计 3.2.1 3.2.1 3.2.1 3.2.1 赋值语句赋值语句赋值语句赋值语句赋值语句的作用是计算表达式的值,然后将值赋给变量。变变 量量 名名=表表 达达 式式 (4)当逻辑型表达式赋值给数值型时,True转换为-1,False转换为0;反之,当数值型数据赋值给逻辑型变量时,非0转换为True,0转换为False。注意注意3.2 3.2 3.2 3.2 顺序结构程序设计顺序结构程序设计顺序结构程序设计顺序结构程序设计 3.2.1 3.2.1 3.2.1 3.
16、2.1 赋值语句赋值语句赋值语句赋值语句赋值语句的作用是计算表达式的值,然后将值赋给变量。变变 量量 名名=表表 达达 式式 (5)不能在一个赋值语句中,同时给多个变量赋值。例如:Dim a,b As Integera=b=10注意注意思考:该语句并没有语法错误,请思考a、b的值是什么?3.2 3.2 3.2 3.2 顺序结构程序设计顺序结构程序设计顺序结构程序设计顺序结构程序设计 3.2.2 3.2.2 3.2.2 3.2.2 数据的输入和输出数据的输入和输出数据的输入和输出数据的输入和输出1InputBox()函数 该函数的作用是打开一个对话框,等待用户输入内容,当用户单击“确定”按键或按
17、回车键时,函数返回输入的值,其类型为字符串。3.2 3.2 3.2 3.2 顺序结构程序设计顺序结构程序设计顺序结构程序设计顺序结构程序设计 3.2.2 3.2.2 3.2.2 3.2.2 数据的输入和输出数据的输入和输出数据的输入和输出数据的输入和输出1InputBox()函数InputBox(提提示示,标标题题,默默认认,x坐坐标标位位置置,y坐坐标标位位置置)注意注意“提示”是字符串表达式,在对话框中作为显示信息可以是汉字。若要多行显示,必须在每行的行末加回车chr(13)和换行chr(10)控制符。例如:Dim StrBookName As String,StrS1 As String
18、StrS1=“请输入书名”+chr(13)+chr(10)+“然后单击确定按钮”StrBookName=InputBox(Strs1,“输入框”,100,100)3.2 3.2 3.2 3.2 顺序结构程序设计顺序结构程序设计顺序结构程序设计顺序结构程序设计 3.2.2 3.2.2 3.2.2 3.2.2 数据的输入和输出数据的输入和输出数据的输入和输出数据的输入和输出1InputBox()函数InputBox(提提示示,标标题题,默默认认,x坐坐标标位位置置,y坐坐标标位位置置)注意注意“标题”是字符串表达式,在对话框的标题区显示。若省略,则将程序名放入标题框。例如:StrBookName=
19、InputBox(Strs1,“输入框”,100,100)3.2 3.2 3.2 3.2 顺序结构程序设计顺序结构程序设计顺序结构程序设计顺序结构程序设计 3.2.2 3.2.2 3.2.2 3.2.2 数据的输入和输出数据的输入和输出数据的输入和输出数据的输入和输出1InputBox()函数InputBox(提提 示示,标标 题题,默默 认认,x坐坐标标位位置置,y坐坐标标位位置置)注意注意“默认”是字符串表达式,当在输入对话框中无输入时,则将该默认值作为输入的内容。使用InputBox()函数时,应注意各项参数的次序必须一一对应,其中的可选项省略时,处于中间的默认部分要用逗号跳过。例如:S
20、trBookName=InputBox(Strs1,“输入框”,100,100)3.2 3.2 3.2 3.2 顺序结构程序设计顺序结构程序设计顺序结构程序设计顺序结构程序设计 3.2.2 3.2.2 3.2.2 3.2.2 数据的输入和输出数据的输入和输出数据的输入和输出数据的输入和输出1InputBox()函数InputBox(提提 示示,标标 题题,默默 认认,x坐坐标标位位置置,y坐坐标标位位置置)注意注意“x坐标位置”和“y坐标位置”是整型表达式,其值确定对话框左上角在屏幕上的位置。屏幕左上角为坐标原点,单位为twip(1/567cm)。例如:StrBookName=InputBox
21、(Strs1,“输入框”,100,100)3.2 3.2 3.2 3.2 顺序结构程序设计顺序结构程序设计顺序结构程序设计顺序结构程序设计 3.2.2 3.2.2 3.2.2 3.2.2 数据的输入和输出数据的输入和输出数据的输入和输出数据的输入和输出2MsgBox()函数和 MsgBox过程 通过MsgBox函数或MsgBox过程可以打开一个信息框,为用户指出错误或发出警告信息等,从而方便用户操作。MsgBox函数可以返回所选按钮的整数值,返回值的意义见表3.2。若不需要返回值,就与MsgBox过程的作用一样了。3.2 3.2 3.2 3.2 顺序结构程序设计顺序结构程序设计顺序结构程序设计
22、顺序结构程序设计 3.2.2 3.2.2 3.2.2 3.2.2 数据的输入和输出数据的输入和输出数据的输入和输出数据的输入和输出2MsgBox()函数和 MsgBox过程 MsgBox()函数用法如下:变变量量=MsgBox(提示提示,按,按钮钮,标题标题)MsgBox过程的用法如下:MsgBox(提示提示,按,按钮钮,标题标题)“按钮”是整型表达式,其值决定信息框按钮的数目和类型以及出现在信息框上的图标类型,其设置见表3.1。例如:MsgBox(还要继续吗?(Y/N),4,消息框)或者 MsgBox(还要继续吗?(Y/N),MsgBoxStyle.YesNo,消息框)3.2 3.2 3.2
23、 3.2 顺序结构程序设计顺序结构程序设计顺序结构程序设计顺序结构程序设计 3.2.2 3.2.2 3.2.2 3.2.2 数据的输入和输出数据的输入和输出数据的输入和输出数据的输入和输出2MsgBox()函数和 MsgBox过程 3.2 3.2 3.2 3.2 顺序结构程序设计顺序结构程序设计顺序结构程序设计顺序结构程序设计 3.2.2 3.2.2 3.2.2 3.2.2 数据的输入和输出数据的输入和输出数据的输入和输出数据的输入和输出3 利 用 Lable控件实现数据的输出显示使用Lable控件可以给用户提供窗体功能的有关信息。4 利 用 TextBox控 件实 现数 据 的输入 和输出
24、文本框可用来显示一个由多行文本组成的信息。当文本信息超出文本框的尺寸时,文本框还会添加自己的滚动条。TextBox和Label控件之间的差别在于:Text控件中的文本可以被编辑,而Label控件中的文本不能被编辑。注意注意3.2 3.2 3.2 3.2 顺序结构程序设计顺序结构程序设计顺序结构程序设计顺序结构程序设计 3.2.2 3.2.2 3.2.2 3.2.2 数据的输入和输出数据的输入和输出数据的输入和输出数据的输入和输出5输 出 窗 口 输出窗口用来输出程序运行时产生的信息,包括编程环境给出的信息和程序中要输出的信息。例如:Dim x As String,y As Integerx=s
25、0210:y=23Debug.WriteLine(学号:&x&y)学号:s0210233.2 3.2 3.2 3.2 顺序结构程序设计顺序结构程序设计顺序结构程序设计顺序结构程序设计 3.2.3 3.2.3 3.2.3 3.2.3 注释和结束语句注释和结束语句注释和结束语句注释和结束语句1注释语句Rem 注注释释字字符符串串或或 注注释释字字符符串串注释 语句是非执行语句,仅起注释作用,它不会被解释和编译。3.2 3.2 3.2 3.2 顺序结构程序设计顺序结构程序设计顺序结构程序设计顺序结构程序设计 3.2.3 3.2.3 3.2.3 3.2.3 注释和结束语句注释和结束语句注释和结束语句注
26、释和结束语句1注释语句Rem 注注释释字字符符串串或或 注注释释字字符符串串在其他语句后使用Rem关键字,必须使用冒号(:)与前面的语句隔开,注释符(单撇号)可以直接写在其他语句后面。3.2 3.2 3.2 3.2 顺序结构程序设计顺序结构程序设计顺序结构程序设计顺序结构程序设计 3.2.3 3.2.3 3.2.3 3.2.3 注释和结束语句注释和结束语句注释和结束语句注释和结束语句 注释可分为序言性注释和功能性注释两类。序言性注释常置于程序或模块的开头,用来说明整个程序或模块的功能、使用的主要算法以及设计人员姓名、设计日期等。功能性注释常嵌在程序内部,用来说明一个语句或一个程序段的功能等。1
27、注释语句Rem 注注释释字字符符串串或或 注注释释字字符符串串3.2 3.2 3.2 3.2 顺序结构程序设计顺序结构程序设计顺序结构程序设计顺序结构程序设计 3.2.3 3.2.3 3.2.3 3.2.3 注释和结束语句注释和结束语句注释和结束语句注释和结束语句2结束语句语法格式:语法格式:End End语句可以强行终止程序代码的执行,消除所有变量,并关闭所有数据文件。在程序运行中,用户也可以单击工具框上的“结束“按钮来强行结束程序的运行。MENU3.3 3.3 3.3 3.3 选择结构程序设计选择结构程序设计选择结构程序设计选择结构程序设计3.3.1 If 3.3.1 If 3.3.1 I
28、f 3.3.1 If Then Then Then Then 语句语句语句语句(1)If Then 单分支选择结构常用来解决可选择的情况较少的问题。例如:输出两个数中较大或较小的数。请 描 述 一 些 生 活 中的 单 分 支 选 择 问 题(2)If Then End If3.3 3.3 3.3 3.3 选择结构程序设计选择结构程序设计选择结构程序设计选择结构程序设计单单分分支支选选择择结结构构的的执执行行过过程程表达式其他语句表达式的结果是True还是False?如果是TrueTrue如果是FalseFalse3.3.1 If 3.3.1 If 3.3.1 If 3.3.1 If Then
29、 Then Then Then 语句语句语句语句(1)If Then (2)If Then End If3.3 3.3 3.3 3.3 选择结构程序设计选择结构程序设计选择结构程序设计选择结构程序设计单单分分支支选选择择结结构构的的流流程程图图表达式其他语句TrueFalse3.3.1 If 3.3.1 If 3.3.1 If 3.3.1 If Then Then Then Then 语句语句语句语句(1)If Then (2)If Then End If3.3 3.3 3.3 3.3 选择结构程序设计选择结构程序设计选择结构程序设计选择结构程序设计表达式作为该条件语句中的条件,其形式一般为关
30、系表达式或逻辑表达式;如果是数值表达式,则非0值为真,0值为假;如果是字符串则只能使用“True”和“False”,系统会把其强制转换为逻辑常量True和False。3.3.1 If 3.3.1 If 3.3.1 If 3.3.1 If Then Then Then Then 语句语句语句语句(1)If Then (2)If Then End If3.3 3.3 3.3 3.3 选择结构程序设计选择结构程序设计选择结构程序设计选择结构程序设计3.3.1 If 3.3.1 If 3.3.1 If 3.3.1 If Then Then Then Then 语句语句语句语句当条件表达式为真时,程序就
31、会执行对应的。第一种形式中的可以是一条单个的语句,也可以是用冒号分隔的多条语句,而且所有语句必须写在同一行上;第二种形式中的可以是一条或分行书写的多条语句。(1)If Then (2)If Then End If3.3 3.3 3.3 3.3 选择结构程序设计选择结构程序设计选择结构程序设计选择结构程序设计例如:if ab Then t=a a=b b=tend ifif ab Then t=a:a=b:b=t或者3.3.1 If 3.3.1 If 3.3.1 If 3.3.1 If Then Then Then Then 语句语句语句语句(1)If Then (2)If Then End I
32、f3.3 3.3 3.3 3.3 选择结构程序设计选择结构程序设计选择结构程序设计选择结构程序设计3.3.1 If 3.3.1 If 3.3.1 If 3.3.1 If Then Then Then Then 语句语句语句语句例 3-1已 知 两 个 变 量a和 b,比 较 它 们 的 大 小,使得a 中的值大于b。Private Sub Form1_Load(ByVal sender As System.Object,ByVal e As System.EventArgs)Handles MyBase.LoadEnd SubDim a,b,t As Integerb=InputBox(b=)
33、a=InputBox(a=)If a=b Thent=aa=bb=tEnd IfDebug.WriteLine(a=&a)Debug.WriteLine(b=&b)开始a=InputBox(a=)b=InputBox(b=)a不大于b吗?t=aDebug.WriteLine(a=&a)结束a=bb=tDebug.WriteLine(“b=&b)abDim a,b,t As IntegerPrivate Sub Form1_Load(ByVal sender As System.Object,ByVal e As System.EventArgs)Handles MyBase.LoadEnd S
34、ub t=aa=bb=t这三条语句完成了变量a与b的值进行交换的过程。如果写成:如果写成:a=b b=a 会有什么问题?会有什么问题?思考思考Dim a,b,t As Integerb=InputBox(b=)a=InputBox(a=)If a=b Thent=aa=bb=tEnd IfDebug.WriteLine(a=&a)Debug.WriteLine(b=&b)3.3 3.3 3.3 3.3 选择结构程序设计选择结构程序设计选择结构程序设计选择结构程序设计3.3.2 If 3.3.2 If 3.3.2 If 3.3.2 If Then Then Then Then Else Else
35、 Else Else 语句语句语句语句(1)If Then Else (2)If Then Else End IfIf Then Else 语句是双分支选择结构。该选择结构常用来解决只有两种选择情况的问题。请描述一些生活中的双分支选择问题3.3 3.3 3.3 3.3 选择结构程序设计选择结构程序设计选择结构程序设计选择结构程序设计双双分分支支选选择择结结构构流流程程图图表达式语句块1语句块2其他语句TrueFalse3.3 3.3 3.3 3.3 选择结构程序设计选择结构程序设计选择结构程序设计选择结构程序设计3.3.2 If 3.3.2 If 3.3.2 If 3.3.2 If Then
36、Then Then Then Else Else Else Else 语句语句语句语句例:计 算 如 下 函 数 (a-b)/2 aby=(b-a)/4 ab(1)用单分支结构实现的代码为:y=(a-b)/2If aby=(b-a)/4 ab(2)用单行双分支结构实现的代码为:If ab Then y=(a-b)/2 Else y=(b-a)/43.3 3.3 3.3 3.3 选择结构程序设计选择结构程序设计选择结构程序设计选择结构程序设计3.3.2 If 3.3.2 If 3.3.2 If 3.3.2 If Then Then Then Then Else Else Else Else 语句
37、语句语句语句例:计 算 如 下 函 数 (a-b)/2 aby=(b-a)/4 ab(3)改用多行形式的双分支结构来实现的代码为:If ab Theny=(a-b)/2Elsey=(b-a)/4End If3.3 3.3 3.3 3.3 选择结构程序设计选择结构程序设计选择结构程序设计选择结构程序设计3.3.3 If 3.3.3 If 3.3.3 If 3.3.3 If Then Then Then Then ElseIf ElseIf ElseIf ElseIf 语句语句语句语句If Then ElseIfThen Else End If If Then ElseIf 语句是多分支选择结构,
38、该结构主要解决一个条件产生多种不同情况的问题。3.3 3.3 3.3 3.3 选择结构程序设计选择结构程序设计选择结构程序设计选择结构程序设计3.3.3 If 3.3.3 If 3.3.3 If 3.3.3 If Then Then Then Then ElseIf ElseIf ElseIf ElseIf 语句语句语句语句多多分分支支结结构构流流程程图图表达式1表达式2表达式n语句块2语句块n语句块n+1语句块1其他语句FalseTrueFalseFalseTrueTrue3.3 3.3 3.3 3.3 选择结构程序设计选择结构程序设计选择结构程序设计选择结构程序设计多分支选择结构会根据不同
39、的表达式值确定执行哪个语句块。语句中测试条件的顺序为表达式1、表达式2,一旦遇到表达式值为True(或非零),则执行该条件下的语句块。若所有的表达式值均为False或零,且语句中运用了Else部分,则执行语句块n+1,否则不执行该语句中任何语句块。3.3.3 If 3.3.3 If 3.3.3 If 3.3.3 If Then Then Then Then ElseIf ElseIf ElseIf ElseIf 语句语句语句语句If Then ElseIfThen Else End If 3.3 3.3 3.3 3.3 选择结构程序设计选择结构程序设计选择结构程序设计选择结构程序设计3.3.3
40、 If 3.3.3 If 3.3.3 If 3.3.3 If Then Then Then Then ElseIf ElseIf ElseIf ElseIf 语句语句语句语句例3-3 已知输入某课程的百分制成绩Score,要求按五级制进行评定,评定条件如下:优秀 Score90良好 80Score90中等 70Score80及格 60 Score 70不及格 0=Score=90 Then Message=优秀 ElseIf score=80 Then Message=良好 ElseIf score=70 Then Message=中等 ElseIf score=60 Then Message
41、=及格 ElseIf score=0 Then Message=不及格 End If Debug.WriteLine(成绩为:&score)Debug.WriteLine(等级为:&message)Private Sub Form1_Load(ByVal sender As System.Object,ByVal e As System.EventArgs)Handles MyBase.Load End Sub注意注意(1)ElseIf不能写成Else If。(2)语句中不论包含有几个分支,程序执行了一个分支后,其他分支不再执行,接着执行下一条语句。3.3 3.3 3.3 3.3 选择结构程序
42、设计选择结构程序设计选择结构程序设计选择结构程序设计3.3.4 Select Case 3.3.4 Select Case 3.3.4 Select Case 3.3.4 Select Case 语句语句语句语句Select Case 表达式表达式 Case 表达式列表表达式列表1 Case 表达式列表表达式列表2 Case Else End Select Select Case语句,又称情况语句,是多分支结构的另一种表达形式。3.3 3.3 3.3 3.3 选择结构程序设计选择结构程序设计选择结构程序设计选择结构程序设计该语句中的“表达式列表”与表达式的类型必须相同,常用的表达式形式有以下三
43、种形式:3.3.4 Select Case 3.3.4 Select Case 3.3.4 Select Case 3.3.4 Select Case 语句语句语句语句Select Case 表达式表达式 Case 表达式列表表达式列表1 Case 表达式列表表达式列表2 Case Else End Select 3.3 3.3 3.3 3.3 选择结构程序设计选择结构程序设计选择结构程序设计选择结构程序设计(1)常量表 例如:Case 1,2,3,4,5Case“Book”,“PEN”当表达式的值为常量表中一个元素时,表示与条件匹配。3.3.4 Select Case 3.3.4 Selec
44、t Case 3.3.4 Select Case 3.3.4 Select Case 语句语句语句语句Select Case 表达式表达式 Case 表达式列表表达式列表1 Case 表达式列表表达式列表2 Case Else End Select 3.3 3.3 3.3 3.3 选择结构程序设计选择结构程序设计选择结构程序设计选择结构程序设计(2)常量1 To 常量2例如:Case 0 To 59Case“A”To“D”当表达式的值在此区间内,则表示与条件匹配。3.3.4 Select Case 3.3.4 Select Case 3.3.4 Select Case 3.3.4 Select
45、 Case 语句语句语句语句Select Case 表达式表达式 Case 表达式列表表达式列表1 Case 表达式列表表达式列表2 Case Else End Select 3.3 3.3 3.3 3.3 选择结构程序设计选择结构程序设计选择结构程序设计选择结构程序设计(3)Is常量例如:Case IS85Case IS“WORKER”当表达式的值能使关系运算符表达的关系成立时,则表示与条件匹配。3.3.4 Select Case 3.3.4 Select Case 3.3.4 Select Case 3.3.4 Select Case 语句语句语句语句Select Case 表达式表达式
46、Case 表达式列表表达式列表1 Case 表达式列表表达式列表2 Case Else End Select 3.3 3.3 3.3 3.3 选择结构程序设计选择结构程序设计选择结构程序设计选择结构程序设计上述三种形式可以在一个Case行中综合应用,但应注意,其类型必须相同。例如:Case 40,60 To 69,Is803.3.4 Select Case 3.3.4 Select Case 3.3.4 Select Case 3.3.4 Select Case 语句语句语句语句Select Case 表达式表达式 Case 表达式列表表达式列表1 Case 表达式列表表达式列表2 Case
47、Else End Select 3.3 3.3 3.3 3.3 选择结构程序设计选择结构程序设计选择结构程序设计选择结构程序设计思思 考考如何使用Select Case 语句完成例3-3呢?3.3.4 Select Case 3.3.4 Select Case 3.3.4 Select Case 3.3.4 Select Case 语句语句语句语句Select Case 表达式表达式 Case 表达式列表表达式列表1 Case 表达式列表表达式列表2 Case Else End Select 3.3 3.3 3.3 3.3 选择结构程序设计选择结构程序设计选择结构程序设计选择结构程序设计3.3
48、.6 3.3.6 3.3.6 3.3.6 条条条条 件件件件 函函函函 数数数数1IIf()函数如果IIf函数中的表达式结果为True,则该函数的值为n1;为False,函数值为n2。例如:求X的绝对值 x=IIf(x0,x,-x)IIf(表表达达式式,n1,n2)3.3 3.3 3.3 3.3 选择结构程序设计选择结构程序设计选择结构程序设计选择结构程序设计3.3.6 3.3.6 3.3.6 3.3.6 条条条条 件件件件 函函函函 数数数数2Choose()函数。该函数的功能是根据整数表达式的值来决定选用选项列表中的某个值。如果整数表达等于1,则选用选项列表中第1个选项的值。如果等于2,则
49、选用第2个选项的值,以此类推。若整数不等式的值小于或大于选项列表中的选项数目,则返回Null。Choose(整整数数表表达达式式,选选项项列列表表)3.3 3.3 3.3 3.3 选择结构程序设计选择结构程序设计选择结构程序设计选择结构程序设计3.3.6 3.3.6 3.3.6 3.3.6 条条条条 件件件件 函函函函 数数数数2Choose()函数。例如:根据N(按1-4取值),转换成算术运算符。Op=Choose(N,“+”,“”,“*”,“/”)Choose(整整数数表表达达式式,选选项项列列表表)3.3 3.3 3.3 3.3 选择结构程序设计选择结构程序设计选择结构程序设计选择结构程
50、序设计3.3.7 3.3.7 3.3.7 3.3.7 选选选选 择择择择 结结结结 构构构构 应应应应 用用用用 举举举举 例例例例例3-6编写一个学号和密码的检验程序。对输入的学号和密码作如下规定:(1)学号占8位,数字密码占6位。本题中,密码假定为“776655”(2)输入密码时在屏幕上不显示输入的字符,而以六个“*”组成的字符串代替。(3)当数据输入错误时,显示有关信息。若单击“Retry(重试)”按钮,则清除原输入的内容,焦点定位在原输入的文本框,再次输入。若单击Cancel“(取消)”按钮,则终止程序的运行。3.3 3.3 3.3 3.3 选择结构程序设计选择结构程序设计选择结构程序