资源描述
算法和程序设计算法和程序设计第第4课课 分支结构的算法设计分支结构的算法设计算法和程序设计第4课 分支结构的算法设计1输入a开始输入bsuma+b输出sum结束输入输入 a输入输入 bSum a+b输出输出 sum用流程图表示用流程图表示用伪代码表示用伪代码表示用流程图和伪代码描述输入两个数输出用流程图和伪代码描述输入两个数输出它们的和的算法它们的和的算法输入 a开始输入 bsuma+b输出 sum结束输入 a用2算法的执行流程算法的执行流程顺序模式:顺序模式:Step1Step2如:输入一个如:输入一个数,输出这个数,输出这个数的平方数的平方输入输入n输出输出 n2用伪代码表示用伪代码表示输入输入 n输出输出 n2或:或:输入输入 n a n2输出输出 a算法的执行流程顺序模式:Step1Step2如:输入一个数,3输出输出a输出输出b结束开始Y YN N输入两个不同输入两个不同的数的数a,b2、用流程图来描述算法、用流程图来描述算法例例 求两不等数中大者的算法求两不等数中大者的算法1、用自然语言描述算法:、用自然语言描述算法:2、若、若abab条件成立条件成立3、输出、输出a的值,跳到的值,跳到54、否则、否则(abab输出a输出b结束开始YN输入两个不同的数a,b2、用流程图4选择模式:选择模式:(分为单分支与双分支两种分为单分支与双分支两种)用伪代码表示用伪代码表示if(条件条件)then A框框else B框框End if双分支:双分支:选择模式:(分为单分支与双分支两种)用伪代码表示双分支:5分支结构的算法设计课件6单分支:单分支:用伪代码表示用伪代码表示if(条件条件)then A框框End if出门带伞问题:如果下雨,带伞后出门,否则直接出门。单分支:用伪代码表示出门带伞问题:如果下雨,带伞后出门,否则7相对于单分支结构,在VB6.0中有2种相应的语句格式:格式1:If条件Then语句格式2:If条件Then语句组EndIf细心的同学可能已经发现,这2种单分支语句格式不仅从占用的行数上看是不一样的,另外还有一个重要的区别在于,格式1的关键字Then后面只能写一条操作语句,格式2的关键字Then下面能够写多条操作语句(即语句组)。但是,格式1中可以省略“EndIf”行,而格式2中却必须写上该行,否则VB6.0系统会提示用户语法出错。相对于单分支结构,在VB6.0中有2种相应的语句格式:8选择模式:选择模式:条件条件step1ynstep2If(条件条件)then step1else step2End if双分支选择:单分支选择:双分支选择:单分支选择:条件条件step1ynstep3step2If(条件条件)then step1End if选择模式:条件step1ynstep2双分支选择:9【练习1】打印出从键盘输入的两个不相等的数中较大的数。(双分支结构)输入输入 a,bIF ab THEN 输出输出aELSE 输出输出bEND IF 算法一【练习1】打印出从键盘输入的两个不相等的数中较大的数。(双分10算法二算法二:输入二个不相等的数输入二个不相等的数a,b,将最大数赋,将最大数赋值给变量值给变量max并输出。并输出。abmaxaynmaxb输出max输入a、b输入输入 a,bIf ab then max aelse max bEnd if输出输出 max算法二:输入二个不相等的数a,b,将最大数赋值给变量m11【练习2】求分段函数值x2x32x+1x3 THEN y=x*xELSE y=2*x+1END IF 输出输出 y【练习2】求分段函数值 12【练习3】输入一个数到变量a,输出它的绝对值(不用绝对值函数,要求用单分支和双分支结构分别设计算法,并画出流程图)【练习3】输入一个数到变量a,输出它的绝对值(不用绝对值函数13【练习4】输入两个不相等的数a,b,比较大小,将大数放在a中,小数放在b中,然后输出a,b。(单分支结构)【练习4】输入两个不相等的数a,b,比较大小,将大数放在a中14【练习5】某超市促销苹果,购买一斤苹果,为每斤3元,购买5斤以下每斤原价;超过5斤部分每斤打8折,输入购买的斤数,输出应付款额。(双分支结构)【练习5】某超市促销苹果,购买一斤苹果,为每斤3元,购买5斤15【练习6】求分段函数值xxx0Y=用伪代码描述:用伪代码描述:输入输入 xif(x0)then y=-1else if(x=0)then y=0 else y=1 end if End if输出输出 y【练习6】求分段函数值 16多选择(分支)结构(一)IfThenElseifThenElseifThenElseifThenElseEndIf多选择(分支)结构(一)IfThen语句17多选择(分支)结构(二)2、选择语句SelectCaseCaseCaseCaseCaseCaseElseEndSelect多选择(分支)结构(二)2、选择语句18【练习7】购买地铁车票:乘1-4站3元/位;5-9站4元/位;9站以上5元/位;输入人数person、站数n,输出应付款pay【练习7】购买地铁车票:乘1-4 站 3元/位;5-9站 4191 1、编一程序,从输入的三个数中找出并显示其中最大者。、编一程序,从输入的三个数中找出并显示其中最大者。开始结束ababny输入输入a,b,ca,b,cacac输出输出b b输出输出c cynny算法一输出输出a a输出输出c cbcbc拓展练习题:1、编一程序,从输入的三个数中找出并显示其中最大者。开始结束20输输入入三三个个不不相相等等的的数数a,b,c,将将最最大大数数赋赋值值给给变变量量max并并输输出。出。算法二输入三个不相等的数a,b,c,将最大数赋值给变量max并输21编一程序,从输入的三个数中找出并显示其中最大者。编一程序,从输入的三个数中找出并显示其中最大者。开始结束ababny输入输入a,b,ca,b,c算法三maxmaxa amaxmaxb bmaxmaxc cynC maxC max输出输出maxmax编一程序,从输入的三个数中找出并显示其中最大者。开始结束a222、判断一元二次方程、判断一元二次方程ax2+bx+c=0(其中其中a0)是否有实数解的算是否有实数解的算法框图。(有,则输出法框图。(有,则输出“有实解有实解”;无,则输出;无,则输出“无实解无实解”)root.exe2、判断一元二次方程ax2+bx+c=0(其中a0)是否23VB常用函数系统内部标准函数取整:Int(x)求余数:aModb求平方根:Sqr(x)绝对值:Abs(x)四舍五入:Round(x,n)其它.VB常用函数系统内部标准函数24用伪代码表示用伪代码表示输入输入 a,b,cd=b*b-4*a*cIf(d 0)Then 输出输出 无实根无实根“Else If(d=0)Then 输出输出 x1=x2=;-b/2/a Else d=Sqr(d)输出输出 x1=;(-b+d)/2/a 输出输出 x2=;(-b-d)/2/a End IfEnd If3、设计一个一元二次方程求解的通用算法、设计一个一元二次方程求解的通用算法开始开始d0输入输入 a,b,cdb2-4ac输出输出“无实根无实根”d=0输出输出 b/2/a输出输出 (-b+d)/2/a,(-b-d)/2/a结束结束yynn用流程用流程图来描述图来描述dsqr(d)用伪代码表示3、设计一个一元二次方程求解的通用算法开始d=0)Then Print“有实数解有实数解 Else Print“无实数解无实数解 End IfEnd Sub例5:判断一个一元二次方程是否有实数解的算法。5.exeP27超市打折器的算法超市打折器的算法某超市为了提高经济效率、优惠顾客,展开购物打折活动,活动规则如下:1、购物金额大于等于500元,打8折;2、购物金额大于等于300元,小于500元,打9折;3、购物金额大于等于100元,小于300元,打9.5折;4、购物金额不足100的,不参与打折活动。请同学们根据超市管理层给出的活动规则,帮助超市设计一个打折器的算法,并编写出相应的执行程序。超市打折器的算法某超市为了提高经济效率、优惠顾客,展开购物28分支结构的算法设计课件29设计一个算法,能够判定某年是否为闰年。(判定闰年的条件是“年份能被4整除但是不能被100整除”或者“年份能被400整除”)算法设计一个算法,能够判定某年是否为闰年。(判定闰年的条件是“年30算法算法31
展开阅读全文