内容正文:
计算机解决问题的过程
一、 算法的概念
一、 算法的概念
一、 算法的概念
算法就是解决某个特定问题的方法和步骤的精确描述。
生活处处皆算法
一、 算法的概念
算法就是通过明确的、可执行的操作步骤来描述问题的求解方案,
且算法中的每一步都能被人或者其装置执行。
二、 算法的基本特征
斐波那契数列
数值为:1、1、2、3、5、8、13、21、34……
1、有穷性
一个算法的处理步骤必须是有限的
二、 算法的基本特征
非常可行
2、可行性
每一步操作与要求都是可以实施的,能做到,并能在有限时间内完成
绝对不行
二、 算法的基本特征
3、确定性(无二义性)
每个步骤的执行描述必须是明确的
1.乘坐高铁的路线规划:根据出发地和目的地,确定具体的高铁线路,以及换乘站点,规划的路线和换乘规则是明确的。
2.医院排队叫号系统:按照病人预约的号码顺序叫号,规则清晰确定,不会随意更改
3.取区间[0,10]的中点,符合确定性的要求
二、 算法的基本特征
4、0个或多个输入
5、1个或多个输出
特征 描述
可行性 算法中的每一步都可以通过已经实现的基本运算的有限次执行得以实现
确定性 算法的每一步操作 , 必须有确切的含义 ,不能有二义性和多义性
有穷性 一个算法必须在有穷步之后结束 , 即必须在有限时间内完成
输入 一个算法有零个或多个输入 , 以描述运算对象的初始情况
输出 一个算法有一个或多个输出 , 以反映对输入数据加工后的结果
二、 算法的基本特征
记忆: 出入可行 ,确定很穷
一个算法可以用多种不同的方法来描述。 一般用自然语言、 流程图、 伪代码描述。
(一) 自然语言
自然语言是人们日常所用的语言 , 如汉语、 英语、 德语等。 用自然语言描述算法符 合我们的表达习惯 , 并且容易理解。
缺点: 书写较繁、 不确定性、 对复杂的问题难以表达准确、 不能被计算机识别和执 行。 ·
三、 算法的描述
(二)流程图
流程图是由一些图框和流程线组成的 , 其中图框表示各种操作的类型 , 图框中的文 字和符号表示操作的内容 , 流程线表示操作的先后次序。 流程图也称为程序框图 , 它是 算法的一种图形化表示方法。
优点 :形象、 直观、 容易理解。
输入/输出框
处理框
判断框
流程线
开始/结束框
三、 算法的描述
(二)流程图
三、 算法的描述
图形 名称 功能
开始/结束框 表示算法的开始或结束
输入/输出框 表示算法中变量的输入或输出
处理框 表示算法中变量的计算与赋值
判断框 表示算法中的条件判断
流程线 表示算法中的流向
连接点 表示算法中的连接
三、 算法的描述
三、 算法的描述
三、 算法的描述
定义 伪代码是介于自然语言和计算机程
序语言之间的一种算法描述 举例:
IF 九点以前 THEN
do 私人事务;
ELSE 9点到18点 THEN
工作;
ELSE
下班;
END IF
优点 简洁、 易懂、 修改容易
缺点 不直观、 错误不容易排查
(三) 伪代码
三、 算法的描述
自然语言
流程图
伪代码
1、输入变量flag的值
2、若flag的值为1,则设置指示灯为绿色,输出“空车位”,否则设置指示灯为红色,输出“非空车位”
三、 算法的描述
四、 算法的基本控制结构
任何一个算法,都可以由若干个基本结构或其组合构成
构造一个具体算法的时候,只要遵守三种基本结构的规范就可以画出任何算法的流程图
顺序结构
特点:从上到下,按先后顺序依次执行。
选择结构
特点:也称为分支结构,根据给定的条件进行判断而做出选择的一种结构,
循环结构
特点:重复执行操作的控制结构
三大基本结构
四、 算法的基本控制结构
1.执行A
2.执行B
1.判断是否符合条件
2.如果符合,则执行A
3.否则,执行B
if 条件
A
else B
四、 算法的基本控制结构
在左边电饭煲煮饭流程图中,包含的重复执行的操作称为循环结构
四、 算法的基本控制结构
循环结构
直到型循环结构
当型循环结构
1.执行“循环体语句”
2.判断条件
1.判断条件
2.执行“循环体语句”
四、 算法的基本控制结构
循环体执行次数?
直到型循环结构至少执行 次
当型循环结构执行 次
正确性 正确性是评价一个算法优劣的最重要的标准(是否能正确解决问题)
可读性 可读性是指一个算法可供人们阅读的难易程度
健壮性 健壮性(容错性) 是指一个算法对不合理数据输入的反应能力和处理能力(在任何情况下都不发生崩溃)
时间复杂度 描述了该算法运行时间的多少 ,算法的时间复杂度越低,
算法的效率越高
空间复杂度 算法在计算机内执行时所需内存空间的大小
五、 算法的评价标准
课堂小结
1. 下列关于算法的叙述正确的是( )。
A. 算法就是计算方法
B. 算法可以被计算机直接执行
C. 算法就是指令代码
D. 算法就是解决问题的方法和步骤
1. 下列关于算法的叙述正确的是( )。
A. 算法就是计算方法
B. 算法可以被计算机直接执行
C. 算法就是指令代码
D. 算法就是解决问题的方法和步骤
1. 下列关于算法的叙述正确的是( )。
A. 算法就是计算方法
B. 算法可以被计算机直接执行
C. 算法就是指令代码
D. 算法就是解决问题的方法和步骤
D
第1步: S =0
第2步: 输入一个正整数A
第3步: S =S+A
第4步: 返回第2步
第5步: 输出累加值S
A. 确定性特征
B. 有穷性特征
C. 可行性特征
D. 无二义性特性
2. 某同学设计了一个算法 , 如表所示 , 该算法违背了( )。
第1步: S =0
第2步: 输入一个正整数A
第3步: S =S+A
第4步: 返回第2步
第5步: 输出累加值S
A. 确定性特征
B. 有穷性特征
C. 可行性特征
D. 无二义性特性
2. 某同学设计了一个算法 , 如表所示 , 该算法违背了( )。
B
3. 以下特性不是算法所必须具备的是( )。
A. 有穷性
B. 高效性
C. 可行性
D. 确定性
3. 以下特性不是算法所必须具备的是( )。
A. 有穷性
B. 高效性
C. 可行性
D. 确定性
B
4. 下列关于算法特征的描述正确的是( )。
A. 有穷性: 算法必须在有限步之内结束
B. 确定性: 算法的每一步必须有确切数据
C. 输入: 算法必须至少有一个输入
D. 输出: 算法必须至多有一个输出
4. 下列关于算法特征的描述正确的是( )。
A. 有穷性: 算法必须在有限步之内结束
B. 确定性: 算法的每一步必须有确切数据
C. 输入: 算法必须至少有一个输入
D. 输出: 算法必须至多有一个输出
A
5. 程序设计流程图中 ,斜四边形表示的算法功能是( )。
A. 开始 / 结束
B. 输入 / 输出
C. 条件判断
D. 赋值计算
5. 程序设计流程图中 ,斜四边形表示的算法功能是( )。
A. 开始 / 结束
B. 输入 / 输出
C. 条件判断
D. 赋值计算
B
6. 阅读下面的程序流程图 , 输出的 S 值是( )。
A. 14
B. 20
C. 30
D. 55
6. 阅读下面的程序流程图 , 输出的 S 值是( )。
A. 14
B. 20
C. 30
D. 55
C
A.求x的相反数
B.求x的绝对值
C.判断x的正负
D.判断x的奇偶
7.如图所示 , 流程图描述的程序功能是( )。
A.求x的相反数
B.求x的绝对值
C.判断x的正负
D.判断x的奇偶
7.如图所示 , 流程图描述的程序功能是( )。
B
8.分析如图所示的流程图 , 能实现的功能是( )。
A.输出1-100之间所有的数
B.输出1-100之间所有的偶数
C.输出1-100之间所有的奇数
D.输出1加到100的和
.
开始
结束
a=1
a<100
a能被2整除
a=a+1
输出a
是
是
否
否
8.分析如图所示的流程图 , 能实现的功能是( )。
A.输出1-100之间所有的数
B.输出1-100之间所有的偶数
C.输出1-100之间所有的奇数
D.输出1加到100的和
. B
开始
结束
a=1
a<100
a能被2整除
a=a+1
输出a
是
是
否
否
成功 =努力+方法+少说空话!
$