济南大学:《C语言程序设计》课程教学资源(PPT课件)第二章 算法

第二章算法 2.1算法的概念 ■2.2简单算法举例 2.3算法的特性 2.4算法的表示 2.5结构化程序设计方法
第二章 算法 ◼ 2.1 算法的概念 ◼ 2.2 简单算法举例 ◼ 2.3 算法的特性 ◼ 2.4 算法的表示 ◼ 2.5 结构化程序设计方法

2.1算法的概念 对操作的描述 程序=数据结构+算法 对数据的描述 算法分类:数值运算算法-用于求数值解 非数值运算算法---多用于管理领域
2.1 算法的概念 程序=数据结构+算法 对数据的描述 对操作的描述 算法分类:数值运算算法 ---- 用于求数值解 非数值运算算法 ---- 多用于管理领域

2.2简单算法举例 例:求两个数的和语言程序 算法1: #include 输出结果: stepl:给定两个数的值 void main( step2:做加法运算 i int x, y, z 2+3=5 step3:将结果保存 step4:输出结果 Xty; 算法2: printf(《z%dⅦn”,z); stepl:2→x,3→ printf(“od+%d=%dn y, z) step2: x+y(2+3) step3:5→Z step4:输出z
2.2 简单算法举例 算法1: step1:给定两个数的值 step2:做加法运算 step3:将结果保存 step4:输出结果 算法2: step1:2 → x ,3 → y step2:x+y (2+3) step3:5 → z step4:输出 z C语言程序 #include void main( ) { int x, y, z; x=2; y=3; z=x+y; printf(“z=%d\n”, z); printf(“%d+%d=%d\n”, x, y, z); } 输出结果: z=5 2+3=5 例:求两个数的和

2.3算法的特性 有穷性:一个算法包含有限的操作步骤 2.确定性:算法中的每一个步骤是确定的,含义是唯一的 3.有零个或多个输入 4.有一个或多个输出 5.有效性:算法中每一个步骤应能有效运行
2.3 算法的特性 1. 有穷性:一个算法包含有限的操作步骤 2. 确定性:算法中的每一个步骤是确定的,含义是唯一的 3. 有零个或多个输入 4. 有一个或多个输出 5. 有效性:算法中每一个步骤应能有效运行

2.4算法的表示 1.用自然语言表示 开始 优点是使用日常用语,通俗易懂 2→x 缺点是文字冗长,容易出现歧义 3>y 2.用流程图表示:用图框表示各种操作 X+y z 优点是直观形象,易于理解 输出z 结束
2.4 算法的表示 1. 用自然语言表示 优点是使用日常用语, 通俗易懂 缺点是文字冗长, 容易出现歧义 开始 2→x 3→y x+y→z 输出z 结束 2. 用流程图表示: 用图框表示各种操作 优点是直观形象, 易于理解

3.三种基本结构 ①顺序结构②选择结构 ③循环结构 while循环do- while循环 A 成立 不成立 A B A B 成立 不成立 成立 不成立 4.N-S流程图 AB 当P成立 成立 不成立 当P成立 B
3. 三种基本结构 ①顺序结构 ②选择结构 ③循环结构 A B P A B 成立 不成立 不成立 A P 成立 A P 成立 不成立 4. N-S流程图 A B A B 成立 不成立 P A 当P成立 当P成立 A while循环 do-while循环

例:输入10个数,找出其中最大的数,并输出。 step1:输入一个数,存放在一个变量max中; step2:设置用来累计比较次数的计数器i(也是一个变 量)1→i; step3:输入一个数,存放在另一个变量x中; step4:比较max和x中的数,若xmax,则将x的值送入max, 否则,max的值不变; step5:i增加1,即i1→i; step6:若i<9,则返回step3,继续执行, 否则输出max中的数,此时max中的数即为最大 数
例:输入10个数,找出其中最大的数,并输出。 step6: 若imax,则将x的值送入max

输入一个数→max #include 1: void main( →1 i int x, max, i; 输入x scanf(%od, &max); x>max? 是 do x→max { scanf(“%d”,&x); i+1→i if (x>max) 当i<9 max-x, 输出max i=i+1 while(i<9); printf(“max=%d”,max);
输入一个数 max 1 i 输入 x xmax? 是 否 x max i+1 i 当 i void main( ) { int x , max , i ; scanf(“%d”, &max); i=1; do { scanf(“%d”, &x); if (x>max) max=x; i=i+1; } while ( i<9) ; printf(“max=%d” , max) ; }

2.5结构化程序设计方法 需要解决的问题P 1、自顶向下 2、逐步细化 3、模块化设计 子问题pl 子问题p2 子问题p3 4、结构化编码 p12 31 032 033 设计 设计 设计设计设计设计 编码 编码 编码编码|编码编码
2.5 结构化程序设计方法 1、自顶向下 2、逐步细化 3、模块化设计 4、结构化编码 需要解决的问题P 子问题p1 子问题p2 子问题p3 p11 p12 p31 p32 p33 设计 设计 设计 设计 设计 设计 编码 编码 编码 编码 编码 编码

课后习题 习题二 24:(1)、(3)、(4)、(5)、(7)
课后习题 ◼ 习题二 ◼ 2.4:(1)、(3)、(4)、(5)、(7)
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 济南大学:《C语言程序设计》课程教学资源(PPT课件)第九章 宏定义.ppt
- 济南大学:《C语言程序设计》课程教学资源(PPT课件)第三章 数据类型、运算符与表达式.ppt
- 济南大学:《C语言程序设计》课程教学资源(PPT课件)第七章 数组.ppt
- 济南大学:《C语言程序设计》课程教学资源(PPT课件)第一章 概述(主讲:袁宁).ppt
- 《C语言程序设计》课程教学资源:作业题8-13.ppt
- 《C语言程序设计》课程教学资源:作业题6-7.ppt
- 《C语言程序设计》课程教学资源:习题解答(1-5).ppt
- 《C语言程序设计》课程教学资源:复习.doc
- 《C语言程序设计》课程教学资源:c授课计划2007.doc
- 《C语言程序设计》课程教学资源:实验 8.ppt
- 《C语言程序设计》课程教学资源:实验 7.ppt
- 《C语言程序设计》课程教学资源:实验 6.ppt
- 《C语言程序设计》课程教学资源:实验 6.ppt
- 《C语言程序设计》课程教学资源:实验 5.ppt
- 《C语言程序设计》课程教学资源:实验 3.ppt
- 《C语言程序设计》课程教学资源:实验 2.ppt
- 《C语言程序设计》课程教学资源:实验1 学习使用BC环境袁宁).ppt
- 《C语言程序设计》课程教学资源:课后习题答案.ppt
- 《C语言程序设计》课程教学资源:习题四答案.doc
- 《C语言程序设计》课程教学资源:习题二答案.doc
- 济南大学:《C语言程序设计》课程教学资源(PPT课件)第五章 分支结构.ppt
- 济南大学:《C语言程序设计》课程教学资源(PPT课件)第八章 函数.ppt
- 济南大学:《C语言程序设计》课程教学资源(PPT课件)第六章 循环结构.ppt
- 济南大学:《C语言程序设计》课程教学资源(PPT课件)第十一章 结构体.ppt
- 济南大学:《C语言程序设计》课程教学资源(PPT课件)第十三章 文件.ppt
- 济南大学:《C语言程序设计》课程教学资源(PPT课件)第十章 指针.ppt
- 济南大学:《C语言程序设计》课程教学资源(PPT课件)第四章 顺序结构.ppt
- 《C语言程序设计》课程教学资源:学期授课计划.doc
- 《C语言程序设计》课程教学资源:实验1 学习使用BC环境实验1.ppt
- 《C语言程序设计》课程教学资源:实验2.ppt
- 《C语言程序设计》课程教学资源:实验3.ppt
- 《C语言程序设计》课程教学资源:实验5.ppt
- 《C语言程序设计》课程教学资源:实验5.ppt
- 《C语言程序设计》课程教学资源:实验6.ppt
- 《C语言程序设计》课程教学资源:实验7.ppt
- 《C语言程序设计》课程教学资源:实验8.ppt
- 济南大学:《C语言程序设计》课程教学资源(PPT课件)第一章 C程序基础.ppt
- 济南大学:《C语言程序设计》课程教学资源(PPT课件)第三章 模块分解.ppt
- 济南大学:《C语言程序设计》课程教学资源(PPT课件)第二章 程序基本结构.ppt
- 济南大学:《C语言程序设计》课程教学资源(PPT课件)第五章 磁盘数据存储.ppt