清华大学出版社 TSINGHUA UNIVERSITY PRESS 例1:计算S=∑n,写出其算法 自然语言述:远握迹 M迹 代码还 1.0→S单元 开始 0→s 0→S 2.1→n单元 →n 0→s 1→n 3.S+n→S n≤100? ifn≤100 1→→n 4.n+1 s+n→S S+n→S s+n→s n+1=n 5判断n≤100? n+1→n 输出s的值 是,转3;否则转6 n+1→n print 6.输出S的值 n≤100T 输出S 结束 C程序设计(第三版) http://ccf.tsinghuaedu.cn
C程序设计(第三版) http://ccf.tsinghua.edu.cn 11
清华大学出版社 TSINGHUA UNIVERSITY PRESS §2.3结构化程序设计方法 结构化程序的三种基本结构 1966年提出三种基本结构,用这三种基本结构作为表示 种良好算法的基本单元:顺序、选择、循环 任何复杂的算法都是由这三种基本结构按一定规律组成 ①顺序结构 a=5 b=4 +b B 操作步骤按书写的顺序执行 ②选择结构 P if P A B C程序设计(第三版) http://ccf.tsinghuaedu.cn 12
C程序设计(第三版) http://ccf.tsinghua.edu.cn 12
2.1算法的概念 广义地说,为解决一个问题而采取的方法 和步骤,就称为“算法” 对同一个问题,可有不同的解题方法和步骤 例:求 72 方法1:1+2,+3,+4,一直加到100加9次 方法2:100+(1+99)+(2+98)++(49+51)+50 =100+49×100+50加51次 C程序设计(第三版) http://ccf.tsinghuaedu.cn 13
C程序设计(第三版) http://ccf.tsinghua.edu.cn 13 2.1 算法的概念 广义地说,为解决一个问题而采取的方法 和步骤,就称为“算法” 。 • 方法1:1+2,+3,+4,一直加到100 加99次 • 方法2:100+(1+99)+(2+98)+…+(49 +51)+50 = 100 + 49×100 +50 加51次 对同一个问题,可有不同的解题方法和步骤 例: 求 = 100 n 1 n
2.1算法的概念 算法正确,希望方法简单,运算步骤少。 计算机算法可分为两大类别 数值运算算法 非数值运算 C程序设计(第三版) http://ccf.tsinghuaedu.cn 14
C程序设计(第三版) http://ccf.tsinghua.edu.cn 14 2.1 算法的概念 算法正确,希望方法简单,运算步骤少。 计算机算法可分为两大类别: • 数值运算算法: • 非数值运算:
清华大学出版社 TSINGHUA UNIVERSITY PRESS 2.2简单算法举例 例21:求1×2×3×4×5 步骤1:先求1×2,得到结果2 步骤2:将步骤1得到的乘积2再乘以3,得到结果6 步骤3:将6再乘以4,得24 步骤4:将24再乘以5,得120 如果要求1×2x×1000,则要写999个步骤 太繁藏 C程序设计(第三版) http://ccf.tsinghuaedu.cn 15
C程序设计(第三版) http://ccf.tsinghua.edu.cn 15 2.2 简单算法举例 例2.1: 求1×2×3×4×5 步骤1:先求1×2,得到结果2 步骤2:将步骤1得到的乘积2再乘以3,得到结果6 步骤3:将6再乘以4,得24 步骤4:将24再乘以5,得120 如果要求1×2×…×1000,则要写999个步骤