VB课件杨潇第四章

上传人:E**** 文档编号:91250546 上传时间:2019-06-26 格式:PPT 页数:54 大小:379KB
返回 下载 相关 举报
VB课件杨潇第四章_第1页
第1页 / 共54页
VB课件杨潇第四章_第2页
第2页 / 共54页
VB课件杨潇第四章_第3页
第3页 / 共54页
VB课件杨潇第四章_第4页
第4页 / 共54页
VB课件杨潇第四章_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《VB课件杨潇第四章》由会员分享,可在线阅读,更多相关《VB课件杨潇第四章(54页珍藏版)》请在金锄头文库上搜索。

1、1,第四章 基本的控制结构,4.1 顺序结构 4.2 选择结构 4.3 循环结构 4.4 其他辅助控制语句 4.5 常用算法(一) 4.6 常见错误 (顺序、条件、循环),2,一. 赋值语句 形式: 变量名表达式 作用: 先计算右边表达式的值,然后将表达式的值赋值 给变量名. 一般用于给变量赋值或对控件设定属性值. 例: sRate!=0.1 Text1.Text “欢迎使用Visual Basic 6.0” 注意: 在赋值时,表达式与变量类型不同时的处理,4.1 顺序结构,3,(1)当表达式为数值型而与变量精度不同时,强制转换成左边变量精度。 Eg:n3.5 n为整型变量 结果为4(四舍五入

2、) (2)当表达式位数子字符串,左边变量是数值类型,自动转换成数值类型在赋值,但有非数字字符时则出错。 Eg:n”123” n中结果为123 n%=“” “类型不匹配” (3)逻辑型赋值给数值型时,true转换成1,false转换成0。反之亦然。 (4)任何非字符类型赋值给字符类型,自动转换成字符类型。,4,特别注意以下四点: (1)赋值号与关系运算符等于号都用“”表示。 (2)赋值号左边只能是变量,不能是常量,常数符号或表达式。 Eg: sin(x)=x+y 此写法错误。 (3)不能在一个赋值语句中对多个变量同时赋值。 Eg:xyz1 此写法错误。 (4)以下赋值写法正确 sumsumx 常

3、在循环语句中使用。,5,二. 与用户交互函数和过程 1. InputBox函数 InputBox(提示,标题,默认,x 坐标位置,y坐标位置) 其中:提示 提示信息,标题 对话框标题,默认输入区缺省值 函数返回字符类型. 例要在屏幕上显示如左的对话框:,Dim strName As String * 40, strS1 As String * 40 相应的语句如下: strName= InputBox( “请输入你的姓名” + vbCrLf + “然后单击确定” , “输入框” ) 也可以: strS1 = “请输入你的姓名” + Chr(13) + Chr(10) + “然后单击确定” st

4、rName= InputBox(strS1, “输入框”, , 100,100) 当键盘输入“王晓明” 后,变量strName获得键盘输入的值.,6,2. MsgBox函数和MsgBox过程 函数形式:变量% = MsgBox(提示,按钮,标题) 过程形式: MsgBox 提示,按钮,标题 按钮值如下: (按钮值为整型表达式) 函数返回所选按钮整数值:,7,例3.2 编一帐号和密码检验程序。 要求: 帐号不超过6位数字,有错,清除原内容再输入. 密码输入时在屏幕上以 “*”代替; 若密码错,显示有关信息,选择“重试”按钮,清除原内容再输入,选择“取消”按钮,停止运行。 分析: 帐号6位,Max

5、Length为6 , LostFocus判断数字IsNumeric函数 密码PassWordChar为“*”,MsgBox函数设置密码错对话框.,8,二、选择结构 1. IfThen语句(单分支结构)两种形式 If Then 语句块 End If 或 If Then 其中: 表达式:一般为关系表达式、逻辑表达式、也可是算式表达式。 非0为true,0为false。 语句块:可以是一条语句也可以是多条语句。若是后一种形式 则必须用单条语句。或语句间用冒号分隔,且必须在一行上。,9,例:已知两个数x和y,比较它们的大小, 使得x大于y. If xy Then t=x x=y y=t End If

6、或 If xy Then t=x: x=y: y=t,注意:重要的是学会两个数的交换,若 上述语句次序变一下,结果如何?怎样 交换,如左图所示,10,2. IfThenElse语句(双分支结构) If Then Else End If If Then Else 计算分段函数,单分支结构实现: y=cos(x)x3+3*x If x0 Then y=sin(x)+sqrt(x*x+1) 双分支结构实现: If x0 Then y=sin(x)+sqrt(x*x+1) Else y=cos(x)x3+3*x End If,注意:次序不可交换,11,3. IfThenElseIf语句(多分支结构)

7、形式: If Then ElseIf Then Else 语句块 n+1 End If 其流程图如下页所示:,next,注意: 不管有几个分支, 依次判断,当某条件满 足,执行相应的语句块, 其余分支不再执行;若 条件都不满足,且有Else 子句,则执行该语句块,否 则什么也不执行。. ElseIf不能写成 Else If。,12,注意: (1)不管有几个分支,执行完一个分支后,其它不再执行 (2)elseIf不能写成else if (3)当多分支同时满足时,执行第一个与之匹配的语句块。 一次须注意多分支中表达式的书写次序。,13,例 已知百分制成绩mark,显示对应的五级制成绩 哪些正确,哪

8、些错误?,返回,14,4If语句的嵌套 If语句的嵌套是指If或Else后面的语句块中又 包含If语句。 形式如下: If Then If Then End If End If,注意:If语句若不在一行上书写,必须与End配对。 多个If嵌套,End If与它最接近的If配对,15,例:已知x,y,z三个数,使得xyz。 用一个IF语句和一个嵌套的IF语句实现: If xy Then t=x: x=y: y=t If yz Then t=y: y=z: z=t If xy Then t=x: x=y: y=t End If End If If语句的嵌套注意事项:书写锯齿型; If 与End I

9、f配对。,16,5. Select Case语句(情况语句) 形式: Select Case 变量或表达式 Case 表达式列表1 语句块1 Case 表达式列表2 语句块2 Case Else 语句块n+1 End Select,数值型或字符串表达式,其中:“变量或表达式”:是数值型或字符串型表达式 “表达式列表i”:与变量或表达式类型相同,可以是一下四种形势: (1)表达式 (2)一组用逗号分割的枚举值(如:2、4、6、8) (3)表达式1 To 表达式2(包含表达式1和表达式2的值) (4)Is关系运算表达式(Is100) Case 2,4,6,8,is10 表示测试表达式的值为2,4,

10、6,8或大于10 Case 1 to 10,17,例如:已知变量strC中存放了一个字符,判断该字符是字母字符、数字字符还是其他字符。 用多分支结构实现: If Ucase(strC) =“ A“ And Ucase (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

11、strC + “是数字字符“ Case Else Print strC + “其他字符“ End Select,Next,18,例实验3.6对三门课程奖学金的判断,一等奖获得: Select Case mark1,mark2,mark3 Case (mark1 + mark2 + mark3) / 3 = 95 Print “一等奖“ Case mark1 = 100 And mark2 = 100 And mark2 = 80 End Select 错误,注意:Select Case 后不能出现多个变量;Case后不能出现变量及有关运算符。,19,例 输入百分制成绩mark,显示对应的五级制

12、成绩,哪些能实现,哪些不能实现?,返回,20,6.条件函数 (1)IIf函数形式是可以代替if()函数: IIf(表达式,当表达式为True时的值,当表达式为False时的值) 例如,求x,y中大的数,放入Tmax变量中,语句如下: Tmax=IIf(x y,x,y) (2)Choose函数形式是可以代替select case语句: Choose(数字类型变量,值为1的返回值,值为2的返回值) 例如,Nop是1-4的值,转换成 + 、-、运算符的语句如下: Op= Choose(Nop,“+“,“-“,“,“) 当值为1,返回字符串“+”,然后放入Op变量中,值为2,返回字符 串“-”,依次类

13、推;当Nop是1-4的非整数,系统自动取Nop的整数办法在判断;若Nop不在1-4之间,函数返回Null值。,21,常见错误 1在选择结构中缺少配对的结束语句 对多行式的If块语句中,应有配对的 End If语句结束。 2. 多边选择ElseIf关键字的书写和条件表达式的表示 ElseIf 不要写成Else If; 多个条件表达式次序问题, 3. Select Case语句的使用 Select Case 后不能出现多个变量;Case子句后不能出现变量,返回,22,三、 循环结构 1. For循环语句 (一般用于循环次数已知) 形式 For 循环变量初值 to 终值 Step 步长 语句块 Ex

14、it For 语句块 Next 循环变量 步长,循环体,0 初值终值 =0 死循环,循环次数,例: For I=2 To 13 Step 3 循环执行次数 Print I , 输出I的值分别为: Next I 2 5 8 11 Print : Print “I=“, I 出了循环输出为: I=14,T,23,2. DoLoop循环语句(用于控制循环次数未知) 形式1: Do While|Until 语句块 Exit Do 语句块 Loop,形式2: Do 语句块 Exit Do 语句块 Loop While|Until ,24,例4.12用辗转相除法求两自然数m,n的最大公约数和最小公倍数。

15、分析:求最大公约数的算法思想: (1)对于已知两数m,n,使得mn; (2) m除以n得余数r; (3)若r=0,则n为最大公约数结束;否则执行(4); (4)mn,nr,再重复执行(2)。 例 求 m=14 ,n=6 的最大公约数. If m 0) m=n n=r r= m mod n Loop Print “最大公约数=“, n,m n r 14 6 2 6 2 0,m=m-n mn n=n-m nm m、n为公约数 m=n,辗转相减法,Do While m n If m n Then m = m - n Else n = n - m End If Loop,m n 14 6 8 6 2 6 2 4 2 2,25,3.循环的嵌套 一个循环体内又包含了一个完整的循环结构称为循环的嵌套. 例4.13打印九九乘法表. For i = 1 To 9 For j = 1 To 9 For j = 1 To i se = i Next j Picture1.Print Next i,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号