内容正文:
3.2 算法及其描述
1
本节内容
算法
算法的特征
描述算法的常用方法
1
2
3
三种基本程序控制结构
4
3.2 算法及其描述
2
3.2 算法及其描述
3
算法是指在有限步骤内求解某一问题所使用的一组定义明确的规则。通俗地说,算法就是用计算机求解某一问题的方法,是能被机械地执行的动作或指令的有穷集合。
算法的概念
3.2 算法及其描述
4
一个算法所包含的计算步骤是有限的。
数据输入
点击此处添加
简要说明
一个算法必须有零个或多个数据输入,以刻画运算对象的初始情况。
一个算法有一个或多个数据输出,以反映输入数据加工后的结果,没有输出的算法无意义。
可行性
数据输出
确定性
有穷性
算法执行的每一个步骤必须有确切的定义,不能出现模棱两可的情况
算法中每个计算步骤都可以在有限时间内完成。
算法的特征
3.2 算法及其描述
5
1
自然语言
2
流程图
3
伪代码
描述算法的常用方法
3.2 算法及其描述
6
1
自然语言:
就是用人们日常所用的语言,如:汉语、英语等来描述算法。
1.将N的初始值赋为1;
2.如果N<700并且N除以3、5、7后余数都是1则
输出N,转到第4步;
3.将N的值加1,转到第2步;
4.结束程序。
3.2 算法及其描述
7
2
流程图:
是用程序框图描述算法的一种表示方法。
开始
N←1
N除以3、5、7后余数都为1(N<700)
N←N + 1
输出N值
结束
Y
N
3.2 算法及其描述
8
流程图中常用的符号及其功能:
流程图符号 名称 功能
开始/结束 表示算法的开始或结束
输入/输出 表示算法中变量的输入或输出数据
处理 表示算法中变量的计算与赋值
判断 表示算法中的条件判断
流程线 表示算法中的流向
连接点 表示算法中的转接
3.2 算法及其描述
9
3
伪代码:
就是用介于自然语言和计算机语言之间的文字和符号来描述算法。
For N ← 1 to 700
IF N%3==1 and N%5==1 and N%7==1
Print N
Else
N←N+1
3.2 算法及其描述
10
讨论交流:算法三种描述方法的优势和不足
算法描述的方法 优 势 不 足
自然语言表示法
流程图表示法
伪代码表示法
由于自然语言的歧义性,容易导致算法执行的不确定性。
用人们日常所用的语言,比较容易掌握。
清晰简洁
书写方便,格式紧凑,易于理解,便于向计算机程序设计语言过渡。
伪代码的语句不规范,有时会产生误解。
所占篇幅较大,由于允许使用流程线,过于灵活,不受约束。
3.2 算法及其描述
11
实践探究:用流程图描述下面问题的算法
在《几何原本》一书中,欧几里得阐述了关于求两个整数的最大公约数的过程,这就是著名的欧几里得算法——辗转相除法,其具体过程如下:设给定的两个正整数为m和n,求它们的最大公约数的步骤为:
①以m除以n,令所得的余数为R。
②若R=0,则输出结果n,算法结束;否则,继续步骤③。
③令m=n,n=R,并返回步骤①继续进行。
3.2 算法及其描述
12
3
伪代码:
就是用介于自然语言和计算机语言之间的文字和符号来描述算法。
For N ← 1 to 700
IF N%3==1 and N%5==1 and N%7==1
Print N
Else
N←N+1
3.2 算法及其描述
13
1
2
3
顺序结构
选择结构
循环结构
三种基本控制结构
3.2 算法及其描述
14
1
顺序结构
顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。
代码段1
代码段2
3.2 算法及其描述
15
2
选择结构
表示程序的处理步骤出现了分支,需要根据某一特定的条件选择其中的一个分支执行。
条件
代码段1
代码段2
True
False
3.2 算法及其描述
16
表示程序反复执行某个或某些操作,直到判断条件为假(或为真)时才可终止循环。
条件
代码段
False
True
循环结构
3
3.2 算法及其描述
17
拓展延伸
算法的评价标准是什么?
3.2 算法及其描述
18
Lavf57.62.100
$