华南农业大学:《C程序设计》第二章 程序的灵魂一算法

第二章程序的灵魂一算法 算法( Algorithm) 算法+数据结构=程序
第二章 程序的灵魂—算法 算法+数据结构=程序 算法(Algorithm)

示例程序 maino int a, b, cr scanf(“gd%d”&a,&b); c=ai a=bi printf((“a=%db=%d”rab);
main() { int a,b,c; scanf(“%d,%d”,&a,&b); c=a; a=b; b=c; printf(“a=%d,b=%d”,a,b); … } 示例程序一:

示例程序二 int max(int xint y) int zi if (x>y)z=X; else Z=yi return Zi
示例程序二: int max(int x,int y) { int z; if (x>y) z=x; else z=y; return z; }

算法的定义 算法〓操作+控制结构 算法是指程序的中心思想; 算法不是指数值计算; 算法是程序的灵魂
算法的定义 算法=操作+控制结构 算法是指程序的中心思想; 算法不是指数值计算; 算法是程序的灵魂;

2.2简单算法举例 求1*2*3*4*5**10 s1:使p=1 s2:使I=2 s3:使p*乘积仍放在变量p中p*->p s4:使工的值加1即I+1->I s5:如果I不大于10返回重新执行S3及其后 的步骤S4和S5;否则计算结東 s6:输出乘积的值p
2.2 简单算法举例 S1: 使p=1 S2: 使I=2 S3: 使p*I,乘积仍放在变量p中,p*I -> p S4: 使I的值加1,即I+1 -> I S5: 如果I不大于10,返回重新执行S3及其后 的步骤S4和S5;否则计算结束 S6: 输出乘积的值p 求1*2*3*4*5*…*10

例24 求1-1/2+1/3-1/4+.+1/99-1/100 S1: sign=1 S2: sum=1 ss: deno S4: sign =(-1)*sign S5: term=sign*(1/deno) S6: sum=+term S7: denosdeno+1 s8: if deno<=100返回S4香则输出sum并结束
例2.4 求1-1/2+1/3-1/4+…+1/99-1/100 S1: sign=1 S2: sum=1 S3: deno=2 S4: sign=(-1)*sign S5: term=sign*(1/deno) S6: sum=sum+term S7: deno=deno+1 S8: if deno<=100 返回S4;否则输出sum并结束

2.3算法的特性 有穷性,解题算法是一有穷动作序列 确定性每个步骤应当是确定的没有歧义 有零个或多个输入 有一个或多个输出 有效性
◼ 有穷性,解题算法是一有穷动作序列 ◼ 确定性,每个步骤应当是确定的,没有歧义 ◼ 有零个或多个输入 ◼ 有一个或多个输出 ◼ 有效性 2.3 算法的特性

24算法的表达方式 1,自然语言表示算法 2流程图表示; 3伪代码方式
2.4 算法的表达方式 1,自然语言表示算法; 2,流程图表示; 3,伪代码方式;

用流程图表示算法 1、流程图(p20) 用一些图框表示各种类型的操作,用线表示这 些操作的执行顺序。(图框举例如下图) 处理框 输入输出框 判断框
用流程图表示算法 1、流程图(p20) 用一些图框表示各种类型的操作,用线表示这 些操作的执行顺序。(图框举例如下图) 处理框 输入输出框 判断框

基本程序结构 传统的流程图的弊端? ※顺序结构(顺序执行) ※选择结构(比较判断) ※循环结构或称重复结构(反复执行)
基本程序结构 ※ 顺序结构(顺序执行) ※ 选择结构(比较判断) ※ 循环结构或称重复结构(反复执行) 传统的流程图的弊端?
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 华南农业大学:《C程序设计》第十一章 结构体与共用体.ppt
- 华南农业大学:《C程序设计》第十章 指针.ppt
- 《网页设计技术教程》第9章 创建站点和文档.ppt
- 《网页设计技术教程》第8章 Dreamweaver MX概述.ppt
- 《网页设计技术教程》第7章 设计站点.ppt
- 《网页设计技术教程》第6章 表单.ppt
- 《网页设计技术教程》第5章 网页特效的制作.ppt
- 《网页设计技术教程》第4章 图像、表格与框架.ppt
- 《网页设计技术教程》第3章 网页基本操作.ppt
- 《网页设计技术教程》第2章 FrontPage 2002概述.ppt
- 《网页设计技术教程》第20章 图像的优化.ppt
- 《网页设计技术教程》第1章 网站设计与网页.ppt
- 《网页设计技术教程》第19章 网页动画制作.ppt
- 《网页设计技术教程》第18章 图层、蒙版.ppt
- 《网页设计技术教程》第17章 Fireworks MX文档操作和.ppt
- 《网页设计技术教程》第16章 Fireworks MX简介.ppt
- 《网页设计技术教程》第15章 使用模板和库.ppt
- 《网页设计技术教程》第14章 插入媒体对象.ppt
- 《网页设计技术教程》第13章 框架和表单.ppt
- 《网页设计技术教程》第12章 层、时间轴和.ppt
- 华南农业大学:《C程序设计》第三章 C语言基础.ppt
- 华南农业大学:《C程序设计》第四章 最简单的C程序设计.ppt
- 华南农业大学:《C程序设计》第五章 选择结构程序设计.ppt
- 华南农业大学:《C程序设计》第六章 循环控制.ppt
- 华南农业大学:《C程序设计》第七章 数组的概念及应用.ppt
- 华南农业大学:《C程序设计》第八章 函数.ppt
- 华南农业大学:《C程序设计》第九章 预处理命令.ppt
- 华南农业大学:《C程序设计》第一章 C语言概述.ppt
- 《Mathematics for Computer》Lecture 13 induction1.pdf
- 《Mathematics for Computer》Lecture 11 Logic.pdf
- 《Mathematics for Computer》Lecture 12 proofs.pdf
- 《Mathematics for Computer》Lecture l4 induction 2.pdf
- 《Mathematics for Computer》Lecture15 induction 3.pdf
- 《Mathematics for Computer》Lecture 16 numtheory 1.pdf
- 《Mathematics for Computer》Lecture 17 numtheory2.pdf
- 《Mathematics for Computer》Lecture19 graphs 2.pdf
- 《Mathematics for Computer》Lecture l8 graphs1.pdf
- 《Mathematics for Computer》Lecture 12 recur2.pdf
- 《Mathematics for Computer》Lecture 10 sums 1.pdf
- 《Mathematics for Computer》counting 1.pdf