《分支与循环》PPT课件.ppt

上传人:壹****1 文档编号:570248201 上传时间:2024-08-03 格式:PPT 页数:37 大小:1.10MB
返回 下载 相关 举报
《分支与循环》PPT课件.ppt_第1页
第1页 / 共37页
《分支与循环》PPT课件.ppt_第2页
第2页 / 共37页
《分支与循环》PPT课件.ppt_第3页
第3页 / 共37页
《分支与循环》PPT课件.ppt_第4页
第4页 / 共37页
《分支与循环》PPT课件.ppt_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《《分支与循环》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《分支与循环》PPT课件.ppt(37页珍藏版)》请在金锄头文库上搜索。

1、第五章第五章 分支与循环分支与循环高等医药院校药学类第三轮规划教材大学计算机基础第一节第一节 分支结构分支结构分支结构分支结构目目 录录第二节第二节 循环结构循环结构第三节第三节 程序示例程序示例沈沈阳阳药药科科大大学学计计算算中中心心沈沈阳阳药药科科大大学学计计算算中中心心大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学第第一一节节 分支结构分支结构 第一节第一节 分支结构分支结构 大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学5.1 分支结构分支结构1. IfThen语句语句(单分支结构单分支结构) If Then 语句块语句块

2、 End If 或或 If Then 大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学:经典案例经典案例经典案例经典案例1)判断按键(回车)判断按键(回车13,空格,空格32)Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Text2 = 2 * 3.14 * Text1 End IfEnd Sub2)检验正确性()检验正确性(IsNumeric())Private Sub Text1_LostFocus()If IsNumeric(Text1)

3、Then Text2 = 2 * 3.14 * Text1 End IfEnd Sub大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学单分支结构应用举例:已知两个数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.

4、 IfThenElse语句语句(双分支结构双分支结构) If Then Else End If 也可以写为一行,格式为:也可以写为一行,格式为:If Then Else 大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学单分支结构实现: y=cos(x)x3+3*x If x0 Then y=sin(x)+sqr (x*x+1) 双分支结构实现: If x0 Then y=sin(x)+sqr (x*x+1) Else y=cos(x)x3+3*x End If例如:计算分段函数思考:如果上面的两个语句换一下顺序即: If x0 Then

5、y=sin(x)+sqr (x*x+1) y=cos(x)x3+3*x 会是什么结果?大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学3If语句的嵌套语句的嵌套 If语句的嵌套是指语句的嵌套是指If或或Else后面的语句块中又包含后面的语句块中又包含If语句语句 形式如下:形式如下: If Then If Then End If ElseIf Then End If End If 大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学例例5-1 已知三角形三条边的长度,已知三角形三条边的长

6、度,设计求此三角形面积的程序。输设计求此三角形面积的程序。输出结果显示在文本框中,并且把出结果显示在文本框中,并且把结果再存入结果再存入D:盘文件名为:盘文件名为“sear.dat”。问题分析:设三角形的三条边问题分析:设三角形的三条边分别为分别为a、b、c,从数学上,从数学上已知,当已知,当a+bc、a+cb且且b+ca时,三角形存在,其时,三角形存在,其面积面积式中:式中:P = (a + b + c)2 开始边长0?组成三角形?计算面积输出结果出错信息 结束是是否否图5-6 流程图大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学4.

7、 IfThenElseIf语句语句(多分支结构多分支结构) 形式形式: If Then ElseIf Then Else 语句块语句块 n+1 End If例如:成绩小于60吗,否的话小于70吗,大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学例例5-3将考试成绩转换成等级。计算规则如下:将考试成绩转换成等级。计算规则如下: 分数分数 100-90 89-80 79-70 69-60 60 等级等级 A B C D E要求:从文本框要求:从文本框1中输入成绩分数,当输完数据按回车键时,等级结果自动中输入成绩分数,当输完数据按回车键时,等级

8、结果自动地出现在文本框地出现在文本框2中。中。考虑到题目的要求,有关转换的程序代码应放在考虑到题目的要求,有关转换的程序代码应放在Text1_KeyPress( )过程中过程中 大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学五级制成绩分档五级制成绩分档.vbp 根据已知的百分制成绩根据已知的百分制成绩mark,显显示对应的五级制成绩示对应的五级制成绩哪些正确,哪些错误?哪些正确,哪些错误?大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学:与同类型的下面四种形式之一: 表达式 例:

9、A 一组枚举表达式(用逗号分隔) 2,4,6,8 表达式1 To 表达式2 60 To 100 Is 关系运算符表达式 Is 0 And y 0 Then Print 在第一象限ElseIf x 0 Then Print 在第二象限ElseIf x 0 And y 0 And y 0 And y 0Print 在第一象限 Case x 0Print 在第二象限 Case x 0 And y 0 And y 0Print 在第四象限End Select方法二代码错误:1. Select Case 后不能出现多个变量,应写为后不能出现多个变量,应写为select case x2. Case后不能出

10、现变量及有关运算符,应写为后不能出现变量及有关运算符,应写为 is 0,而非而非x0大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学例例5-4 用用Select Case结构实现结构实现例例5-3的功能。的功能。例例5-5 编写一个按月收入额计算个人收入调节税的应用程序,并把结果存编写一个按月收入额计算个人收入调节税的应用程序,并把结果存入入D:盘的数据文件:盘的数据文件“pay.dat”中。中。计税公式如下:计税公式如下: 0 pay1000或离退休或离退休 (pay1000)*0.05 1000pay1500 (pay1500)*0.

11、1+25 1500pay2000 (Pay2000) *0.15+75 2000pay2500 tax= (pay2500) *0.2+150 2500pay3000 (pay3000) *0.25+250 3000pay3500 (Pay3500) *0.3+375 3500pay4000 (pay4000) *0.35+525 40005,64,5 y,x,y):ChooseChoose结构:结构:结构:结构:ChooseChoose(数字类型变量,值为(数字类型变量,值为(数字类型变量,值为(数字类型变量,值为1 1的返回值,值为的返回值,值为的返回值,值为的返回值,值为2 2的返回值)

12、的返回值)的返回值)的返回值) i = i = Int(RndInt(Rnd*4+1)*4+1) fuhaofuhao = = Choose(iChoose(i, “, “” ”, “, “” ”, “”, “”), “”, “”)大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学第第二二节节 循环结构循环结构 第二节第二节 循环结构循环结构 大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学5.2 循环结构循环结构所谓循环结构就是重复地执行某些操作,在程序中体现的所谓循环结构就是重复地

13、执行某些操作,在程序中体现的就是部分代码被重复执行。就是部分代码被重复执行。VB中循环结构分为两大类:中循环结构分为两大类:1.条件循环条件循环(Do-Loop),用于循环次数未知的情况,用于循环次数未知的情况当型循环结构(当型循环结构(While)直到型循环结构直到型循环结构 (Until)2.计数循环计数循环(For-Next),用于循环次数已知的情况,用于循环次数已知的情况大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学形式1: Do While 语句块语句块 Exit Do 语句块语句块 Loop形式2:Do 语句块语句块 Exi

14、t Do 语句块语句块Loop While 先判断后执行,语句块可先判断后执行,语句块可能一次也不执行能一次也不执行先执行后判先执行后判 断,语句块至断,语句块至少执行一次少执行一次1. DoWhile循环语句循环语句(当型循环结构当型循环结构,条件为真时执行条件为真时执行)大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学形式1: Do Until 语句块语句块 Exit Do 语句块语句块 Loop形式2:Do 语句块语句块 Exit Do 语句块语句块Loop Until 先判断后执行,语句块可先判断后执行,语句块可能一次也不执行能一

15、次也不执行先执行后判先执行后判 断,语句块至断,语句块至少执行一次少执行一次2. DoUntil循环语句循环语句(直到型循环结构直到型循环结构,条件为假时执行条件为假时执行)大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学除以除以5、6、7均余均余1的最小的正整数的最小的正整数.vbpPrivate Sub Command1_Click() n = 8 Do While n Mod 5 1 Or n Mod 6 1 Or n Mod 7 1 n = n + 1 Loop Print 除以除以5、6、7均余均余1的最小的正整数是的最小的正整

16、数是 & nEnd SubPrivate Sub Command2_Click() n = 8 Do Until n Mod 5 = 1 And n Mod 6 =1 And n Mod 7 = 1 n = n + 1 Loop Print 除以除以5、6、7均余均余1的最小的正整数是的最小的正整数是 & nEnd SubDoLoop循环应用举例循环应用举例1大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学人口增长计算.vbp 我国现有13亿人口,按人口年增长0.8%计算,多少年后我国人口超过26亿?分析:解此问题两种方法,可根据公式:2

17、6=13*(1+0.008)n 直接利用标准对数函数求得;也可利用循环求得,程序如下:Private Sub Command1_Click() x = 13 n = 0 Do While x n; (2) m除以n得余数r; (3)若r=0,则n为最大公约数结束;否则执行(4); (4)m n,n r,再重复执行(2)。 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=m-n mn n=n-m nm m、n为公约数 m=nD

18、o 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 2Loop m n r 14 6 2 6 2 0DoLoop循环应用举例循环应用举例4图5-14流程图大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学形式 For 循环变量初值循环变量初值 to 终值终值 Step 步长步长 语句块语句块Exit For 语句块语句块 Next 循环变量循环变量循环体5.2.3 For-Next循环结构循环结构循环次数步长 0 初值终值 =1 时,可省略终值

19、=0 死循环大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学For循环应用举例:循环应用举例: 计算计算1100的奇数和,程序段如下:的奇数和,程序段如下: Dim i %, s% 等价于:等价于: Dim i %, s% s=0 s=0 : i = 1 For i = 1 To 100 step 2 Do Until i100 s = s + i s = s + i Next i i = i +2 Loop下面程序的结果是什么?下面程序的结果是什么?Dim a% Dim a%a=10 a=10for i=6 to 3 for i=3 t

20、o 6a=a+2 a=a+2next i next iPrint a, i Print a, i大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学例例5-8 编写一个程序求编写一个程序求110这十个数的和与乘积。这十个数的和与乘积。算法分析:求若干个数之和或若干个数的乘积,可采用算法分析:求若干个数之和或若干个数的乘积,可采用“累加累加”与与“累乘累乘”法。累加法是设置一个存放和数的变量,称为法。累加法是设置一个存放和数的变量,称为“累加器累加器”,它的初始,它的初始值设为值设为0,累加过程通过循环实现,在循环体中,和数与累加器相加后,累加

21、过程通过循环实现,在循环体中,和数与累加器相加后再赋值给累加器;累乘的算法与累加类似,不过设置的是再赋值给累加器;累乘的算法与累加类似,不过设置的是“累乘器累乘器”,它的初始值应设为它的初始值应设为1,在循环体内,乘数应与累乘器相乘。在求乘积时,在循环体内,乘数应与累乘器相乘。在求乘积时,应注意乘积的大小,设置适当的数据类型。应注意乘积的大小,设置适当的数据类型。For-Next循环应用举例循环应用举例1图5-18 程序设计界面及运行图大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学例例5-9 下面是一个从由字母数字组成的字符串中找出所有

22、大写字母并逆下面是一个从由字母数字组成的字符串中找出所有大写字母并逆序输出的程序。最后再把结果存入序输出的程序。最后再把结果存入D:盘的数据文件:盘的数据文件“letter.dat”中。中。 从一个字符串中找出符合要求的字符是采取对字符串的每一个字符逐个从一个字符串中找出符合要求的字符是采取对字符串的每一个字符逐个筛选的方法实现的。本例利用筛选的方法实现的。本例利用Mid函数可以从字符串中提取出单个字符,函数可以从字符串中提取出单个字符,利用循环控制处理过程,循环的终值使用利用循环控制处理过程,循环的终值使用Len函数;对于符合要求的字函数;对于符合要求的字符采用连接运算符采用连接运算 组成新

23、字符串;逆序输出则是通过从后往前逐个提取组成新字符串;逆序输出则是通过从后往前逐个提取字符再连接的。字符再连接的。For-Next循环应用举例循环应用举例2图5-19 程序设计界面及运行图大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学无论是无论是Do-Loop循环,还是循环,还是For-Next循环,都可以在大循环中循环,都可以在大循环中套小循环。两种不同类型的循环语句也可以嵌套在一起使用。套小循环。两种不同类型的循环语句也可以嵌套在一起使用。必须注意:小循环一定要完整地被包含在大循环之内,不得相必须注意:小循环一定要完整地被包含在大循

24、环之内,不得相互交叉。互交叉。5.2.4 循环的嵌套循环的嵌套下面的程序运行结果是什么?下面的程序运行结果是什么? a=10for i=1 to 5 for j=4 to 6a=a+2 next jnext IPrint a, i, j 大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学例例5-10 下面是一个模拟摇奖的程序。设有下面是一个模拟摇奖的程序。设有100个人中签,要个人中签,要从中找出两个中奖人。由机器自动随机产生第一组从中找出两个中奖人。由机器自动随机产生第一组1000个个1100间的数据,第间的数据,第1000个随机数据即为

25、第一个中奖人的号个随机数据即为第一个中奖人的号码;然后再次随机产生第二组码;然后再次随机产生第二组1000个个1100间的数据,第间的数据,第1000个随机数据即为第二个中奖人的号码。个随机数据即为第二个中奖人的号码。算法分析:本程序算法比较简单,首先外循环用来控制产生两个随机数,算法分析:本程序算法比较简单,首先外循环用来控制产生两个随机数,里面使用里面使用For-Next循环产生循环产生1000个个1-100间的随机整数即可。但为了获间的随机整数即可。但为了获得摇奖的效果,每产生一个随机数,再利用一个得摇奖的效果,每产生一个随机数,再利用一个For-Next循环起到延时循环起到延时作用,降

26、低数据显示的速度,以便可以较容易地看清数据变化的状况,作用,降低数据显示的速度,以便可以较容易地看清数据变化的状况,使用使用Refresh方法,使文本框中的文本不断改变。方法,使文本框中的文本不断改变。循环嵌套应用举例循环嵌套应用举例1图5-20 界面及运行结果大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学第第三三节节 程序示例程序示例 第三节第三节 程序示例程序示例 大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学例例5-11 产生产生10个个(1,50)之间的随机整数,并将其中

27、的最大数之间的随机整数,并将其中的最大数和最小数打印出来。同时存入和最小数打印出来。同时存入D:盘的数据文件:盘的数据文件“Imax.dat”中。中。算法分析:用两个变量来存放最大和最小数,给这两个变量赋算法分析:用两个变量来存放最大和最小数,给这两个变量赋初值时要考虑周全,否则最小值有可能出错。初值时要考虑周全,否则最小值有可能出错。5.3程序示例程序示例大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学例例5-12 已知参加聚会有已知参加聚会有36人,现共有人,现共有36块小蛋糕,按照下面块小蛋糕,按照下面规则进行分配,男士每人规则进行

28、分配,男士每人4块,女士每人块,女士每人3块,小孩块,小孩2个人分个人分1块,蛋糕刚好分完。问男、女、小孩各多少人?块,蛋糕刚好分完。问男、女、小孩各多少人?算法分析:根据题目规定,可以判断出男士最多算法分析:根据题目规定,可以判断出男士最多9人,女士最人,女士最多多12人,因为小孩每次只能二人分一块,所以小孩最少是人,因为小孩每次只能二人分一块,所以小孩最少是2人,最多是人,最多是36人。这类题目一般用穷举法来写程序。人。这类题目一般用穷举法来写程序。5.3程序示例程序示例大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学例例5-13 设

29、计一个简易函数计算器。要求对输入的数据进行有设计一个简易函数计算器。要求对输入的数据进行有效性检验。效性检验。保证保证“计算器计算器”在各种操作状况下都正常工作,程序需要考虑在各种操作状况下都正常工作,程序需要考虑在用户没有在文本框中输人数据或输入的数据超出函数的定在用户没有在文本框中输人数据或输入的数据超出函数的定义域时的出错处理。义域时的出错处理。程序中使用的程序中使用的IsNumeric(s)函数用于检测自变量函数用于检测自变量s是否是一个是否是一个可转换成数值的数字串,如果是,则返回逻辑值可转换成数值的数字串,如果是,则返回逻辑值True,否,否则返回则返回False。 5.3程序示例

30、程序示例大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学例例5-14 编写程序输出编写程序输出3到到300之间的素数。要求将找到的素数之间的素数。要求将找到的素数显示在列表框中。显示在列表框中。算法分析:所谓素数即指除了算法分析:所谓素数即指除了1和它本身不能被其它数整除的和它本身不能被其它数整除的数。因此当某个数不能被从数。因此当某个数不能被从2开始到这个数减开始到这个数减1之间的所有数之间的所有数整除时,这个数就是素数。整除时,这个数就是素数。 5.3程序示例程序示例大学计算机基础大学计算机基础沈阳药科大学沈阳药科大学沈阳药科大学计算机教研室

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

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