资源描述
单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑章标题样式,22:51:00,目标要求,课后作业,讲课提纲,讲课内容,第2章,算法设计基础,第2章算法设计基础,什么是算法,为解决某一应用问题而采用的,解题步骤,算法的描述方式,用自然语言描述算法,用流程图描述算法,用,N-S,结构图描述算法,例如:输出两个数中的最大数,用自然语言描述算法,第一步:输入,x,和,y,的值,第二步:比较,x,和,y,的值,如果,x,大于,y,,则输出,x,的值,否则输出,y,的值。,易于理解,但冗长,不够精确,难于描述复杂算法。,例如当描述“,输出10个数中最大数,”的算法时,会冗长、难于理解,用流程图描述算法,用流程图描述算法,N,Y,z=y,z=x,x y?,开始,输入x和y,结束,输出z,起止框,输入/输出框,判断框,处理框,流程线,用,N-S,结构图描述算法,输入x、y的值,xy,T F,z=x z=y,输出z的值,用N-S结构图描述的算法,已经证明,任何复杂的问题都可以三种基本算法结构来描述:,顺序、选择、循环。,因此用计算机语句描述的,程序也包含三种基本结构。,第2章算法设计基础,程序的三种基本结构,顺序结构程序:,按照书写顺序依次执行语句,选择结构程序:,按照条件判断选择执行语句,循环结构程序:,通过条件控制循环执行语句,三种基本结构的共同点:,都是只有一个入口和一个出口;,结构内的每一个框都有机会被执行;,结构内没有死循环。,第2章算法设计基础,如果一个程序仅包含这三种基本结构(由这些基本结构顺序组成),则称为,结构化程序,。,结构化程序设计的基本原则:,采用,自顶向下、逐步细化,的方法进行设计,采用,模块化原则和方法,进行设计,即将大型任务从上向下划分为多个功能模块,每个模块又可以划分为若干子模块,然后分别进行模块程序的编写。,每个模块都是用结构化程序实现,即都只能由三种基本结构组成,并通过计算机语言的结构化语句实现。,结构化程序设计的基本原则:,简单程序设计的步骤和一般方法,建模,(找解决问题的数学模型或公式),确定算法,(解决问题的步骤),编程,(用合适的程序设计语言编程实现),调试程序,(上机运行并寻找解决错误),例:求以,10,为半径(,r,)的圆的面积(,s,),第2章算法设计基础,描述已知,a,、,b,两数,将其值交换的算法思想,(即有两瓶液体将其互换),已知,a,,,b,,,c,三个数求最大值,(,设变量,a,、,b,、,c,为三个操作数,变量,max,为最大值,),第2章算法设计基础,编写一个,C,程序,已知某圆半径为,15,,求该圆周长。,设计一算法,求,11000,以内所有能被,3,整除的数的和。,第2章算法设计基础,
展开阅读全文