清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第2章_程序的灵魂(算法)

清华大学出版社 TSINGHUA UNIVERSITY PRESS 第二章 程序的灵魂一算法
第二章

清华大学出版社 TSINGHUA UNIVERSITY PRESS 本章要点 算法的概念 算法的表示 m结构化程序设计方法
⚫ 本章要点 ◼算法的概念 ◼算法的表示 ◼结构化程序设计方法

清华大学出版社 TSINGHUA UNIVERSITY PRESS ●主要内容 21算法的概念 22简单算法举例 23算法的特性 24怎样表示一个算法 25化程序设计方法
⚫ 主要内容 2.1 算法的概念 2.2 简单算法举例 2.3 算法的特性 2.4 怎样表示一个算法 2.5 化程序设计方法

清华大学出版社 TSINGHUA UNIVERSITY PRESS 个程序应包括两个方面的内容: ·对数据的描述:数据结构( data structure) ·对操作的描述:算法( algorithm 著名计算机科学家沃思提出一个公式 数据结构+算法=程序 完整的程序设计应该是: 教据结构十算法十程序设计方法十语言工具 C程序设计(第三版) http://ccf.tsinghua.edu.cn 4
C程序设计(第三版) http://ccf.tsinghua.edu.cn 4 一个程序应包括两个方面的内容: • 对数据的描述:数据结构(data structure) • 对操作的描述:算法(algorithm) 著名计算机科学家沃思提出一个公式: 数据结构+ 算法 = 程序 数据结构+算法+程序设计方法+语言工具 完整的程序设计应该是:

2.1算法的概念 广义地说,为解决一个问题而采取的方法 和步骤,就称为“算法” 对同一个问题,可有不同的解题方法和步骤 1O0 例:求 方法1:1+2,+3,+4,一直加到100加9次 方法2:100+(1+99)+(2+98)++(49+51)+50 =100+49×100+50加51次 C程序设计(第三版) http://ccf.tsinghua.edu.cn 5
C程序设计(第三版) http://ccf.tsinghua.edu.cn 5 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.tsinghua.edu.cn 6
C程序设计(第三版) http://ccf.tsinghua.edu.cn 6 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.tsinghua.edu.cn
C程序设计(第三版) http://ccf.tsinghua.edu.cn 7 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个步骤

清华大学出版社 TSINGHUA UNIVERSITY PRESS 可以设两个变量:一个变量代表被乘数, 个变量代表乘数。不另设变量存放乘积结 果,而直接将每一步骤的乘积放在被乘数 变量中。设p为被乘数,为乘数。用循环 算法来求结果,算法可改写 S1:使p=1 S2:使ⅰ2 S3:使p×i,乘积仍放在变量p中,可表示为:p×jp S4:使i的值加1,即计1i。 S5:如果i不大于5,返回重新执行步骤S3以及其后 的步骤S4和S5;否则,算法结束。最后得到p的值就 是5的值 C程序设计(第三版) http://ccf.tsinghua.edu.cn
C程序设计(第三版) http://ccf.tsinghua.edu.cn 8 S1:使p=1。 S2:使i=2 S3:使p×i,乘积仍放在变量p中,可表示为:p×ip S4:使i的值加1,即i+1i S5:如果i不大于5,返回重新执行步骤S3以及其后 的步骤S4和S5;否则,算法结束。最后得到p的值就 是5!的值。 可以设两个变量:一个变量代表被乘数,一 个变量代表乘数。不另设变量存放乘积结 果,而直接将每一步骤的乘积放在被乘数 变量中。设p为被乘数,i为乘数。用循环 算法来求结果, 算法可改写:

清华大学出版社 TSINGHUA UNIVERSITY PRESS 如果题目改为:求1×3×5×.×1000算 法只需作很少的改动 SI: 1 p 简憊 S2 S3: 3p 1 S4:i+2→p S5:若11,返回S3。否则,结束 C程序设计(第三版) http://ccf.tsinghua.edu.cn
C程序设计(第三版) http://ccf.tsinghua.edu.cn 9 S1:1→p S2:3 → i S3:p×i → p S4:i+2 → p S5:若i≤11,返回S3。否则,结束。 如果题目改为:求1×3×5×……×1000算 法只需作很少的改动:

清华大学出版社 TSINGHUA UNIVERSITY PRESS 用这种方法表示的算法具有通用性、灵 活性。S3到S5组成一个循环,在实现算 法时要反复多次执行S3,S4,S5等步骤 ,直到某一时刻,执行S5步骤时经过判 断,乘数记超过规定的数值而不返回S3 步骤为止。此时算法结束,变量p的值就 是所求结果。 C程序设计(第三版) http://ccf.tsinghua.edu.cn 10
C程序设计(第三版) http://ccf.tsinghua.edu.cn 10 用这种方法表示的算法具有通用性、灵 活性。S3到S5组成一个循环,在实现算 法时 要反复多次执行S3,S4,S5等步骤 ,直到某一时刻,执行S5步骤时经过判 断,乘数i已超过规定的数值而不返回S3 步骤为止。此时算法结束,变量p的值就 是所求结果
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第1章_C语言概述.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第14章_常见错误和程序调试.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第13章_文件.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第12章_位运算.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第11章_结构体与共用体.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第10章_指针.ppt
- 华中理工大学:《单片机原理与应用》课程电子教案(PPT课件讲稿)目录.ppt
- 华中理工大学:《单片机原理与应用》课程电子教案(PPT课件讲稿)第八章 微型计算机接口技术.ppt
- 华中理工大学:《单片机原理与应用》课程电子教案(PPT课件讲稿)第七章 I/O接口电路.ppt
- 华中理工大学:《单片机原理与应用》课程电子教案(PPT课件讲稿)第六章 输入/输出及中断系统.ppt
- 华中理工大学:《单片机原理与应用》课程电子教案(PPT课件讲稿)第五章 半导体存储器及其应用.ppt
- 华中理工大学:《单片机原理与应用》课程电子教案(PPT课件讲稿)第四章 汇编语言程序设计.ppt
- 华中理工大学:《单片机原理与应用》课程电子教案(PPT课件讲稿)第三章 计算机指令系统.ppt
- 华中理工大学:《单片机原理与应用》课程电子教案(PPT课件讲稿)第二章 微型计算机结构.ppt
- 华中理工大学:《单片机原理与应用》课程电子教案(PPT课件讲稿)第一章 计算机基础知识.ppt
- 西北工业大学:《计算机软件技术及应用基础》课程教学资源(PPT课件讲稿)项目开发过程.ppt
- 西北工业大学:《计算机软件技术及应用基础》课程教学资源(知识讲义)ASP编程.doc
- 西北工业大学:《计算机软件技术及应用基础》课程教学资源(知识讲义)图书馆信息管理系统.doc
- 西北工业大学:《计算机软件技术及应用基础》课程教学资源(知识讲义)ADO对象编程.doc
- 西北工业大学:《计算机软件技术及应用基础》课程教学资源(PPT课件讲稿)软件工程.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第3章_数据类型、运算符与表达式.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第4章_最简单的c程序设计.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第5章_选择结构程序设计.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第6章_循环控制.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第7章_数组.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第8章_函数.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第9章_预处理命令.ppt
- 东北电力大学:《C语言程序设计》WORD讲义.doc
- 东北电力大学:《C语言程序设计》C语言实验上机指导.doc
- 东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第10章 指针.ppt
- 东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第11章 结构体与共用体.ppt
- 东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第12章 位运算.ppt
- 东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第13章 文件.ppt
- 东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第1章 C语言概述.ppt
- 东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第2章 程序的灵魂-算法.ppt
- 东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第3章 数据类型、运算符与表达式.ppt
- 东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第4章 顺序结构程序设计.ppt
- 东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第5章 选择结构程序设计.ppt
- 东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第6章 循环结构程序设计.ppt
- 东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第7章 数组.ppt