版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
算法的三种基本逻辑结构在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向.例如在上一节课中,我们作过一个求三角形的面积的流程,其实那个流程是有问题的。因为当输入了a,b,c三个数值后,我们不知道它们是否可以组成三角形。所以应该先作一个判断,如果是三角形,则继续去计算面积;如果不是三角形,则输出错误信息。开始输入是否同时成立存在这样的三角形继续不存在这样的三角形是否结束(2)此结构中包含一个判断框,根据给定的条件P是否成立而选择执行A框或B框。无论P条件是否成立,只能执行A框或B框之一。(3)一个判断结构可以有多个判断框。(4)在许多算法中,需要对问题的条件作出逻辑判断,判断后依据条件是否成立而进行不同的处理方式,这就需要用条件结构来实现算法。例1.解一元二次方程ax2+bx+c=0.S1计算△=b2-4ac;S2如果△<0,则原方程无实数解;否则(△≥0),x1=,
x2=;S3输出x1,x2,或“无实数解”信息.△=b2-4ac输出x1,x2△≥0?YN输出“方程无实数解”输入a,b,c开始结束例2.设火车托运重量为P(kg)行李时,每千克的费用(单位:元)标准为画出行李托运费用的程序框图。解:先输入托运的重量P和里程D,再分别用各自的条件下的计算公式来计算处理。然后将结果与托运路程D相乘,最后输出托运行李的费用M。由此可见,在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向,这种先根据条件作出判断,再决定执行哪一种操作的结构就是条件分支结构,条件分支结构又称为条件结构。在A或B两个框中可以有一个是空的,即不执行任何操作,如图也是条件结构的一种.结束YN开始输入xx≥0?输出y
y=xy=-x循环结构在科学计算中,会遇到许多有规律的重复运算,例如人口预测。已经知道现有的人口总数是P,人口的年增长率是R,预测第T年后人口总数将是多少?问题的分析:(1)第一年后的人口总数是P+P×R=P(1+R);(2)第二年后的人口总数是P×(1+R)+P×(1+R)×R=P(1+R)2;……以此类推,得到第T年后的人口总数是P(1+R)T.这就是说,如果要计算第10年后的人口总数,乘(1+R)的运算要重复10次。如果一个计算过程,要重复一系列的计算步骤若干次,每次重复的计算步骤完全相同,则这种算法过程称为循环过程。循环过程非常适合计算机处理,因为计算机的运算速度非常快执行成千上万次的重复计算,只不过是一瞬间的事,且能保证每次的结果都正确。
根据指令条件决定是否重复执行一条或多条指令的控制结构称为循环结构。画出计算值的一个算法程序框图.开始输出s结束i≤10s=s+1/ii=i+1i=1s=0是否探究1.若将条件“i≥5”改为“i>5”,输出结果是什么?2.若将”i=i+1”与“S=S+i”交换,则输出结果是什么?若保持原结果不变,需要作什么修改?结束输出Si=1,S=0开始s=s+ii=i+1i≧5?否是思考3:还有一些循环结构用程序框图可以表示为:循环体满足条件?是否这种循环结构称为当型循环结构,你能指出当型循环结构的特征吗?在每次执行循环体前,对条件进行判断,如果条件满足,就执行循环体,否则终止循环.思考2:某些循环结构用程序框图可以表示为:循环体满足条件?是否
这种循环结构称为直到型循环结构,你能指出直到型循环结构的特征吗?在执行了一次循环体后,对条件进行判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环.
练习4.如图给出的是计算的值的一个程序框图,其中判断框内应填入的条件是()A. B. C. D.例4.已知n个正整数排成一行如下:a1,a2,a3,…,an-1,an,其中下脚码表示n个数的排列位置,这一行数满足条件:a1=1,a2=1,an=an-2+an-1(n≥3,n∈N),画出计算第n项的程序框图。分析:a1=1,a2=1,an=an-2+an-1,所以a3=2,a4=3,a5=5,……,ak=ak-2+ak-1,我们看到ak,ak-2,ak-1,都是k的函数,数值随k而变化。因此在框图中要引入三个变量,分别用C、A、B表示ak,ak-2,ak-1,且首先要输入正整数n(n≥3),以及给A和B分别输入数值1,1,然后循环计算。5.如图所示的程序框图中,语句“输出i”被执行的次数为()A.32B.33C.34 D.35课堂小结循环结构的流程图的画法NYNY1.画流程图时一定要清晰,用铅笔和直尺画,要养成有开始和结束的好习惯;2.画流程图时拿不准的时候可以先根据结构特点画出大致的流程,反过来再检查,比如:遇到判断框时,往往临界的范围或者条件不好确定,就先给出一个临界条件,画好大致流程,然后检查这个条件是否正确,再考虑是否取等号的问题,这时候也就可以有几种书写方法了;3.在输出结果时,如果有多个输出,一定要用流程线把所有的输出总结到一起,一起终结到结束框。变量P在计算机中由一个地址单元和一个存储单元组成,计算机工作时,先找到P的地址单元,用读写头读出存储单元的内容,将此内容送到运算器中,进行P+I的运算,再用读写头读出运算器的运算结果,将它送到P的地址单元,将运算结果写入存储单元,同时原先存储的内容被擦去,这样就完成了用P+I代替P的过程,这一过程也可以写成“P=P+I”.“P=P+I”怎样理解?课堂练习1.如果考生的成绩大于或等于60分,则输出“及格”,否则输出“不及格”,用流程图表示这一算法的过程。输入xx≥60YN开始结束输出“及格”输出“不及格”课堂练习2.下面的流程图表示了一个什么样的算法?输出bNYNYa>b且输入a,b,cb>c输出a输出c开始结束a>c所给流程图描述了求三个数a,b,c的最大数的算法。课堂练习3.下边的程序框图(如图所示),能判断任意输入的数x的奇偶性,其中判断框内的条件是()A.m=0B.x=0C.x=1D.m=14.选择结构不同于顺序结构的特征是含有()A.处理框B.判断框C.输入、输出框D.起、止框AB课堂练习5.设计计算13+33+53+…+993的算法程序,并画出相应的流程图。p=0i=1p=p+i3i=i+2i>99YN输出p算
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论