第二章算法华电信息管理教研室梁春燕E-mail:******@·沃斯(NiklausWirth)Algorithm+DateStructure=Programs算法+数据结构=程序算法(Algorithm)对操作的描述,解决问题的方法数据结构(DateStructure)对数据的描述,数据的组织形式程序(Programs)对算法的具体实现程序的效率不可能超过算法的限制算法是程序的灵魂3算法的概念广义地说,为解决一个问题采取的方法和步骤。如:菜谱、乐谱计算机算法分类数值算法求方程的根求函数的定积分非数值算法图书检索人事管理排序算法4算法举例简单算法举例:求5!闰年的判定方法(能被4不被100整除,或者能被100和400整除的年份)素数的判定方法S1:输入一个正整数nS2:i=2(作为除数)S3:n被i除,得余数rS4:如果r=0,则输出n不是素数,算法结束,否则执行S5S5:i+1赋予iS6:如果i<=,返回S3,否则输出n是素数,然后结束5算法的特性有穷性包含有限的步骤,在合理限度内可以完成确定性每一步必须明确,惟一性,非歧义性有零个或多个输入需要从外界获取必要的信息有一个或多个输出需要把求解结果进行输出,有意义有效性每一步都能有效地执行6算法的表示方法自然语言传统流程图改进的流程图N-S图(盒图)PAD图(问题分析图)伪代码7自然语言优点通俗易懂缺点文字冗长易出现歧义性8传统流程图优点:描绘直观,容易掌握缺点:对流程线没有严格控制七种基本流程图符号(P20)求最大公约数S1:输入m,nS2:如果m<n,则m,n交换S3:求m除以n的余数rS4:如果r不为0,则n赋给m,r赋给n,求m除以n的余数r,返回S4S5:如果r为0,则打印n,然后结束求素数?开始输入m,nm<n?m,n交换求m除以n的余数rr≠0打印nn赋给m,r赋给n,求m除以n的余数r结束YYNN9改进的流程图优点限制箭头滥用,保证算法质量构成结构化算法三种基本算法结构顺序结构选择结构(分支结构)循环结构(重复结构)当型循环(While型循环)直到型循环(Until型循环)10
高级语言程序设计(c)2算法ppt课件 来自淘豆网www.taodocs.com转载请标明出处.