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: b=c S3:a=c 【例3-2】求1+2+3+.+10的和。 设两个变量S和i,分别用以存放部分和及整数|~10 米取以下步骤实现目标: S1:S=0 S2:i=1 S3: S=S+ S4: i=i+ S5:如果不大于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算法的表示 算法的表示或者描述主要可以用以下几种方法:自然语言 流程图、NS结构图和伪代码。其中最常用的方法是流程图和 NS结构图。 (1)三种基本结构 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 直到为真 (a)当型循环 (b)直到型循环
A B 图3-1顺序结构 图3-2选择结构 (a)当型循环 (b)直到型循环