§1.1.2程序框图算法初步Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.
复习1、算法的概念2、算法的特点3、常见的几个例子4、判断一个正整数是否是质数的算法Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.
算法的概念算法是指解决给定问题的有穷操作步骤的描述,简单的说,算法就是解决问题的步骤和方法。Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.
算法的基本特点1、有穷性一个算法应包括有限的操作步骤,能在执行有穷的操作步骤之后结束。2、确定性算法的计算规则及相应的计算步骤必须是唯一确定的,既不能含糊其词,也不能有二义性。3、可行性算法中的每一个步骤都是可以在有限的时间内完成的基本操作,并能得到确定的结果。Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.
程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形。程序框名称功能终端框(起止框)表示一个算法的起始和结束输入、输出框表示算法的输入和输出的信息处理框(执行框)赋值、计算判断框判断一个条件是否成立,用“是”、“否”或“Y”、“N”标明Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.
判断一个正整数是否是质数的算法自然语言描述图形描述开始输入ni=2i>n-1或r=0?求n除以i的余数ri的值增加1,仍用i表示r=0?输出“n不是质数”输出“n是质数”结束是否是否S1:给定大于2的整数nS2:令i=2S3:用i除n,得到余数rS4:判断“r=0”是否成立。若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示。S5:判断“i>(n-1)”是否成立。若是,则n是质数,结束算法;否则,返回第三步。右图中的程序框图包含了哪些逻辑结构?顺序结构循环结构条件结构Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.
例1设计一算法:输入圆的半径,输出圆的面积,并画出流程图算法分析:第一步:输入圆的半径第二步:利用公式“圆的面积=圆周率×(半径的平方)”计算圆的面积;第三步:输出圆的面积。开始结束输入半径R计算S=Pi*R*R输出面积S定义Pi=3.14思考:整个程序框图有什么特点?Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.
例2已知一个三角形的三边长分别为2,3,4,利用海伦-秦九韶公式设计一个算法,求出它的p=(2+3+4)/2s=SQR(p*(p-2)*(p-3)*(p-4))输出s结束开始面积,画出算法的程序框图.海伦—秦九韶公式:已知三角形三边边长分别为a,b,c,则三角形的面积为:其中Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.
开始结束y=x2+x-2输出x,yx=3(1)阅读下面的程序框图,输出的结果是多少?练习巩固1(2)用程序框图描述算法:已知梯形两底边长分别为a、b,高为h,求梯形面积。Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.
条件结构:步骤A满足条件?步骤B是否满足条件?步骤A是否Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.
例3:设计求︱x︱的算法,并画出程序框图表示。算法分析:第二步:若x≥0,则︱x︱=x第三步:若x<0,则︱x︱=-xx≥0?是否开始输入x输出x输出-x结束第一步:输入x第四步:输出︱x︱的值Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.
例4任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在.画出这个算法的程序框图.开始输入a,b,ca+b>c,a+c>b,b+c>a是否同时成立?存在这样的三角形不存在这样的三角形结束否是Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.
练习巩固21 看下面的程序框图,分析算法的作用(1)开始结束输入xy=3*x*x+4*x+5输出y(2)开始结束输入a,ba