vb蒋加伏第四版第5章

上传人:san****019 文档编号:70011771 上传时间:2019-01-15 格式:PPT 页数:51 大小:341.01KB
返回 下载 相关 举报
vb蒋加伏第四版第5章_第1页
第1页 / 共51页
vb蒋加伏第四版第5章_第2页
第2页 / 共51页
vb蒋加伏第四版第5章_第3页
第3页 / 共51页
vb蒋加伏第四版第5章_第4页
第4页 / 共51页
vb蒋加伏第四版第5章_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《vb蒋加伏第四版第5章》由会员分享,可在线阅读,更多相关《vb蒋加伏第四版第5章(51页珍藏版)》请在金锄头文库上搜索。

1、第5章 Visual Basic控制结构,5.1 算法及其描述 5.2 选择结构 5.3 循环结构 5.4 常用算法,5.1 算法及其描述,1.算法的概念 是解决问题的有序步骤。 2.算法的特征 (1) 有穷性。 (2) 确定性。 (3) 有效性。 (4) 零个或多个输入。 (5) 至少有一个输出。,3.算法的描述 (1)自然语言 文字冗长、表达不确切、二义性。 (2)流程图 图形方法,直观、形象、易于理解,应用广泛。 (3)N-S图 是流程图的发展,去掉了流程线,算法都表示在一个矩形框内。,3.三种基本控制结构 (1)顺序结构 在顺序结构中,算法的每一步操作都是按从上到下的线性次序执行的。

2、(2)选择结构 又称分支结构,根据给出的条件,选择执行一个分支。因此,在选择结构中,必然包含了条件判断。 (3)循环结构 又称重复执行结构。根据给出的条件,判断是否重复执行某一组操作。,基本的循环结构有两种:当循环和直到循环。 当循环:首先判断条件是否成立,若成立,执行循环体再判断条件,决定是否继续进行循环;若不成立,跳过这组操作,执行此循环结构后面的操作。 直到循环:首先执行循环体,然后判断条件是否成立,若成立,则继续进行循环操作;若不成立,执行此循环结构后面的操作。 在程序设计中,算法是由一系列的控制结构构成,每一个控制结构又由若干个语句组成。语句是程序中有确切含义的基本单位,也是构成程序

3、的基本成分,程序功能是由一条条语句的执行来实现的,可把语句视为命令。,5.2 选 择 结 构 1. IfThen语句(单分支结构) If Then 语句块 End If(注意多行if语句要有End If) 或 If Then ,重要的是学会两个数的交换,若上述语句次序变一下,结果如何?,例:已知两个数x和y,比较它们的大小,使得x大于y. If xy Then t=x x=y y=t End If 或 If xy Then t=x: x=y: y=t,2. IfThenElse语句(双分支结构) If Then Else End If If Then Else 计算分段函数:,双分支结构实现:

4、 If x0 Then y=sin(x)+sqr (x*x+1) Else y=cos(x)x3+3*x End If,单分支结构实现: y=cos(x)x3+3*x If x0 Then y=sin(x)+sqr (x*x+1),3. IfThenElseIf语句(多分支结构) 形式: If Then ElseIf Then Else 语句块 n+1 End If,例5.1(补) 已知变量strC中存放了一个字符,判断该字符是字母字符、数字字符还是其它字符。 用多分支结构实现: If Ucase(strC) =“A“ And Ucase (strC) =“0“ And strC =“9“ T

5、hen Print strC + “是数字字符“ Else Print strC + “是其它字符“ End If,不管有几个分支,依次判断,当某条件满足,执行相应的语句,其余分支不再执行;若条件都不满足,且有Else子句,则执行该语句块,否则什么也不执行。. ElseIf不能写成 Else If。,例5.2(补) 已知百分制成绩mark,显示对应的五级制成绩。哪些正确,哪些错误?,4If语句的嵌套 If语句的嵌套是指If或Else后面的语句块中又包含If语句。 形式如下: If Then If Then End If End If,例5.3(补) 已知x,y,z三个数,使得xyz,用一个IF

6、语句和一个嵌套的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 If配对。,:与同类型的下面四种形式之一: 表达式 例: “A“ 一组枚举表达式(用逗号分隔) 2,4,6,8 表达式1 To 表达式2 60 To 100 Is 关系运算符表达式 Is 60,5. Select Case语句(情况语句) 形式: Select Case 变量或表达式 Case 表达式列表1 语句块1 Case 表达式列

7、表2 语句块2 Case Else 语句块n+1 End Select,数值型或字符串表达式,例5.4(补) 变量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

8、“ Print strC + “是数字字符“ Case Else Print strC + “是其它字符“ End Select,例5.5(补) 已知坐标点(x,y),判断其落在哪个象限。,哪个能实现,哪个不能实现?,方法一 If x 0 And y 0 Then Print “在第一象限“ ElseIf x 0 Then Print “在第二象限“ ElseIf x 0 And y 0 Then Print “在第四象限“ End If,方法二 Select Case x,y Case x 0 And y 0 Print “在第一象限“ Case x 0 Print “在第二象限“ Case

9、 x 0 And y 0 Print “在第四象限“ End Select,方法二代码错误: 1. Select Case 后不能出现多个变量; 2. Case后不能出现变量及有关运算符。,例5.6 商店售货,按购买货物的多少分别给予不同优惠折扣如下:编程计算购物款数。购物不足250元,无折扣,购物满250元、不足500元,减价5%,计算机根据学生的答案判断正确与否,当结束时给出成绩。购物满500元、不足1000元,减价7.5%,购物满1000元、不足2000元,减价10%,购物满2000元,减价15%。 分析:设购物款为m,折扣为d,以上规定可表示如下:,d=,0 (m250) 5% (25

10、0m500) 7.5% (500m1000) 10% (1000m2000) 15% (2000m) 代码如下:,Private Sub Command1_Click() Dim s As Single, d As Single m = Val(InputBox(“请输入应付款:“) Select Case m Case Is 250 d = 0 Case Is 500 d = 0.05 Case Is 1000 d = 0.075 Case Is 2000 d = 0.1 Case Else d = 0.15 End Select Text1.Text = Str(m) Text2.Text

11、 = Str(d) Text3.Text = Str(m * (1 - d) End Sub,Private Sub Command2_Click() End End Sub 运行结果如下:,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,“+“,“-“,

12、“,“) 当值为1,返回字符串“+”,然后放入Op变量中,值为2,返回字符串“-”,依次类推;当Nop是1-4的非整数,系统自动取Nop的整数再判断;若Nop不在14之间,函数返回Null值。 (3) Switch函数形式是: Switch(条件表达式1,条件表达式1为True时的值 ,条件表达式2,条件表达式2为True时的值),常 见 错 误 1在选择结构中缺少配对的结束语句 对多行式的If块语句中,应有配对的 End If语句结束。 2. 多边选择ElseIf关键字的书写和条件表达式的表示 ElseIf 不要写成Else If。 3. Select Case语句的使用 Select Ca

13、se 后不能出现多个变量;Case子句后不能出现变量,见例5.5。,5.3 循 环 结 构 1. For循环语句 (一般用于循环次数已知) 形式 For 循环变量初值 to 终值 Step 步长 语句块 Exit For 语句块 Next 循环变量,循环变量, =,终值,语句块,Exit For,语句块,循环变量加步长,T,F,循环变量得初值,循环体,例5.7(补) 计算1100的奇数和,程序段如下: 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 +

14、i s = s + i Next i i = i +2 GoTo re End If,0 初值终值 =0 死循环,循环次数,要注意: 出了循环,循环控制变量值的问题。 例程序段: For i=2 To 13 Step 3 循环执行次数 Print i , 输出 i的值分别为: Next i 2 5 8 11 Print : Print “I=“, i 出了循环输出为: I=14 在循环体内对循环控制变量可多次引用;但最好不要对其赋值,否则影响原来的循环控制规律。,步长,例5.8(补)改变循环控制变量对循环的影响 Private Sub Command1_Click() j = 0 For i

15、= 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,例5.9 输入一个班的学习成绩,统计其中及格的学生人数,并计算出全班的平均分数。学生人数不定,输入负数时截止。设全班人数不超过50人。,Private Sub Command1_Click() Dim Score As Single, PassN As Integer, n As Integer Dim i As Integer, Sum As Single Text1 = “: Text2 = “: Text3 = “ Sum = 0: PassN = 0: n = 0 For i = 1 To 50 统计人数大于50时停止循环 Score = Val(InputBox(

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

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

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