版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章算法初步1.1.2程序框图与算法的基本逻辑结构判断“整数n(n>2)是否是质数”的算法自然语言描述第一步,给定大于2的整数n.第二步,令i=2.第三步,用i除n,得到余数r.第四步,判断“r=0”是否成立.若是,则n不是质数,结束算法;否则将i的值增加1,仍用i表示.第五步,判断“i>(n-1)”是否成立.若是,则n是质数,结束算法;否则返回第三步.从上节课我们知道:算法可以用自然语言来描述.如例开始输入ni=2求n除以i的余数ri的值增加1仍用i表示i>n-1或r=0?n不是质数结束是否是n是质数否r=0?设n是一个大于2的整数.一般用i=i+1表示.
i=i+1说明:i表示从2~(n-1)的所有正整数,用以判断例1步骤2是否终止,i是一个计数变量,有了这个变量,算法才能依次执行.逐步考察从2~(n-1)的所有正整数中是否有n的因数存在.思考?通过上述算法的两种不同表达方式的比较,你觉得用程序框图来表达算法有哪些特点?用程序框图表示的算法更加简练,直观,流向清楚.
程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形. 通常,程序框图由程序框和流程线组成.一个或几个程序框的组合表示算法中的一个步骤;流程线是方向箭头,按照算法进行的顺序将程序框连接起来.基本的程序框和它们各自表示的功能如下:图形符号名称功能终端框(起止框)表示一个算法的起始和结束输入、输出框表示一个算法输入和输出的信息处理框(执行框)判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不”成立时标明“否”或“N”.判断框赋值、计算流程线连接程序框连接点连接程序框图的两部分开始输入ni=2求n除以i的余数ri=i+1
i>n-1或r=0?n不是质数结束是否是n是质数否r=0?顺序结构用程序框图来表示算法,有三种不同的基本逻辑结构:条件结构循环结构 程序框图的三种基本的逻辑结构顺序结构条件结构循环结构(1)顺序结构-----是由若干个依次执行的处理步骤组成的.这是任何一个算法都离不开的基本结构.例1:已知一个三角形的三边边长分别为a,b,c,利用海伦-秦九韶公式设计一个计算三角形面积的算法,并画出算法的程序框图.算法分析:第一步:输入三角形的三边边长a,b,c,第二步:由海伦-秦九韶公式求出三角形的面积S.第三步:输出S的值.开始输出S结束输入a,b,c程序框图:(2)条件结构---在一个算法中,经常会遇到一些条件的判断,算法的流向根据条件是否成立有不同的流向.条件结构就是处理这种过程的结构.满足条件?是否步骤A步骤B满足条件?是否步骤A例2.任意给定3个正实数,设计一个算算法,判断以这3个正实数为为三条边边边长的三角角形是否存存在,并画出这个个算法的程程序框图.算法步骤如如下第一步:输入
的值第二步:判断,,是否同时成立.若是,则存在这样的三角形;否则,不存在这样的三角形.开始输入是否同时成立?存在这样的三角形结束不存在这样的三角形否是程序框图循环结构(3)循环结构---在一些算法法中,也经常会出出现从某处处开始,按照一定条条件,反复执行某某一步骤的的情况,这就是循环环结构.反复执行的步骤称为循环体.满足条件?否循环体是循环结构分分为两种------当型型和和直直到到型型.当型型循循环环在每每次次执执行行循循环环体体前前对对循循环环条条件件进进行行判判断断,当条条件件满满足足时时执执行行循循环环体体,不满满足足则则停停止止;(当条条件件满满足足时时反反复复执执行行循循环环体体)直到到型型循循环环在执执行行了了一一次次循循环环体体之之后后,对控控制制循循环环条条件件进进行行判判断断,当条件件不不满满足足时时执执行行循循环环体体,满足足则则停停止止.(反复复执执行行循循环环体体,直到到条条件件满满足足)是循环体满足条件?否Until(直到到型型)循循环环循环环结结构构分分为为两两种种------当型型和和直直到到型型.循环体满足条件?是否While(当型)循环注意意:循环环结结构构不不能能是是永永无无终终止止的的““死死循循环环””,一定定要要在在某某个个条条件件下下终终止止循循环环,这就就需需要要条条件件结结构构来来作作出出判判断断,因此此,循环环结结构构中中一一定定包包含含条条件件结结构构.例3某工工厂厂2005年的的年年生生产产总总值值为为200万,,技技术术革革新新以以后后每每年年的的年年生生产产总总值值比比上上一一年年增增长长5%。。设设计计一一个个程程序序框框图图,,输输出出预预计计年年生生产产总总值值超超过过300万元的最最早年份份。算法分析析:第一步,,输入2005年的年生生产总值值。第二步,,计算下下一年的的年生产产总值。。第三步,,判断所所得的结结果是否否大于300.若是,则则输出该该年的年年份;否否则,返返回第二二步由于“第第二步””是重复复操作的的步骤,,所以可可以用循循环结构构来实现现。我们们按照“确定循循环体””“初始始化变量量”“设设定循环环控制条条件”的顺序来来构造循循环结构构。(2)初始化化变量::若将2005年的年生生产总值值堪称计计算的起起始点,,则n的初始值值为2005,a的初始值值为200.(3)设定循循环控制制条件::当“年年生产总总值超过过300万元”时时终止循循环,所所以可通通过判断断“a>300”是否成立立来控制制循环。。(1)确定循循环体::设a为某年的的年生产产总值,,t为年生产产总值的的年增长长量,n为年份,,则循环环体为程序框图图:开始n=2005a=200t=0.05an=n+1a>300?是输出n结束否a=a+t在学习习上,,我们们要求求对实实际问问题能能用自自然语语言设设计一一个算算法,,再根根据算算法的的逻辑辑结构构画出出程序序框图图,同同时,,还要要能够够正确确阅读读、理理解程程序框框图所所描述述的算算法的的含义义,这这需要要我们们对程程序框框图的的画法法有进进一步步的理理解和和认识识.下面,,我们们根据据上节节课讲讲到的的用““二分分法””求方方程的近似似解的的算法法进行行设计计画出出程序序框图图该算法法中““第一一、二二和三三步””可以以用顺顺序结结构来表示示,这这个顺顺序结结构的的程序序框图图如图图f(x)=x2-2输入精确度d和初始值a,b该算法法中“第四四步””用条件件结构构来表表示??这个个步骤用程程序框框图表表示如如图f(a)f(m)<0?b=m是否a=m该算法法中““第五五步””包含含一个个条件件结构构,这这个条条件结结构构与““第三三步””““第四四步””构成成一个个循环环结构构.这个循循环结结构用用程序序框图图表示示如图图第三步第四步|a-b|<d或f(m)=0?输出m是否将各个个步骤骤的程程序框框图连连接起起来并并画出出开始始与结结束两两个终终端框框,就就得到到了整整个算算法的的程序序框图图f(x)=x2-2输入精确度d和初始值a,b开始f(a)f(m)<0?b=m是否a=m|a-b|<d或f(m)=0?输出m是否结束设计一一个算算法的的程序序框图图的基基本思思路::第二步步,确确定每每个算算法步步骤所所包含含的逻逻辑结结构,,并用相相应的的程序序框图图表示示.第一步步,用用自然然语言言表
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论