内容正文:
算法的概念及流程图
要点导引
课标梳理
教材重点 课标要求 学业质量水平
算法的概念 1.算法的概念、特征和要素
2.能从生活和学习中发现算法,理解算法的内涵和外延 2-1
算法的描述 1.能初步使用自然语言、流程图描述简单算法
2.了解算法描述的常见方式:伪代码和程序设计语言 2-1
2.算法的特征
(1)有穷性:一个算法的处理步骤必须是有限的。
(2)可行性:算法中的每一步操作与要求都应该是算法执行者(人或机器)可以实施的,同时在现实环境中能做到并且在有限的时间内完成。
(3)确定性:算法中对每个步骤的执行描述必须是明确的。
(4)0个或多个输入。
·若问题求解的所有数据是不变且已知的,则所需数据包含在算法中,不必输入(0个)。
·若一些初始数据需要在算法执行时临时获取,则要包含1个或多个输入。
(5)1个或多个输出:算法需要输出问题解决的结果,否则就是无意义的算法,所以至少需要1个输出。
典例1 下列关于算法的描述错误的是( )
A.算法包含0个或多个输出
B.一个算法的处理步骤必须是有限的
C.算法中对每个步骤的执行描述必须是明确的
D.算法中的每一步操作与要求都是现实中能在有限的时间内完成的
解析 输出至少要有1个。
A
3.算法的要素
·用计算机解决问题的本质是“数据运算”;各种运算的顺序不同,需要借助控制转移(分支、循环结构)来调控。
·算法的要素:数据、运算、控制转移。
①数据(范例:海伦公式计算三角形面积)
初始数据:三角形三边长a、b、c
中间数据(运算时产生):半周长p
结果数据(代表问题解决):三角形面积S
②运算:对数据进行运算时,必须明确每一步的运算是什么、对哪些数据进行运算等。
③控制转移:算法执行过程中,有时需要根据数据或运算结果的特点进行不同的处理,这时就需要运用控制转移来执行不同的操作。
2
算法的描述
■算法的描述:用能被算法执行者理解的形式呈现算法。
1.自然语言
(1)定义:人们在日常生活中交流使用的语言。
(2)优点:通俗易懂
(3)缺点:
①冗长,且容易出现歧义
②计算机无法直接执行
③需要语义解释和格式转换
(4)范例:海伦公式计算三角形面积
①输入三角形三边长a、b、c。
②通过三边长之和除以2,得到半周长p。
③半周长p乘3个“半周长和各边之差”,三角形面积S为乘积的算术平方根。
④输出三角形面积S。
2.流程图
(1)定义:用一些图形符号表示规定的操作,并用带箭头的流程线连接这些图形符号,表示操作进行方向。
(2)优点:结构清晰,寓意明确。
(3)缺点:
①计算机无法直接执行,需要语义解释和格式转换。
②分支增多时会出现流程线相互交叉,影响算法理解。
(4)常用的流程图基本图形及其功能
图形 名称 功能
开始/结束符 表示算法的开始或结束
输入/输出框 表示算法中数据的输入或
输出
处理框 表示算法中数据的运算处理
判断框 表示算法中的条件判断
流程线 表示算法中的流向
连接点 表示算法中的转接
(5)范例:海伦公式计算三角形面积
典例2 某算法的部分流程图如下图所示:
执行流程图后,变量sum、i的值分别是( )
A.14,5
B.17,4
C.31,4
D.14,4
解析 本题考查流程图。流程图执行过程如下
表所示:
A
i 0 1 2 3 4 5
s 36589 3658 365 36 3 0
sum 0 8 8 14 14
故sum的值为14,i的值为5,A正确。
3.计算机程序设计语言
(1)程序编写(代码编写):将算法用某种计算机程序设计语言来描述
(2)发展:机器语言 汇编语言 高级语言(0/1 助记符 接近自然语言的符号)
(3)范例:海伦公式计算三角形面积
4.伪代码
(1)特点:计算机程序设计语言和自然语言的结合。
(2)优点
①直观简洁
②紧凑简练
③便于进一步转化为相应的计算机程序
(3)范例:超速判断
If 速度不超过100 then
________(输出“正常”)
Else
________(输出“超速”)
典例3 下列关于算法表示方法的描述,正确的是( )
A.描述算法的方法只能是流程图
B.用一种程序语言来实现某个具体问题的算法只可能有一种
C.同一种算法只能用一种程序语言来实现
D.算法可以使用粤语来描述
解析 算法可以使用自然语言、伪代码、流程图、计算机程序设计语言等方式描述。所谓自然语言是指人们日常生活中交流使用的语言,粤语也是自然语言。同一个算法即使是使用同一种程序语言来实现,也可能有多种不同的描述方式。
D
典例4 关于算法及算法的表示,下列说法错误的是(