分支结构的算法设计课件_第1页
分支结构的算法设计课件_第2页
分支结构的算法设计课件_第3页
分支结构的算法设计课件_第4页
分支结构的算法设计课件_第5页
已阅读5页,还剩26页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

算法和程序设计第4课分支结构的算法设计•输入a开始输入bsuma+b输出sum结束输入a输入bSuma+b输出sum用流程图表示用伪代码表示用流程图和伪代码描述输入两个数输出它们的和的算法算法的执行流程顺序模式:Step1Step2如:输入一个数,输出这个数的平方输入n输出n2用伪代码表示输入n输出n2或:输入nan2输出a输出a输出b结束开始YN输入两个不同的数a,b2、用流程图来描述算法例求两不等数中大者的算法1、用自然语言描述算法:2、若a>b条件成立3、输出a的值,跳到54、否则(a<b)

输出b的值1、输入两个不同的数a,b算法开始5、退出a>b选择模式:(分为单分支与双分支两种)用伪代码表示if(条件)thenA框elseB框Endif双分支:单分支:用伪代码表示if(条件)thenA框Endif出门带伞问题:如果下雨,带伞后出门,否则直接出门。相对于单分支结构,在VB6.0中有2种相应的语句格式:格式1:If条件Then语句格式2:If条件Then语句组

EndIf细心的同学可能已经发现,这2种单分支语句格式不仅从占用的行数上看是不一样的,另外还有一个重要的区别在于,格式1的关键字Then后面只能写一条操作语句,格式2的关键字Then下面能够写多条操作语句(即语句组)。但是,格式1中可以省略“EndIf”行,而格式2中却必须写上该行,否则VB6.0系统会提示用户语法出错。

选择模式:条件step1ynstep2If(条件)thenstep1elsestep2Endif双分支选择:单分支选择:条件step1ynstep3step2If(条件)thenstep1Endif【练习1】打印出从键盘输入的两个不相等的数中较大的数。(双分支结构)

输入a,bIFa>bTHEN

输出aELSE

输出bENDIF算法一算法二:输入二个不相等的数a,b,将最大数赋值给变量max并输出。a>bmaxaynmaxb输出max输入a、b输入a,bIfa>bthenmaxaelsemaxbEndif输出max【练习2】求分段函数值

x2x>32x+1x<=3Y=输入xIFx>3THENy=x*xELSEy=2*x+1ENDIF输出y【练习3】输入一个数到变量a,输出它的绝对值(不用绝对值函数,要求用单分支和双分支结构分别设计算法,并画出流程图)【练习4】输入两个不相等的数a,b,比较大小,将大数放在a中,小数放在b中,然后输出a,b。(单分支结构)

【练习5】某超市促销苹果,购买一斤苹果,为每斤3元,购买5斤以下每斤原价;超过5斤部分每斤打8折,输入购买的斤数,输出应付款额。(双分支结构)

【练习6】求分段函数值

1

x>0

0x=0-1x<0Y=用伪代码描述:输入xif(x<0)theny=-1elseif(x=0)theny=0

elsey=1endifEndif输出y多选择(分支)结构(一)If<条件1>Then

<语句组1>

Elseif<条件2>Then

<语句组2>

Elseif<条件3>Then

<语句组3>

…………

Elseif<条件n>Then

<语句组n>

Else

<语句组n+1>

EndIf多选择(分支)结构(二)2、选择语句

SelectCase<表达式>

Case<值1>

<语句组1>

Case<值2>

<语句组2>

Case<值3>

<语句组3>

…………

Case<值n>

<语句组n>

CaseElse

<语句组n+1>

EndSelect【练习7】购买地铁车票:乘1-4站3元/位;5-9站4元/位;9站以上5元/位;输入人数person、站数n,输出应付款pay1、编一程序,从输入的三个数中找出并显示其中最大者。开始结束a>bny输入a,b,ca>c输出b输出cynny算法一输出a输出cb>c拓展练习题:输入三个不相等的数a,b,c,将最大数赋值给变量max并输出。算法二编一程序,从输入的三个数中找出并显示其中最大者。开始结束a>bny输入a,b,c算法三maxamaxbmaxcynC>max输出max2、判断一元二次方程ax2+bx+c=0(其中a≠0)是否有实数解的算法框图。(有,则输出“有实解”;无,则输出“无实解”)root.exeVB常用函数系统内部标准函数取整:Int(x)求余数:aModb求平方根:Sqr(x)绝对值:Abs(x)四舍五入:Round(x,n)其它...用伪代码表示输入a,b,cd=b*b-4*a*cIf(d<0)Then

输出"无实根“"ElseIf(d=0)Then

输出"x1=x2=";-b/2/aElsed=Sqr(d)

输出"x1=";(-b+d)/2/a

输出"x2=";(-b-d)/2/aEndIfEndIf3、设计一个一元二次方程求解的通用算法开始d<0输入

a,b,cdb2-4ac输出“无实根”d=0输出–b/2/a输出(-b+d)/2/a,(-b-d)/2/a结束yynn用流程图来描述dsqr(d)4、某手机话费套餐规定:每月60元,可通话300分钟,超过300分钟的部分,另按每分钟0.4元计算。键盘输入当月通话时间(分钟),计算当月实际需付的手机费。如果输入的通话时间小于0,则应输出“输入数据有误”的提示信息。

例5:判断一个一元二次方程是否有实数解的算法。5.exePrivateSubForm_Click()

DimaAsInteger,bAsInteger,cAsInteger,dAsInteger

a=InputBox("a="):b=InputBox("b="):c=InputBox(“c=")d=b*b-4*a*cIf(d>=0)ThenPrint“有实数解"Else

Print“无实数解"

EndIfEndSub超市打折器的算法

某超市为了提高经济效率、优惠顾客,展开购物打折活动,活动规则如下:

1、购物金额大于等于500元,打8折;

2、购物金额大于等于300元,小于500元,打9

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论