32算法与结构化程序设计方法 321算法 1算法的概念 数据结构( data structure是对数据的描述,在程序中要 指定数据的类型和数据的组织形式:算法( algorithm)是对 操作的描述,即操作步骤。实际上 个程序除了以上 两个主要要素之外,还应当用结构化程序设计方法进 行程序设计,并且用某一种计算机语言表示 程序一算法十数据结构十程序设计方法十语言工具和 环境 计算机的算法可分为两大类:数值运算算法和非数值 运算算法。数值运算算法主要用于解决数值计算问题, 如求方程的稂、求函数值、求定积分等。数值运算算法 以外的箬法均属于悲数值运算算法,如排序问题采用的 算法就是非数值运算算法
3.2 算法与结构化程序设计方法 3.2.1 算法 1 算法的概念 数据结构(data structure)是对数据的描述,在程序中要 指定数据的类型和数据的组织形式;算法(algorithm)是对 操作的描述,即操作步骤。实际上,一个程序除了以上 两个主要要素之外,还应当采用结构化程序设计方法进 行程序设计,并且用某一种计算机语言表示。 程序=算法十数据结构十程序设计方法十语言工具和 环境 计算机的算法可分为两大类:数值运算算法和非数值 运算算法。数值运算算法主要用于解决数值计算问题, 如求方程的根、求函数值、求定积分等。数值运算算法 以外的算法均属于非数值运算算法,如排序问题采用的 算法就是非数值运算算法
【例3-1】交换两个变量a、b的值。 对于交换两个变量a、b值问题,可以借助于临时变 量c,采用以下步骤实现: S1: c=a S1: c=b S2:a=b;或S2:b=a S3: S3: a=c 【例3-2】求1+2+3+.+10的和。 设两个变量S和i,分别用以存放部分和及整数1~10。 采取以下步骤实现目标: S1: S=0 S2:i=1 S3: S=S+i S4:i=i+1 S5:如果i不大于10,则返回重新执行步骤S3及其后 续的S4、S5。否则,算法到此结束,变量S中保存的就是 要求的和
【例3-1】 交换两个变量a、b的值。 对于交换两个变量a、b值问题,可以借助于临时变 量c,采用以下步骤实现: S1:c=a; S1:c=b; S2:a=b; 或 S2:b=a; S3:b=c; S3:a=c; 【例3-2】求1+2+3+…+10的和。 设两个变量S和i,分别用以存放部分和及整数l~10。 采取以下步骤实现目标: S1:S=0 S2:i=1 S3:S=S+i S4:i=i+l S5:如果i不大于10,则返回重新执行步骤S3及其后 续的S4、S5。否则,算法到此结束,变量S中保存的就是 要求的和
2算法的特性 (1)有穷性 个算法须包食有艰个操作步骤,且要在合理的时间 (2)确定性 算法中的每一个步骤都应当是确定的,而不应当是含糊 的、有歧义的 (3)有零个或多个输入 所谓输入是指在执行算法时需要从外界取得必要的信息。 (4)有一个或多个输出 算法的目的是为了求解,“解”就是输出。一个算法得 到的结果就是算法的输出。没有输出的算法是没有意义 (5)有效性 算法中的每一个步骤都应当能有效地执行,并得到确定 的结果
2 算法的特性 (1) 有穷性 一个算法必须包含有限个操作步骤,且要在合理的时间 范围内由计算机处理完成。 (2) 确定性 算法中的每一个步骤都应当是确定的,而不应当是含糊 的、有歧义的。 (3) 有零个或多个输入 所谓输入是指在执行算法时需要从外界取得必要的信息。 (4) 有一个或多个输出 算法的目的是为了求解,“解”就是输出。一个算法得 到的结果就是算法的输出。没有输出的算法是没有意义 的。 (5) 有效性 算法中的每一个步骤都应当能有效地执行,并得到确定 的结果
3算法的表示 算法的表示或者描述主要豇以用以下几种方法:自然 言、沉程图、N结构图和伪代码。其中最常用的方法 流程图和N-S结构图 (1)三种基本结构 )顺序结构:其中A和B两个框是顺序执行的(其结构 如图3-1)。 2)选择结构或称分支结构:根据给定的条件p是否成立 而选择执行A框或B框,A框和B框必有一个被执行(其结 构如图3-2)。 3)循环结构(又称重复结构),即重复执行某一部分 作的结构。循环结构分两种:当型循环结构和直到型 环结构。 ①当型循环结构:如图3-3(a)所示。 ②直到型循环结构:如图3-3(b)所示
3 算法的表示 算法的表示或者描述主要可以用以下几种方法:自然语 言、流程图、N-S结构图和伪代码。其中最常用的方法是 流程图和N-S结构图。 (1)三种基本结构 l)顺序结构:其中 A和 B两个框是顺序执行的(其结构 如图3-1)。 2)选择结构或称分支结构:根据给定的条件p是否成立 而选择执行A框或B框,A框和B框必有一个被执行(其结 构如图3-2)。 3)循环结构(又称重复结构),即重复执行某一部分 操作的结构。循环结构分两种:当型循环结构和直到型 循环结构。 ① 当型循环结构:如图3-3(a)所示。 ② 直到型循环结构:如图3-3(b)所示
A 真 假 图3-1顺序结构 图3-2选择结构 当P为真 A 直到为真 (a)当型循环 (b)直到型循环
A B 图3-1顺序结构 图3-2选择结构 (a)当型循环 (b)直到型循环