算法与程序框图的基本结构

来源 :高中生学习·高二文综版 | 被引量 : 0次 | 上传用户:zibu365H356
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  算法与程序框图的三种基本结构的共同点:(1)只有一个入口;(2)只有一个出口,请注意一个判断框有两个出口,而一个条件结构只有一个出口,不要将判断框的出口和条件结构的出口混为一谈;(3)结构内的每一部分都有机会被执行到,也就是说每一个框都应该有从入口到出口的路径通过它;(4)结构内的循环都不存在死循环. 上述共同点是检查一个程序框图或算法是否正确、合理的基本方法.
  1.经典算法类
  例1 一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量就会吃羚羊.该人如何将动物转移过河?请设计算法.
  解析 任何动物同船不用考虑动物的争斗但需考虑承载的数量,还应考虑到两岸的动物都得保证狼的数量要小于羚羊的数量,故在算法的构造过程中尽可能保证船里面有狼,这样才能使得两岸的羚羊数量占到优势,具体算法如下:
  第一步,人带两只狼过河,自己返回.
  第二步,人带一只狼过河,自己返回.
  第三步,人带两只羚羊过河,并带两只狼返回.
  第四步,人带一只羊过河,自己返回.
  第五步,人带两只狼过河.
  点拨 算法是解决某一类问题的精确描述,有些问题使用形式化、程序化的刻画是最恰当的.这就要求我们在写算法时应精练、清晰地表达,要善于分析任何可能出现的情况,体现出思维的严密性和完整性.
  2.顺序结构类
  例2 画出从5个不同的数中找出最大数的算法的程序框图.
  解析 记这五个数是[a1,a2,a3,a4,a5,]框图如下.
  点拨 (1)各步中的[b]可能在每一步中都不变,也可能在每一步中都变,但最后输出的[b]是这5个不同的数中最大的数.(2)设计算法的目的是将它作为指令交给计算机去完成,当解决一类问题的算法一旦确定,那么它的执行顺序也就确定了.因而,各步只能一步接一步地执行,不能跳跃,也不能交换.
  3.条件结构类
  例3 设计算法判断一元二次方程[ax2+bx+][c=0]是否有实数根,并画出相应的程序框图.
  解析 算法步骤:
  第一步,输入一元二次方程的系数:[a,b,c].
  第二步,计算△[=b2-4ac]的值.
  第三步,判断△≥0是否成立. 若成立,输出“方程有实根”;否则输出“方程无实根”.
  结束算法.
  程序框图:
  点拨 根据一元二次方程的意义,需要计算判别式△[=b2-4ac]的值.再分成两种情况处理:(1)当△≥0时,一元二次方程有实数根;(2)当△<0时,一元二次方程无实数根.该问题实际上是一个分类讨论问题,根据一元二次方程系数的不同情况,最后结果就不同.因而当给出一个一元二次方程时,必须先确定判别式的值,然后再用判别式的值的取值情况确定方程是否有解.该例仅用顺序结构是办不到的,要对判别式的值进行判断,需要用到条件结构.
  例4 设计算法,求[ax+b=0]的解,并画出程序框图.
  解析 对于方程[ax+b=0],应该分情况讨论方程的解. 对一次项系数[a]和常数项[b]的取值情况进行分类,分类如下:
  (1)当[a≠0]时,方程有惟一的实数解[-ba];
  (2)当[a=0,b=0]时,方程的解为全体实数;
  (3)当[a=0,b≠0]时,方程无解.
  联想数学中的分类讨论的处理方式,可得如下算法步骤:
  第一步,判断[a]是否不为零.若成立,输出结果“解为[-ba]”.
  第二步,判断[a=0,b=0]是否同时成立.若成立,输出结果“解集为R”.
  第三步,判断[a=0,b≠0]是否同时成立.若成立,输出结果“方程无解”.
  点拨 条件结构嵌套与条件结构叠加的区别是:(1)条件结构叠加,程序执行时需依次对“条件1”“条件2”“条件3”……进行判断,只有遇到能满足的条件才执行该条件对应的操作.(2)条件结构嵌套所涉及的“条件2”“条件3”……是在前面所有条件依次一个一个的满足“分支条件成立”的情况下才能执行此操作,是多个条件同时成立的叠加和复合.
  4.循环结构类
  例5 设计一个算法,求1+2+4+…+249的值,并画出程序框图.
  解析 算法步骤:
  第一步,[sum=0].
  第二步,[i=0].
  第三步,[sum=sum+2i].
  第四步,[i=i+1].
  第五步:判断[i]是否大于49,若成立,则输出[sum],结束;否则返回第三步重新执行.
  程序框图:
  点拨 如果算法涉及的运算进行了多次重复的操作,且先后参与运算的数之间有相同的规律,就可引入变量循环参与运算(我们称之为循环变量),应用于循环结构.在循环结构中,要注意根据条件设计合理的计数变量、累加和累乘变量及其个数等,特别要求条件的表述要恰当、精确.累加变量的初始值一般取0,而累乘变量的初始值一般取1.
  1.在画程序框图时,如果一个框图要分开画,要在断开处画上( )
  A.流程线 B.注释框
  C.判断框 D.连接点
  2.下图给出的是计算[12+14+16+???+1100]的值的一个程序框图,其中判断框内应填入的条件是( )
  A.[i]>100 B.[i]<=100
  C.[i]>50 D.[i]<=50
  3.设[y]为年份,按照历法的规定,如果[y]为闰年,那么或者[y]能被4整除不能被100整除,或者[y]能被400整除. 对于给定的年份[y],要确定索是否为闰年,如何设计算法,画出其流程图.
  4.若有A、B、C三个不同大小的数字,你能设计一个算法,找出其中的最大值吗?试给出解决问题的一种算法,并画出流程图.
  4.应该先两两比较,算法和流程图如下:
  [S1]输入[A,B,C];
  [S2]如果[A>B],那么转[S3],否则转[S4];
  [S3]如果[A>C],那么输出[A],转[S5],否则输出[C],转[S5];
  [S4]如果[B>C],那么输出[B],转[S5],否则输出[C];
  [S5]结束.
其他文献
小时候,随妈妈住在一个乡村小学里。那是一座四合院,从地主的手里没收过来的。我们家住在一间10平方米左右的房里。房间有一扇不大的窗户,木头的,由无数的小格子组成,窗外有一小块空
2008年6月18日,武钢股份公司炼铁总厂正式挂牌成立了。这标志着由原烧结厂和炼铁厂整合而成立的、适应公司战略发展规划和可持续发展要求的炼铁总厂,将以崭新的面貌开始新的
面对迅速蔓延的艾滋病,科学家不仅要树立战胜它的信心,而且要按照科学探索的一般规律去做扎实的研究。 Faced with the rapid spread of AIDS, scientists must not only es
我吵着嚷着让妈妈带我进城那一天,不满六岁的我,早早地起床了……妈妈在很久以前就说要给哥哥买一个保温盒。十岁的哥哥在离家七、八里路的联校读书,每天回家很迟,常常说肚子疼,妈
自血光量子疗法(紫外线照射充氧自血回输疗法Ultravioletbloodirradiationandoxygenation,UBIO)就是将患者一定量的外周血在体外抗凝,经紫外线照射和充氧后再回输给病人,以达到治
西宁市、各自治州人民政府,海东行署,省政府各委、办、厅、局:省卫生厅制定的《青海省结核病防治规划(2001—2010年)》已经省政府同意。现转发给你们,请认真贯彻执行。 Xin
本月我的运动方案——和宝宝一起爬、爬、爬小桌板成肘撑:屈膝俯撑于运动垫上,双腿分开与髋同宽,双手分开垂直于肩,下巴微收,感觉头部与尾椎骨在同一直线上,并向两个方向延长
本文从历史人才学的角度对先秦人才蒙耻受辱的原因及对策作了较为深入的探究。就人才受辱而言,有君主的残暴昏庸,有奸邪的妒嫉谗毁,有无知的轻薄狂妄,有社会的趋炎附势,也有
一李泽厚思想的一大特色,就是杂。不仅领域杂——从美学到哲学到思想史;不仅观念杂——从工具本体到情感本体到历史本体;而且资源杂——从孔子到康德到马克思到海德格尔。他
近年来,青浦县按照对外开放,向高层次、宽领域、纵深化方向发展的要求,大力发展三资企业,使三资企业在全县经济生活中越来越显示其独特的地位和作用。本文就此发表一点浅见