第5章程序控制结构(修订)课件.ppt

上传人(卖家):晟晟文业 文档编号:3861280 上传时间:2022-10-19 格式:PPT 页数:35 大小:152.99KB
下载 相关 举报
第5章程序控制结构(修订)课件.ppt_第1页
第1页 / 共35页
第5章程序控制结构(修订)课件.ppt_第2页
第2页 / 共35页
第5章程序控制结构(修订)课件.ppt_第3页
第3页 / 共35页
第5章程序控制结构(修订)课件.ppt_第4页
第4页 / 共35页
第5章程序控制结构(修订)课件.ppt_第5页
第5页 / 共35页
点击查看更多>>
资源描述

1、第第 5 章章 程序控制结构程序控制结构1.1.顺序结构顺序结构1.1.分支结构分支结构1.1.循环结构循环结构51 控制结构的流程图表示控制结构的流程图表示 n511 流程图流程图用于描述结构化程序的图形。用于描述结构化程序的图形。5.1.2 控制结构的流程图表示控制结构的流程图表示 一、顺序结构一、顺序结构语句语句A语句语句B 三种结构中最基本的结构,由一串按顺序排三种结构中最基本的结构,由一串按顺序排列的语句组成。运行时,按语句出现的先后次序列的语句组成。运行时,按语句出现的先后次序执行,例如从语句执行,例如从语句A顺序执行到语句顺序执行到语句B。二、选择结构二、选择结构语句语句A语句语

2、句B条件条件TF 选择结构选择结构(又称分支结构又称分支结构),通过,通过“条件条件”判断判断后进行分支,满足条件时执行语句后进行分支,满足条件时执行语句A,否则,否则(不满不满足条件时足条件时)执行语句执行语句B。三、循环结构三、循环结构语句语句条件条件TF 循环结构通过循环结构通过“条件条件”判断,满足条件时重复判断,满足条件时重复执行循环体语句执行循环体语句(一条语句或多条语句一条语句或多条语句),不满足,不满足条件时跳出循环条件时跳出循环(出口出口)。三种基本结构的共同特点是:三种基本结构的共同特点是:(1)只有单一的入口和单一的出口;只有单一的入口和单一的出口;(2)结构中的每个部分

3、都有被执行的可能;结构中的每个部分都有被执行的可能;(3)结构内不应出现永不终止的死循环;结构内不应出现永不终止的死循环;5.2 算法 在计算机学科中,在计算机学科中,算法算法指的是用于完成某个处理任务的一组有序而明确指的是用于完成某个处理任务的一组有序而明确的、可以由计算机执行的操作(或指令),它能在有限时间内执行结束并产的、可以由计算机执行的操作(或指令),它能在有限时间内执行结束并产生结果。生结果。算法的特征算法的特征(1)确定性)确定性 确定性是指算法中的每个步骤必须确切无误,即每一步运算应该执行何确定性是指算法中的每个步骤必须确切无误,即每一步运算应该执行何种操作必须是清楚明确的,无

4、二义性。种操作必须是清楚明确的,无二义性。(2)有穷性)有穷性 有穷性是指一个算法经有限步运算后能够终止。有穷性是指一个算法经有限步运算后能够终止。(3)可行性)可行性 可行性是指算法的每个步骤都是计算机可以执行的,并能得到确定的结可行性是指算法的每个步骤都是计算机可以执行的,并能得到确定的结果。果。(4)输出性)输出性 一个算法可以没有输入,但至少要有一个输出。一个算法可以没有输入,但至少要有一个输出。5.2.3 算法的表示算法的表示1文字表示文字表示2流程图表示流程图表示3程序语言表示程序语言表示5.3 顺序结构顺序结构赋值语句:赋值语句:其格式如:其格式如:var=1.Var表示某个表示

5、某个变量名或属性名,变量名或属性名,不能是常量,常熟符号或表达式。不能是常量,常熟符号或表达式。2.先计算先计算“=”右边表达式的值,然后将值赋给右边表达式的值,然后将值赋给“=”左边的变量。左边的变量。3.“=”在条件表达式中为等号,否则为赋值号在条件表达式中为等号,否则为赋值号4.经常使用的赋值语句经常使用的赋值语句:Sum=sum+x 累加累加X=x+1 计数计数5.不能在一条语句中同时给多个变量赋值不能在一条语句中同时给多个变量赋值赋值语句中数据类型不同时的处理方法:赋值语句中数据类型不同时的处理方法:1.变量的数据类型与表达式的数据类型同为数值型,但精度不同变量的数据类型与表达式的数

6、据类型同为数值型,但精度不同时,时,VB会将表达式的精度强制转换成变量的精度。会将表达式的精度强制转换成变量的精度。2.变量的数据类型为数值型,表达式的数据类型为字符型时,自变量的数据类型为数值型,表达式的数据类型为字符型时,自动转换成数值类型再赋值,但当字符中有非数字字符或表达式动转换成数值类型再赋值,但当字符中有非数字字符或表达式为空串时,则出错。为空串时,则出错。3.变量的数据类型为数值型,表达式的数据类型为逻辑型时,变量的数据类型为数值型,表达式的数据类型为逻辑型时,True转换为转换为-1,False转换为转换为0。反之,非。反之,非0转换为转换为True,0转换转换为为False。

7、4.变量的数据类型为字符型,表达式的数据类型为非字符型时,变量的数据类型为字符型,表达式的数据类型为非字符型时,会自动转换成字符型。会自动转换成字符型。【例例5.1】运行下面程序,单击窗体,则立即窗口显示的运行下面程序,单击窗体,则立即窗口显示的结果是什么?结果是什么?Private Sub Form_Click()Dim a As Integer,b As Boolean Dim c As Integer,d As Integer a=10/4:b=True:c=b:d=a+c Debug.Print a,d,a=a+cEnd Sub分析:分析:10/4的结果是的结果是2.5,赋给整型变量,

8、赋给整型变量a,根据奇进偶,根据奇进偶不进原则,不进原则,a的值为的值为2。True赋给整型变量赋给整型变量c,转换为,转换为-1,从而变量从而变量d的结果为的结果为2 1=1。由于。由于a的值为的值为2,a+c的的值为值为1,所以,所以a=a+c的结果为的结果为False。立即窗口显示的。立即窗口显示的结果是:结果是:2 1 False5.4 选择结构选择结构 n选择结构又叫分支结构。程序在运行到选择结构又叫分支结构。程序在运行到分支结构的语句块时,可以根据条件的分支结构的语句块时,可以根据条件的不同,选择不同的执行方向。不同,选择不同的执行方向。nIf nselect case 5.4.1

9、 IF条件语句条件语句1.单分支:单分支:If Then 语句组语句组End If2.双分支:双分支:If Then 语句组语句组AElse 语句组语句组BEnd If3.多分枝:多分枝:If Then 语句组语句组1ElseIf Then 语句组语句组2 ElseIf Then 语句组语句组nElse 语句组语句组n+1End If3If语句的嵌套语句的嵌套【例例5.3】设有如下函数:设有如下函数:从键盘输入从键盘输入x的值,要求输出的值,要求输出y的值。的值。010001xxxy010001xxxyPrivate Sub Form_Click()Dim x As Single,y As S

10、ingle x=InputBox(请输入请输入x的值:的值:)If x 0 Then y=1 Else If x=0 Then y=0 Else y=-1 Print x=;x,y=;yEnd Sub 5.4.2 条件函数(条件函数(IIf函数)函数)VB提供了一个提供了一个IIf函数,可用来简化函数,可用来简化“If Then Else”分支结构。分支结构。一般形式为:一般形式为:Var=IIf(条件表达式,条件表达式,True部分,部分,False部分部分)注意:注意:IIf函数中的函数中的3个参数都不能省略,而且要求个参数都不能省略,而且要求“True部分部分”、“False部分部分”与

11、结果变量的与结果变量的类型一致。类型一致。iif 函数与函数与“If Then Else”语句或语句或“Select Case”语句(见下一节)的作用类似。语句(见下一节)的作用类似。If x0 Then y=1Else y=-1End If y=IIf(x0,1,-1)5.4.3 Select Case语句语句 Select Case语句也能实现多分支,其基本格式为:语句也能实现多分支,其基本格式为:Select Case 测试表达式测试表达式 Case 表达式表列表达式表列1 语句块语句块1 Case 表达式表列表达式表列2 语句块语句块2 Case Else 语句块语句块n End Se

12、lectTTFT表达式表列表达式表列1表达式表列表达式表列2表达式表列表达式表列n语句组语句组1语句组语句组2语句组语句组n语句组语句组n+1FF其中:其中:“变量或表达式变量或表达式”可以是数值表达式或字符可以是数值表达式或字符串表达式,也可以是一个常量或一个变量。串表达式,也可以是一个常量或一个变量。“表达式表列表达式表列i”可以是以下三种情况之一或可以是以下三种情况之一或三种情况的混合。三种情况的混合。(1)以逗号隔开的常量以逗号隔开的常量 例如:例如:Case 1,4,7 Case a,b“(2)由关键字由关键字To连接的两个常量,表示一个闭区连接的两个常量,表示一个闭区间。不论是数值

13、型还是字符串数据,都要保证间。不论是数值型还是字符串数据,都要保证To前面的常量比后面的小。前面的常量比后面的小。例如:例如:Case 1 To 10 Case a To f(3)由关键字由关键字is表示的一个关系表达式。表示的一个关系表达式。is是一个代词,它代表着是一个代词,它代表着“变量或表达变量或表达式式”的值。如:的值。如:Case is 15。但。但Case is 15 And is 30是错误的。是错误的。(4)“表达式表列表达式表列i”的数据类型要与的数据类型要与“变量或表达式变量或表达式”的类型相同。的类型相同。5.5 循环结构循环结构 在在VB中,实现循环结构的语句有两种,

14、中,实现循环结构的语句有两种,一种是一种是For循环控制结构,另一种是循环控制结构,另一种是Do循循环控制结构。环控制结构。nFornDo5.5.1 For循环控制结构循环控制结构For var=a To b Step c 语句组语句组 Exit For 语句组语句组Next var1.var称为循环变量,其值必须为数值型称为循环变量,其值必须为数值型2.a称为循环初值,称为循环初值,b称为循环终值,称为循环终值,1.c称为循环步长。称为循环步长。3.Exit For表示当遇到该语句时表示当遇到该语句时退出循环,执行退出循环,执行Next后的下一条语句。后的下一条语句。4.Next的含义是循环

15、变量的值增加的含义是循环变量的值增加1.一个步长(一个步长(var=var+c),开始下一次循环。),开始下一次循环。For循环语句的执行过程是:循环语句的执行过程是:(1)计算初值表达式计算初值表达式a、终值表达式、终值表达式b、步长表、步长表达式达式c的值。的值。(2)循环变量赋初值。循环变量赋初值。(3)比较循环变量与终值的值。比较循环变量与终值的值。当步长为正时,若循环变量的值小于或等于终值当步长为正时,若循环变量的值小于或等于终值(步长为正的循环流程如图步长为正的循环流程如图5.14所示所示),转去第,转去第(4)步,否则执行步,否则执行Next后的下一条语句;后的下一条语句;当步长

16、为负时,若循环变量的当前值大于或等于当步长为负时,若循环变量的当前值大于或等于终值终值(步长为负的循环流程如图步长为负的循环流程如图5.15所示所示),转去,转去第第(4)步,否则执行步,否则执行Next后的下一条语句。后的下一条语句。(4)执行一次循环体,然后将循环变量的值增执行一次循环体,然后将循环变量的值增加一个步长,转到第加一个步长,转到第3步,重复执行。步,重复执行。1.无论循环执行与否,循环变量赋初值语句都会被执行,无论循环执行与否,循环变量赋初值语句都会被执行,且仅执行一次。且仅执行一次。2.若初值小于终值,则步长为若初值小于终值,则步长为1时,时,Step 1可以省略;可以省略

17、;但若初值大于终值,而步长为但若初值大于终值,而步长为-1时,时,Step 1不可以不可以省略。省略。3.循环的次数可用以下公式计算:循环的次数可用以下公式计算:循环次数循环次数=Int(b a)c)+14.For语句和语句和Next语句必须成对出现,不能单独使用,语句必须成对出现,不能单独使用,且且For语句必须在语句必须在Next语句之前。语句之前。5.循环的初值、终值以及步长的值一经确定,则循环的循环的初值、终值以及步长的值一经确定,则循环的执行次数就不再改变。在循环体中,改变初值、终值执行次数就不再改变。在循环体中,改变初值、终值以及步长的值,不影响循环的执行次数。若在循环体以及步长的

18、值,不影响循环的执行次数。若在循环体中改变循环变量的值,则有可能影响循环的执行次数。中改变循环变量的值,则有可能影响循环的执行次数。6.当退出循环后,循环变量的值保持退出时的值。当退出循环后,循环变量的值保持退出时的值。【例【例5.10】求求n!(n为自然数)为自然数)由阶乘的定义可知:由阶乘的定义可知:Private Sub Form_Click()Dim N As Integer,i As Integer,k As Single N=InputBox(输入输入N:)k=1 For i=1 To N k=k*i 此语句称为累乘器此语句称为累乘器 Next i Print N;!=;kEnd

19、SubPrivate Sub Form_Click()Dim N As Integer,i As Integer,m As Integer,k As Single N=InputBox(输入输入N:)k=1:m=1 For i=1 To N k=k*m m=m+1 此语句称为计数器此语句称为计数器 Next i Print N;!=;kEnd Sub 操作变量操作变量 形式变量形式变量 5.5.2 Do循环控制结构循环控制结构适合于循环次数事先难以确定的场合。适合于循环次数事先难以确定的场合。Do循环控制结构有如下几种格式:循环控制结构有如下几种格式:格式格式1:Do While 循环条件循环

20、条件 语句组语句组 Exit Do 循环体循环体 语句组语句组 Loop格式格式1的循环流程如的循环流程如图图5.17所示。所示。FT条件条件?语句组语句组图图5.17 Do While Loop循环流程图循环流程图格式格式2:Do 语句组语句组 Exit Do 循环体循环体 语句组语句组 Loop While 循环条件循环条件格式格式2的循环流程如图的循环流程如图5.18所示。所示。格式格式3:Do Until 循环条件循环条件 语句组语句组 Exit Do 循环体循环体 语句组语句组 Loop 格式格式3的循环流程如图的循环流程如图5.19所示。所示。FT条件条件?语句组语句组图图5.18

21、 Do Loop While循环循环TF条件条件?语句组语句组图图5.19 Do Until Loop循环循环格式格式4:Do 语句组语句组 Exit Do 循环体循环体 语句组语句组 Loop Until 循环条件循环条件格式格式4的循环流程如图的循环流程如图5.20所示。所示。TF条件条件?语句组语句组图图5.20 Do Loop Until循环循环 Do循环语句的功能是:当指定的循环语句的功能是:当指定的“循环条件循环条件”为为True,或直到指定的,或直到指定的“循环条件循环条件”为为True之前,重之前,重复执行语句组(即循环体)。复执行语句组(即循环体)。其中:其中:(1)格式格式

22、1与格式与格式3为先判断后执行,有可能一次也不执行。为先判断后执行,有可能一次也不执行。格式格式2与格式与格式4为先执行后判断,至少执行一次。为先执行后判断,至少执行一次。(2)关键字关键字While用于指明条件为用于指明条件为True时,就执行循环体时,就执行循环体内的语句,内的语句,Until正好相反。正好相反。(3)当省略当省略While 循环条件循环条件或或Until 循环条件循环条件子句时,子句时,循环结构简化为:循环结构简化为:Do 语句组语句组 Exit Do 循环体循环体 语句组语句组 Loop结构,表示无条件循环,这时在循环体内应该有结构,表示无条件循环,这时在循环体内应该有

23、Exit Do语句,否则为死循环。语句,否则为死循环。(4)Do循环控制结构在使用时要注意循环条件的循环控制结构在使用时要注意循环条件的设置,必须保证循环在执行有限次后能正常退出,设置,必须保证循环在执行有限次后能正常退出,否则将形成死循环。否则将形成死循环。(5)Exit Do语句表示当遇到该语句时,退出循环,语句表示当遇到该语句时,退出循环,执行执行Loop下面的语句。该语句一般是与下面的语句。该语句一般是与If-Then语句配合使用,常见形式为:语句配合使用,常见形式为:If Then Exit Do(6)一般来说,可以使用上述几种格式解决同一一般来说,可以使用上述几种格式解决同一个问题

24、,可以取得相同的结果,只是要注意循环个问题,可以取得相同的结果,只是要注意循环条件的写法或在进入循环之前注意给循环体中使条件的写法或在进入循环之前注意给循环体中使用到的变量赋以适当的初值。用到的变量赋以适当的初值。5.5.3 For循环与循环与Do循环的比较循环的比较 For循环结构适用于已知循环次数的场循环结构适用于已知循环次数的场合,而合,而Do循环结构适用于循环次数不确定循环结构适用于循环次数不确定的场合。的场合。For循环结构中,修改循环变量循环结构中,修改循环变量的值的语句已经包含在语句结构中,控制的值的语句已经包含在语句结构中,控制意图明显;意图明显;Do循环结构本身不修改循环变循

25、环结构本身不修改循环变量的值,必须使用专门的语句修改循环变量的值,必须使用专门的语句修改循环变量的值,使循环能够进行。有的时候两种量的值,使循环能够进行。有的时候两种结构可以互相代替。结构可以互相代替。5.5.4 循环嵌套循环嵌套 (1)For循环的嵌套使用。除了内外层循环不能交叉外,循环的嵌套使用。除了内外层循环不能交叉外,还要注意内循环变量与外循环变量不能同名。例如下还要注意内循环变量与外循环变量不能同名。例如下面的循环结构是错误的:面的循环结构是错误的:内、外循环交叉内、外循环交叉 内、外循环变量同名内、外循环变量同名For i=1 To 5 For i=1 To 5 For j=1 T

26、o 6 For i=1 To 6 Next i Next i Next j Next i(2)分支结构与分支结构与For循环结构的嵌套使用。要注循环结构的嵌套使用。要注意意if结构的语句组要完全包含循环结构;同样循结构的语句组要完全包含循环结构;同样循环结构的循环体也要完全包含环结构的循环体也要完全包含if结构。例如下面结构。例如下面的嵌套使用是错误的:的嵌套使用是错误的:For i=1 To 10 if 条件表达式条件表达式 Then if 条件表达式条件表达式 Then For i=1 To 10 Next i End if End if Next i(3)Do循环的嵌套使用。使用中也同样

27、要注意,循环的嵌套使用。使用中也同样要注意,外层循环必须完全包含内层循环,内层循环的结外层循环必须完全包含内层循环,内层循环的结束语句必须在外层循环的结束语句之前出现,内束语句必须在外层循环的结束语句之前出现,内外层循环不得互相交叉。外层循环不得互相交叉。(4)分支结构与分支结构与Do循环结构的嵌套使用。要注意循环结构的嵌套使用。要注意If结构的语句组要完全包含循环结构;同样循环结构的语句组要完全包含循环结构;同样循环结构的循环体也要完全包含结构的循环体也要完全包含If结构。例如下面的结构。例如下面的嵌套使用是错误的:嵌套使用是错误的:Do While If 条件表达式条件表达式 Then I

28、f 条件表达式条件表达式 Then Do While Loop End If End If Loop(5)For循环结构与循环结构与Do循环结构的嵌套使用。循环结构的嵌套使用。要注意要注意For循环结构的循环体要完全包含循环结构的循环体要完全包含Do循循环结构;同样环结构;同样Do循环结构的循环体也要完全包循环结构的循环体也要完全包含含For循环结构。循环结构。例如下面的嵌套使用是错误的:例如下面的嵌套使用是错误的:For i=1 To 5 Do While Do While For i=1 To 5 Next i Loop Loop Next i本章小结本章小结n流程图、控制结构的流程图表示。流程图、控制结构的流程图表示。n算法的概念、算法的特征及其描述。算法的概念、算法的特征及其描述。n顺序结构、不同数据类型变量的赋值。顺序结构、不同数据类型变量的赋值。n分支结构。分支结构。n循环结构。循环结构。n不同结构的嵌套使用。不同结构的嵌套使用。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第5章程序控制结构(修订)课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|