资源预览内容
第1页 / 共31页
第2页 / 共31页
第3页 / 共31页
第4页 / 共31页
第5页 / 共31页
第6页 / 共31页
第7页 / 共31页
第8页 / 共31页
第9页 / 共31页
第10页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第七章第七章 程序控制语句程序控制语句2014主要内容 7.1算法基础 7.2分支结构 7.3循环控制结构一个程序应包括两个方面的内容:对数据的描述:数据结构(datastructure)对操作的描述:算法(algorithm)著名计算机科学家沃思提出一个公式: 数据结构+算法=程序 数据结构算法程序设计方法语言工具完整的程序设计应该是:1算法的概念 广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”。方法1:1+2,+3,+4,一直加到100 加99次方法2:100+(1+99)+(2+98)+(49 +51)+50 = 100 + 49100 +50 加51次对同一个问题,可有不同的解题方法和步骤例: 求7.1算法基础算法的选择 为了有效地进行解题,不仅需要保证算法正确,还要考虑算法的质量,选择合适的算法。希望方法简单,运算步骤少。计算机算法可分为两大类别:n数值运算算法:求数值解,例如求方程的根、求函数的定积分等。n非数值运算:包括的面十分广泛,最常见的是用于事务管理领域,例如图书检索、人事管理、行车调度管理等。1.算法的度量算法可以通过时间复杂度和空间复杂度来度量。 算法的时间复杂度是指算法的执行时间; 算法的空间复杂度是算法执行时所需的最大存储空间2.算法的五要素(特点)(1)确定性:指算法的每个步骤都应确切无误,没有歧义。(2)可行性:指算法的每个步骤必须是计算机能够有效执 行,可以实现的,并可得到确定的结果。(3)有穷性:指一个算法应该在有限的时间和步骤内可以执 行完毕的。(4)输入性:指一个算法可以有0或多个输入数据。(5)输出性:指一个算法必须有一个或多个输出结果。3.算法的描述形式4.算法的基本结构自然语言;流程图;伪代码 顺序结构; 分支结构(选择结构); 循环结构7.2分支语句 If Then IfThenElse Select Case此结构语句的一般形式是:If Condition Then A组语组语 句Else B组语组语 句End IfABCTrueFalse1. If-Then-Else-End If 结构语句(双分支)判决条件可以是逻辑变量、关系表达式或逻辑表达式。分支语句基本形式If C Then A组语句 Else B组语句双分支另一种写法形式:单分支If e Then A组语组语句End IfAeTrueFalseIf e Then A语句注意:放置在同一行上,用:隔开,无End If;不推荐的形式单分支变形形式:【例7-1】输入X的值,并输出其绝对值。PrivateSubCommand1_Click()Dimx!x=InputBox(请输入一个数)Ifx=”A” And Ucase(c)=”0” And c=”9” Then countY=county+1Else countZ=countZ+1End IfIf KeyAscii=13 Then 当按回车键字符输入完毕,显示结果 Print “字母字符有”; countX;”个” Print “数字字符有”; countY;”个” Print “其他字符有”; countZ;”个”End IfEnd SubSelect Case e Case c1 A组语组语 句 Case c2 B组语组语 句 . . . Case Else n组语组语 句End Select3. Select-Case-End Select 结构语句 此结构语句提供了实现多分支结构的另一种方法,它的一般形式是:Step1:求条件表达式e的值Step2:检查每个Case语句的表达式列表,如果条件表达式e的值满足某个测试项,系统就执行该Case语句下的那组语句;如果没有一个测试项满足要求,就执行Case Else下的语句。c1、c2是测试表达式列表,可取:1、具体数值。2、连续的数据范围3、满足某个判决条件e为条件表达式,可以是算术表达式或字符表达式。一般为变量如果有一个以上的测试项满足要求,则只有第一个匹配后面的语句会被执行。说明说明1 1:(1)测试表达式必须为数值型或字符型数据(2)测试值列表必须与条件表达式的值的类型一致(3)测试值列表的取值形式1枚举型如:case1,5,7,9casea,b,C,d2范围型To如:case1to9caseatoz3关系表达式型IS如:caseIsa逗号隔开,注意大小写区分说明说明2 2:1、用关键字To来指定一个范围时,必须小的值在前面,大的值在后面,字符串常量的范围必须按字母顺序写出。2、如果同一个域值的范围在多个Case子句中出现,则只执行符合要求的第一个Case子句的语句块,这时Case子句的顺序对执行结果有影响。因此,在编程时,一般都使各个Case子句是“互斥”的(即只有一个子句的范围满足)。Select Case e Case 1 to 9 A组语组语 句 Case 10 to 15 B组语组语 句 . . . Case Else n组语组语 句End SelectSelect Case e Case “a”,”b”,”c” A组语组语 句 Case “b” B组语组语 句 . . . Case Else n组语组语 句End Select思考题1 下面程序的运行结果是:DimiAsIntegerDimXAsIntegeri=2X=4SelectCaseiCase0:PrintCase0Case1:PrintCase1CaseXi:PrintCaseX-iCaseX:PrintCaseXCaseElse:PrintCaseElseEndSelectCaseX-i思考题2假设x的值为5,则在执行以下语句时,其输出结果为“OK”的Selectcase语句是()A)SelectCaseXCase10to1:PrintOKEndSelectB)SelectCaseXCaseIs5,1,3to10:PrintOKEndSelectC)SelectCaseXCaseIs5,Is5,Is5:PrintOKEndselectB【例7-4】某商店进行购物打折优惠活动促销,根据每位顾客一次性购物的消费额给予不同的折扣,具体方法如下: (1) 购物1000元以上的九五折优惠, (2) 购物2000元以上的九折优惠, (3) 购物3000元以上的八五折优惠, (4) 购物5000元以上的八折优惠。DimxAsSingle,yAsSinglex=InputBox(请输入购物金额:)SelectCasexCaseIs1000Print不优惠y=xCaseIs2000Print九五折优惠y=0.95*xCaseIs3000Print九折优惠y=0.9*xCaseIs=5000Print八折优惠y=0.8*xEndSelectPrint“优惠后应收款额为:”;y4. 选择结构的嵌套u将一个选择结构放在另一个选择结构内,称为选择结构的嵌套。uuIf If语句的嵌套语句的嵌套在在If If语句中又包含一个或多个语句中又包含一个或多个If If语句,称为语句的嵌套语句,称为语句的嵌套uuIfIf语句与语句与SelectSelect语句的嵌套语句的嵌套在If语句中包含一个select语句,或者select语句中包含一个或多个If语句。嵌套形式IfThenifthen.elseElseifthen.else.IfThenselectcasecase.caseelseendselectElseifthen.else.选择嵌套注意事项 只要满足结构规则,If语句可以有任意多的嵌套。在编写嵌套程序的时候,需要注意If与ELse的配对关系。 配对的原则是:先从最内层的E1se开始找,Else总是与离它最近的而且在它前面未配对的If配对,如此逐层配对。 按照锯齿形的书写格式书写,容易看出各层的嵌套关系。If Then if then 语句1 else 语句2Else if then 语句3 else 语句4例:输入自变量x和z,求一个双变量的分段函数。形式1 Dim x As Double, y As Double, z As Double x=InputBox(请输入x的值) z=InputBox(请输入y的值) If z0 Then If x-10 Then y=x*x+z*z Else y=x+z Else If x-30 Then y=x/z+3.89 ElseIf x-8 Then y=x*sin(z) Else y=Sqr(Abs(x-z) End If End If形式2 Dim x As Double, y As Double, z As Double x=InputBox(请输入x的值) z=InputBox(请输入y的值) Select Case z Case Is 0 If x-10 Then y=x2+z2 Else y=x+z Case Else If x-30 Then y=x/z+3.89 ElseIf x-8 Then y=x*sin(z) Else y=Sqr(Abs(x-z) End If End Select 5. 条件函数(1)IIF函数使用IIf函数也可以实现简单的双分支选择结构。语句格式:result=IIF(条件表达式,)测试条件表达式的值,如果取值为True则返回表达式1的值,否则返回表达式2的值。例:语句IfxyThenmax=xElsemax=Y也可写成:Max=IIf(xy,x,y)(2)Choose函数使用Choose函数也可以实现简单的多分支选择结构。语句格式:result=Choose(整数表达式,选项列表)根据整数表达式的值,决定返回选项列表中的哪个项目。例:C=Choose(x,“red”,“green”,“blue”)当x值为1时,返回“red”;当x值为2时,返回“green”;当x值为3时,返回“blue”;当x不在1-3之间,函数返回Null分支语句总结 If Then IfThenElse IfThenElseIf Select case 条件函数 IIF chooseThanks!密码:njau12345
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号