Visual Basic程序设计实用教程 教学课件 ppt 作者 匡松 缪春池 VB第6章

上传人:E**** 文档编号:89400343 上传时间:2019-05-24 格式:PPT 页数:43 大小:259.50KB
返回 下载 相关 举报
Visual Basic程序设计实用教程 教学课件 ppt 作者  匡松 缪春池 VB第6章_第1页
第1页 / 共43页
Visual Basic程序设计实用教程 教学课件 ppt 作者  匡松 缪春池 VB第6章_第2页
第2页 / 共43页
Visual Basic程序设计实用教程 教学课件 ppt 作者  匡松 缪春池 VB第6章_第3页
第3页 / 共43页
Visual Basic程序设计实用教程 教学课件 ppt 作者  匡松 缪春池 VB第6章_第4页
第4页 / 共43页
Visual Basic程序设计实用教程 教学课件 ppt 作者  匡松 缪春池 VB第6章_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《Visual Basic程序设计实用教程 教学课件 ppt 作者 匡松 缪春池 VB第6章》由会员分享,可在线阅读,更多相关《Visual Basic程序设计实用教程 教学课件 ppt 作者 匡松 缪春池 VB第6章(43页珍藏版)》请在金锄头文库上搜索。

1、1,第6章 程序控制结构,6.1 程序控制结构类型 6.2 选择结构程序设计 6.3 循环结构程序设计 6.4 循环控制结构的嵌套,2,6.1 程序控制结构类型,在结构化程序设计中,基本控制结构包括顺序结构、选择结构和循环结构。 选择结构能根据指定条件的当前值在两条或多条程序路径中选择一条执行 VB中选择结构语句包含If和Select Case两种。,3,6.1.1 顺序结构,顺序结构是最普遍使用的一种基本控制结构,这种控制结构按照语句的先后排列顺序逐条执行。先执行程序段A,接着执行下面相邻的程序段B。程序段由一条或多条语句组成。顺序结构可以看成是系统默认的控制结构,不需要专门的语句来控制。,

2、4,6.1.2 选择结构,顾名思义,程序进入选择结构后,就面临走哪一条路和执行哪一条分支的选择。选择是通过对某一个条件进行判断后做出的,条件往往是由关系表达式来描述。选择结构先进行条件判断,如果条件成立,执行程序段A,执行完后转向出口;如果条件不成立,则执行程序段B,执行完后转向出口。A、B两个程序段是处于平行的地位,不可能同时被执行,只可能执行其中的一个程序段,然后就退出选择结构,转向共同的出口。,5,6.1.3 循环结构,由于功能的要求,在程序设计中,有时需要重复不断地执行某一个程序段,因此引入循环控制结构。程序先要进行循环条件的判断,当循环条件成立时,进入循环体(需要重复执行的程序段);

3、执行完一遍循环体后,再次进行循环条件的判断;不断重复“判断执行再判断”的过程,直到某一次循环条件判断为不成立时,就退出循环结构,执行循环语句后面的语句。Visual Basic的循环控制语句有3个,分别是While型循环语句、Do型循环语句、For型循环语句,各种循环语句在具体格式和使用特点上有所不同。,6,程序控制结构类型,顺序,选择(分支),A,B,A,B,p,真,假,p,A,真,循环(重复),p,A,真,假,假,A,B,p,G,已经证明,由以上三种基本结构顺序组成的程序结构,可以解决任何复杂的问题。,多分支选择结构,7,if条件语句 Select case语句 条件函数,6.2 选择结构

4、程序设计,8,6.2.1 if条件语句,1、单行结构条件语句 格式: IfThen Else 功能: 如果条件为True,执行语句序列1,否则执行语句序列2。 注意: “条件”为关系表达式或逻辑表达式,Else可省略 例如: IF X10 then a=a+1:b=b+a:c=c+b,9,6.2.1 if条件语句,2、块结构条件语句 格式: If 条件 then 程序段1 else 程序段2 end if 例如: IF X10 then a=a+1:b=b+a:c=c+b IF x mod 2=0 THEN print “偶数”,功能: 如果条件为True,执行程序段1,否则执行程序段2。,等

5、价于: 注意缩进方式 IF X0 THEN Y=-X ELSE Y=X END IF,10,6.2.1 if条件语句,3、多分支if语句 格式: if 条件1 then 语句块1 Elseif 条件2 then 语句块2 Elseif 条件3 then 语句块3 Else 语句块n End if,功能: 如果条件1为True,执行程序段1,否则判断条件2,若为真执行程序段2,.当Elseif 后的所有条件均不满足时,则执行语句块n,11,6.2.1 if条件语句,【典型应用1】铁路托运行李,规定每张客票的托运费的计算方式是:行李重量不超过50千克,每千克0.25元;超过50千克但不超过100千

6、克,其超过部分每千克0.35元;超过100千克,其超过部分每千克0.45元,编写程序,输入行李重量,计算托运的费用 【分析】设行李重量为w千克,应付费用为x元,则计算公式为,0.25w w100,X=,12,6.2.1 if条件语句,【程序设计】 1 x和w的类型 2 程序界面 程序运行时; 上面的文本框用于输入 下面的文本框用于输出 按钮的Click事件中写代码,13,6.2.1 if条件语句,【程序代码】 Private Sub Command1_Click() Dim w As Single, x As Single w = Val(Text1.Text) If w = 50 Then

7、x = 0.25 * w ElseIf w = 100 Then x = 0.25 * 50 + 0.35 * (w - 50) Else x = 0.25 * 50 + 0.35 * 50 + 0.45 * (w - 100) End If Text2.Text = x End Sub,14,6.2.1 if条件语句,4、if语句的嵌套 格式: If 表达式 then 语句块(可嵌套if) else 语句块(可嵌套if) end if 例如:分段函数的求解,Private Sub Form_Click() Dim x As Single, y As Single x = Val(Text1.

8、Text) If x 0 Then y = 1 Else If x 0 Then y = -1 Else y = 0 end if End if Label3.Caption = Str(y) End Sub,15,6.2.2条件函数,IIf函数可用来执行简单的条件判断操作,它和“IfThenElse”语句有类似的功能。格式为: iff (表达式 ,真值部分,假值部分) 其中“条件”是一个逻辑表达式。当“条件”为真时,IIf函数返回“True部分”,若“条件”为假,则返回“False部分”。这里“True部分”和“False部分”可以是表达式、变量或其他函数。 例如:Y=IIF(X0,1,0)

9、,16,6.2.3 Select Case语句,4、if语句的嵌套 格式: Select case 测试表达式 Case 表达式值列表 语句块 Case else 语句块 End select,例如: Private Sub Command1_Click() n = Val(Text1.Text) Select Case n Case 1 Print “A“ Case 2 To 5 Print “B“ Case Is 6 Print “C“ Case Else Print “D“ End Select End Sub,17,Private Sub Form_Click() Dim num1 A

10、s Single, num2 As Single num1 = InputBox(“请输入购物总金额“) Select Case num1 Case Is = 1000 num2 = num1 * 0.8 Case Is = 500 num2 = num1 * 0.9 Case Is = 300 num2 = num1 * 0.95 Case Else num2 = num1 End Select Print “优惠价格为:“, num2 End Sub,【例题】超市促销,购物达300元以上,95折优惠;500元以上, 9折优惠; 1000元以上, 8折优惠。 编写程序输入购物款,输出优惠价格

11、。,18,6.3 循环结构程序设计,程序设计中,循环是指从某处开始有规律地重复执行某一程序段的现象。被重复执行的程序段称为循环体。 VB提供了三种不同风格的循环结构: 计数循环(ForNext) 当循环(WhileWend) Do循环,19,6.3.1 For循环,For循环也称ForNext循环,属于计数型循环,在程序中实现固定次数的循环。其格式为: For 循环变量=初值 To 终值 Step步长 Next 循环变量 理解For循环执行的过程,20,6.3.1 For循环,【经典程序】求解1+2+100=? 分析:问题模拟:有一个空瓶子,第1次仍1颗石头,第2次仍2颗石头,。第100次仍1

12、00颗石头,共有多少石头 程序技巧:【累加器】技术,用一个变量S表示累加器 S:初始值为0 用变量i表示循环次数和每次累计的数 算法:S=S+i (1=i=100),21,6.3.1 For循环,【程序设计】求解1+2+100=? 在窗体的Click事件中编写代码 Private Sub Form_Click() Dim i As Integer, s As Integer s = 0 For i = 1 To 100 s = s + i Next Print “1到100的和是 “ & s End Sub,i的值最后是多少,22,6.3.1 For循环,【模拟代码运行的过程】求解1+2+10

13、0=? s = 0 For i = 1 To 100 s = s + i Next 学习方法: 理解循环比较有效的方法是 :模拟代码的运行。,代码模拟:,23,6.3.1 For循环,【求解方法2】求解1+2+100=? s = 0 For i = 100 To 1 STEP -1 s = s + i Next,学习方法:可以从不同的角度理解程序设计,24,【问题扩展1】求解12+3+n 注意:在程序设计时, n必须有明确的值 可以赋值,例如:N=100;可以从键盘输入 例如N =Val(Text1.text) 运行【1到n的和】例子 如果 n输入为1000:出现【溢出】问题,如何解决 【问题

14、扩展2】求解13+5+100 修改STEP为?,6.3.1 For循环,25,【问题扩展3】求解12310 技术:【累积器】 算法:T=T*i (1=i=100) T初值等于?类型为? 【问题扩展4】求解1!2!3!.n! 技术: 【累积器】和【累加器】综合应用 初值:T=1: S=0 算法:?,6.3.1 For循环,26,6.3.2 While循环,While循环不是确定循环次数的循环结构,是根据给定“条件”的成立与否决定程序的流程。其格式为: While Wend 功能:如果“条件表达式”的值为True时,则执行循环中的“语句序列”,即循环体。 长整型 单精度浮点型 single,27,

15、6.3.2 While循环,【经典程序】用WHILE求解1+2+100=?,Private Sub Form_Click() Dim s As Integer, i As Integer i = 1 s = 0 While i = 100 s = s + i i = i + 1 Wend Print s End Sub,去掉此句,会如何,28,6.3.3 Do循环,Do循环的格式有两种,分别是: 格式1:Do Exit Do Loop While | Until 格式2:Do While | Until Exit Do Loop,29,6.3.3 Do循环,【经典程序】输入一个正整数,判断该数

16、是否是一个素数 【分析】素数的定义 判断n是否是素数的方法是:若n不能被2n中的所有整数整除,则n是素数 【技术】用循环,一旦n能够被2n中的一个数整除,则判断n不是素数,则可以退出循环 使用【标志位】技术: 设置flag=0 表示 n 是一个素数 flag=1 表示 n不是素数,30,6.3.3 Do循环,【程序设计】 变量i表示2n中的一个数 N: 表示要判断的数 Flag:标志位 N 能够被 i整除的表示:N MOD i =0,31,6.3.3 Do循环,Private Sub Form_Click() n = Val(Text1.Text) i = 2 Do While i = n If n Mod i = 0 Then Exit Do i = i + 1 Lo

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

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

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