《算法初步教学》PPT课件.ppt
第一章 算法初步,程序框图与算法的基本逻辑结构,回答下列问题:,(1)123+100;,(2)123;,(3)123 2008,请设计一个算法,求满足条件的最小整数,开始,输入n=1,计算 的值,2008,输出n,Y,开始,输入n=2,计算 的值,2008,输出n,Y,用流程图表示,若1代入不满足不等式,则代入2验算,如右图,N,开始,输入n=1,计算 的值,2008,输出n,Y,开始,输入n,计算 的值,2008,Y,使n的值增加1,结束,输出n,结束,N,N,开始,输入n,计算 的值,2008,输出n,Y,使n的值增加1,输入输出框,结束,处理框,判断框,流程线,起止框,N,起止框,1.程序框图的概念 流程图也叫程序框图,是一种用程序框、流程线及文字说明来表示算法的图形。,一个流程图包括以下几部分:表示相应操作的程序框,框中的文字和符号表示操作内容;带箭头的流程线,表示操作的先后顺序;程序框外必要的文字说明。,2构成程序框的图形符号及其作用,起止框(圆角矩形),表示一个算法的起始和结束,是任何流程图不可少的。,输入、输出框,表示一个算法输入和输出的信息,可用在算法中任何需要输入、输出的位置。,处理框,赋值、计算,算法中处理数据需要的算式、公式等分别写在不同的用以处理数据的处理框内。,判断框(菱形),判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”。,算法分析:第一步:判断n是否等于2。若n=2,则n是质数;若n2,则执行第二步。,第二步:依次从2(n-1)检验是不是n的因数,即整除n的数,若有这样的数,则n不是质数;若没有这样的数,则n是质数。,例1、任意给定一个大于1的整数n,试设计出一个程序或步骤对n是否为质数做出判定,算法可以用自然语言来描述,但为了使算法的程序或步骤表达得更直观,我们更常用图形方式来表示它。,开始,输入n,d=2,d=d+1,dn1或r=0?,r=0,n是质数,n不是质数,结束,否,是,是,否,求n除以d的余数r,顺序结构,程序框图又称流程图,是一种规定的图形、指向线及文字说明来准确、直观地表示算法的图形。,流程图的三种基本逻辑结构:,条件结构,循环结构,顺序结构,输入n,i=2,p=(2+3+4)/2,s=SQR(p*(p2)*(p 3)*(p-4),输出s,结束,开始,(1)顺序结构的应用,例3、已知一个三角形的三边长分别为2,3,4,利用海伦-秦九韶公式设计一个算法,求出它的面积,画出它的程序框图。,输入a,b,c,条件结构,r=0?,n是质数,n不是质数,结束,是,否,条件结构,开始,输入a,b,c,a+bc,a+c b,b+c a是否同时成立?,存在这样的三角形,不存在这样的三角形,结束,否,是,(2)条件结构的应用,例4、任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在,画出程序框图。,循环结构,in1或r=0?,否,是,i=i+1,i除n得余数为r,循环结构,直到型循环结构,当型循环结构,开始,sum=0,i=i+1,sum=sum+i,i100?,输出sum,结束,否,是,(3)循环结构的应用,例5、设计一个计算1+2+3+100的值的算法,并画出程序框图。,i=1,开始,输入a,a 0,输出|a|=a,输出|a|=-a,结束,N,Y,INPUT“输入一个实数a=”;aIF a0 THEN PRINT“|”;a;“|=”;a ELSE PRINT“|”;a;“|=”;-aEND IFEND,求绝对值,1、设计一个求任意数的绝对值的算法,并画出程序框图。,算法步骤:第一步:输入任意一个实数a。第二步:判断输入的a是否大于0。若是,则直接输出a;若不是,则输出-a。,