首页 Vb课件(2010)-3

Vb课件(2010)-3

举报
开通vip

Vb课件(2010)-3 1 Visual BasicVisual Basic 程序设计程序设计 (6.0(6.0版版)) 安徽工程大学安徽工程大学 电气工程学院电气工程学院 徐晓光徐晓光 2 第3章 VB语言的基本控制结构 3.1 算法与结构P57 3.2 顺序结构P60 3.3 分支结构P67 3.4 循环结构P76 3.5 应用程序举例P82 3 3.1 算法与结构 • 一、算法 • 1、算法的概念:是对特定问题求解步骤的 一种描述。 • 2、算法的特征:有穷性、确定性、可行性、 有输0-n...

Vb课件(2010)-3
1 Visual BasicVisual Basic 程序设计程序设计 (6.0(6.0版版)) 安徽工程大学安徽工程大学 电气工程学院电气工程学院 徐晓光徐晓光 2 第3章 VB语言的基本控制结构 3.1 算法与结构P57 3.2 顺序结构P60 3.3 分支结构P67 3.4 循环结构P76 3.5 应用程序举例P82 3 3.1 算法与结构 • 一、算法 • 1、算法的概念:是对特定问题求解步骤的 一种描述。 • 2、算法的特征:有穷性、确定性、可行性、 有输0-n个入、有1个以上输出。 • 3、算法的描述:自然语言、符号、流程图、 N-S图、PAD图、程序语言等。 4 • 二、程序控制结构 • 1、顺序结构 • 2、选择结构 • 3、循环结构 5 3.2 顺序结构 一. 赋值语句 形式: [LET]变量名=表达式 作用: 将表达式的值赋值给变量名. 一般用于给变量赋值或对控件设定属性值. 例: sRate!=0.1 Text1.Text = "欢迎使用Visual Basic 6.0” 注意:P60 1、当表达式的类型与变量的类型不一致时,强制转换成 左边的精度。如: iA% = 10 / 3 iA中的结果为3 2、虽然赋值号与关系运算符等于号都用“=”表示,VB系 统会根据所处的位置自动判断是何种意义的符号。 3、赋值号左边只能是变量,不能是常量或表达式。 4、不能在一句赋值语句中,同时给多个变量赋值。 6 二、 人机交互函数和过程 VB与用户之间的直接交互是通过InputBox()函数、MsgBox()函数和 MsgBox过程进行的。 1.InputBox函数:P70 InputBox(提示[,标题][,缺省][,x 坐标位置][,y坐标位置]) 其中:提示提示信息,标题对话框标题,缺省输入区缺省值 函数返回字符类型. 例要在屏幕上显示图示的对话框: 7 相应的语句如下: Dim strName As String * 40 strName= InputBox( “请输入你的姓名” + vbCrLf + “然后单击确定” , “输入框” ) 也可以使用如下语句: Dim strName As String * 40, strS1 As String * 40 strS1 = “请输入你的姓名” + Chr(13) + Chr(10) + “然后单击确定” strName= InputBox(strS1, “输入框”,, 100,100) 当键盘输入“王晓明”后,变量strName获得键盘输入的值. 8 2. MsgBox函数和MsgBox过程(P71) 函数形式:变量[%] = MsgBox(提示[,按钮][,标题]) 过程形式: MsgBox提示[,按钮][,标题] 按钮值如下: 函数返回所选按钮整数值: 9 例3.2 编一帐号和密码检验程序。 要求: 帐号不超过6位数字,有错,清除原内容再输入. 密码输入时在屏幕上以 “*”代替; 若密码错,显示有关信息, 选择“重试”按钮,清除原内容再输入,选择“取消”按钮,停止 运行。 分析: 帐号6位,MaxLength为6 , LostFocus判断数字IsNumeric函数 密码PassWordChar为“*”,MsgBox函数设置密码错对话框. 10 3.3 选择结构 1. If…Then语句(单分支结构) If <表达式> Then 语句块 End If 或 If <表达式> Then <语句> 例:已知两个数x和y,比较它们的大小, 使得x大于y. If x Then <语句块1> Else <语句块2> End If (2)If <表达式> Then <语句1> Else <语句2> 计算分段函数 表达式 F 图 1-3-9 双分支结构 语句块 1 T 语句块 2 y x x x x x x x = + + ¹ - + = ì í ï îï sin cos 2 3 1 0 3 0 单分支结构实现: [if x=0 then ] y=cos(x)-x^3+3*x If x<>0 Then y=sin(x)+sqr (x*x+1) 双分支结构实现: If x<>0 Then y=sin(x)+sqr (x*x+1) Else y=cos(x)-x^3+3*x End If 12 3. If…Then…ElseIf语句(多分支结构) 形式: If <表达式1> Then <语句块1> ElseIf <表达式2>Then <语句块2> … [Else 语句块 n+1 ] End If 表达式 1 表达式 2 表达式n T F T F 图 1-3-10 多分支结构 语句块 n 语句块n+1 语句块 2 语句块 1 F ⋯ T 13 例3.3 已知变量strC中存放了一个字符,判断该字符是字母字 符、数字字符还是其他字符。 用多分支结构实现: If Ucase(strC) >="A" And Ucase (strC) <="Z" Then Print strC + "是字母字符" ElseIf strC >="0" And strC <="9" Then Print strC + "是数字字符" Else Print strC + "其他字符" End If 不管有几个分支,依次判断,当某条件满足,执行相应的语句, 其余分支不再执行;若条件都不满足,且有Else子句,则执行该 语句块,否则什么也不执行。. ElseIf不能写成 Else If。 14 例3.3a 根据边长判断三角形类型 15 例3.4 已知百分制成绩mark,显示对应的五级制成绩 哪些正确,哪些错误? 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 一 If mark >= 90 Then Print "优" ElseIf mark >= 80 Then Print "良" ElseIf mark >= 70 Then Print "中" ElseIf mark >= 60 Then Print "及格" Else Print "不及格" End If 方法二 If mark < 60 Then Print "不及格" ElseIf mark < 70 Then Print "及格" ElseIf mark < 80 Then Print "中" ElseIf mark < 90 Then Print "良" Else Print "优" End If 方法三 If mark >= 60 Then Print "及格" ElseIf mark >= 70 Then Print "中" ElseIf mark >= 80 Then Print "良" ElseIf mark >= 90 Then Print "优" Else Print "不及格" End If 正确:方法一、二 错误:方法三 16 4.If语句的嵌套 If语句的嵌套是指If或Else后面的语句块中又包含If语句。 形式如下: If <表达式1> Then If <表达式11> Then … End If … End If 17 T x >y T z 为最小数 T 使得 x >y F F F x >y>z x < y x 与 y 交换 y < z y 与 z 交换 x< y x 与 y 交换 例3.5 已知x,y,z三个数,使得x>y>z 用一个IF语句和一个嵌套的IF语句实现 If x:与<变量或表达式>的类型必须相同,可以是下面 四种形式之一: 1)表达式 例: "A" 2)一组枚举表达式(用逗号分隔) 2,4,6,8 3)表达式1 To 表达式2 60 To 100 4) Is 关系运算符表达式 Is < 60 5. Select Case语句(情况语句) 形式: Select Case 变量或表达式 Case 表达式列表1 语句块1 Case 表达式列表2 语句块2 … [Case Else 语句块n+1] End Select 变量:只能含有一个 表达式:数值型或字符串 19 例3.6 变量strC中存放了一个字符,判断该字符类型。 在例4.2中用多分支结构实现: If Ucase(strC) >="A" And Ucase (strC) <="Z" Then Print strC + "是字母字符" ElseIf strC >="0" And strC <="9" Then Print strC + "是数字字符" Else Print strC + "其他字符" End If 用Select Case语句实现: Select Case strC Case "a" To "z","A" To "Z" Print strC + "是字母字符" Case "0" To "9" Print strC + "是数字字符" Case Else Print strC + "其他字符" End Select 20 例3.7 已知坐标点(x,y),判断其落在哪个象限。 哪个能实现,哪个不能实现? 方法一 If x > 0 And y >0 Then Print "在第一象限" ElseIfx < 0 And y > 0 Then Print "在第二象限" ElseIfx < 0 And y < 0 Then Print "在第三象限" ElseIfx > 0 And y <0 Then Print "在第四象限" End If 方法二 Select Case x,y Case x > 0 And y > 0 Print "在第一象限" Case x < 0 And y > 0 Print "在第二象限" Case x < 0 And y < 0 Print "在第三象限" Case x > 0 And y <0 Print "在第四象限" End Select 方法二代码错误: 1. Select Case 后不能出现多个变量; 2. Case后不能出现变量及有关运算符。 比较:Select Case结构清 晰,但使用受到限制, 因此,凡是对多个变量 的条件判断只能用If的多 分支结构来实现。 21 例3.8由计算机来当一年级的算术老师,要求给出一系列的1~10的 操作数和运算符,学生输入该题的答案,计算机根据学生的答案判 断正确与否,当结束时给出成绩。 分析:产生1~10操作数,可通过Int(10 * Rnd + 1) 实现 设置的控件名 Label1 Text1 Picture1 Command1 22 6.条件函数 (1)IIf函数形式是: IIf(表达式,当表达式为True时的值,当表达式为False时的值) 例如,求x,y中大的数,放入Tmax变量中,语句如下: Tmax=IIf(x > y,x,y) (2)Choose函数形式是: Choose(数字类型变量,值为1的返回值,值为2的返回值……) 例如,Nop是1-4的值,转换成+ 、-、×、÷运算符的语句如下: Op=Choose(Nop,"+","-","×","÷") 当值为1,返回字符串“+”,然后放入Op变量中,值为2,返回字符 串“-”,依次类推;当Nop是1-4的非整数,系统自动取Nop的整数办 法在判断;若Nop不在1-4之间,函数返回Null值。 (3) Switch函数形式是: Switch(条件表达式1,条件表达式1为True时的值 [,条件表达式2,条件表达式2为True时的值……]) 23 本节常见错误 1.在选择结构中缺少配对的结束语句 对多行式的If块语句中,应有配对的 End If语句结束。 2. 多边选择ElseIf关键字的书写和条件表达式的表示 ElseIf不要写成Else If; 多个条件表达式次序问题,见例3.3 3. Select Case语句的使用 Select Case 后不能出现多个变量;Case子句后不 能出现变量见例3.6 24 1. For循环语句 (一般用于循环次数已知) 形式 For 循环变量=初值 to 终值 [Step 步长] 语句块 [Exit For] 语句块 Next 循环变量 循环变量< =终值 语句块 Exit For 语句块 循环变量加步长 T F 循环变量得初值 循环体 例4.8 计算1~100的奇数和,程序段如下: Dim i %, s% 等价于: Dim i %, s% s=0 s=0 : i = 1 For i = 1 To 100 step 2 re: If i <= 100 Then s = s + i s = s + i Next i i = i +2 GoTo re End If 3.5.4 循环结构 25 >0 初值<终值 =1 时,可省略 <0 初值>终值 =0 死循环 循环次数 )1( += - 步长 初值终值Int 要注意: v 出了循环,循环控制变量值的问题。 例程序段: For i=2 To 13 Step 3 循环执行次数 Print i , 输出 i的值分别为: Next i 2 5 8 11 Print : Print “I=“, i 出了循环输出为: I=14 v 在循环体内对循环控制变量可多次引用;但最好不要对其 赋值,否则影响原来的循环控制规律。 4)1( 3 213 =+= -Int 步长 26 例3.9 改变循环控制变量对循环的影响。 Private Sub Command1_Click() j = 0 For i = 1 To 20 Step 2 i = i + 3 j = j + 1 Print "第"; j; "次循环i="; i Next i Print "退出循环后i="; i End Sub 正常情况:i=1,3,5,7,9,11,13,15,17,19 现在:i=4,9,14,19 例3.10 输出可打印的ASCII码字符与它的编码值。 27 形式1: Do { While|Until }<条件> 语句块 [Exit Do 语句块] Loop 形式2: Do 语句块 [Exit Do 语句块] Loop { While|Until} <条件> T F Exit Do 语句块 语句块 表达式列表 1 图 1-3-16 Do ⋯Loop While 表达式列表 1 F T Exit Do 语句块 语句块 图 1-3-15 Do While⋯Loop 2. Do…Loop循环语句(用于控制循环次数未知) 28 例3.11 我国有13亿人口,按人口年增长0.8%计算,多少年 后我国人口超过26亿。 分析:解此问题两种方法,可根据公式:26=13*(1+0.008)n 直接利用标准对数函数求得;也可利用循环求得,程序如下: Private Sub Command1_Click() x = 13 n = 0 Do While x < 26 x = x * 1.008 n = n + 1 Loop Print n, x End Sub 29 例3.12用辗转相除法求两自然数m,n的最大公约数和最小公倍数。 分析:求最大公约数的算法思想: (1)对于已知两数m,n,使得m>n; (2) m除以n得余数r; (3)若r=0,则n为最大公约数结束;否则执行(4); (4)mçn,nçr,再重复执行(2)。 例求 m=14 ,n=6的最大公约数. If m < n Then t = m: m = n: n = t r=m mod n Do While (r <> 0) m=n n=r r= m mod n Loop Print "最大公约数=", n m n r 14 6 2 6 2 0 辗转相减法 § m=m-n m>n § n=n-m n>m § m、n为公约数 m=n Do While m <> n m n If m > n Then 14 6 m = m – n 8 6 Else 2 6 n = n – m 2 4 End If 2 2 Loop 30 3、While …Wend循环: (类似于Do While…Loop) 格式为:While <表达式> <语句序列> Wend 执行过程:先计算表达式的值,如果表达式的值为True,则执 行循环体,遇到Wend语句后,返回到While语句并再对条件进 行测试,如为True,则继续执行循环体,如为False,则退出 循环体。 举例: 31 4.循环的嵌套 一个循环体内又包含了一个完整的循环结构称为循环的嵌套. 例4.13打印九九乘法表. For i = 1 To 9 For j = 1 To 9 se = i & “×" & j & "=" & i * j Picture1.Print Tab((j - 1) * 9 + 1); se; Next j Picture1.Print Next i 思考:打印上三角或下三角程序如何改动? 上三角 For j=i To 9 下三角 For j=1 To i 32 For ii =1 To 10 For jj=1 To 20 … Next ii Next jj For ii =1 To 10 For ii=1 To 20 … Next ii Next ii For ii =1 To 10 For jj=1 To 20 … Next jj Next ii For ii =1 To 10 … Next ii For ii =1 To 10 … Next ii 对于循环的嵌套,要注意以下事项: §内循环变量与外循环变量不能同名; §外循环必须完全包含内循环,不能交叉; §不能从循环体外转向循环体内,反之则可以。 正确 错误 33 本节常见错误 1. 不循环或死循环的问题 主要是循环条件、循环初值、循环终值、循环步长的设置有问题。 2. 循环结构中缺少配对的结束语句 For 少配对的Next 3. 循环嵌套时,内外循环交叉 4. 累加、连乘时,存放累加、连乘结果的变量赋初值问题 (1)一重循环 在一重循环中,存放累加、连乘结果的变量初值设置应在循环语 句前。 (2)多重循环:这要视具体问题分别对待。如:1!+2!+3!+…+n! 5.大数相乘产生“溢出”问题 34 3.5.5 其他辅助控制语句 1. GoTo语句 形式: GoTo {标号|行号} 作用:无条件地转移到标号或行号指定的那行语句. 标号是一个字符序列,行号是一个数字序列. 2.开关语句: On-GoTo语句 3.Exit语句 多种形式: Exit For、Exit Do、Exit Sub、Exit Function等。 作用:退出某种控制结构的执行。 4. End语句 多种形式: End、 End If、 End Select、 End With、 End Type、 End Sub、 End Function等。 作用:End结束一个程序的运行;其余表示某个结构的结束,与 对应的结构语句配对出现。 35 6.With 语句 形式如下: With 对象 语句块 End With 作用:对某个对象执行一系列的操作,而不用重复指出对象 的名称。 Label1.Height = 2000 Label1.Width = 2000 Label1.FontSize=22 Label1.Caption = "MyLabel" 等价 With Label1 .Height = 2000 .Width = 2000 .FontSize=22 .Caption = "MyLabel" End With 36
本文档为【Vb课件(2010)-3】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_226210
暂无简介~
格式:pdf
大小:1MB
软件:PDF阅读器
页数:0
分类:工学
上传时间:2010-09-28
浏览量:8