内容正文:
第四章 算法初步
4.1 算法的含义
4.2 流程图
4.3 基本算法语句
1
4.1 算法的含义
分析法、实践法
教学方法
教学目标
1. 了解算法的含义, 体会算法思想.
2. 能用自然语言描述解决具体问题的算法.
教学重点
1. 了解算法的含义, 体会算法思想.
2. 能用自然语言描述解决具体问题的算法.
教学难点
能用自然语言描述解决具体问题的算法.
现有一种商品, 价格在0~4 000元之间, 采取怎样的策略才能在较短时间内猜出商品的正确价格呢?
解决这个问题有多种途径, 其中一种较好的方法是:
第一步 报 “2 000”;
第二步 若主持人说 “高了” (说明答数在0~2 000元之间), 就报 “1 000”; 若主持人说 “低了” (说明答数在2 000~4 000元之间), 就报“3 000”;
第三步 重复第二步的报数方法, 直至得到正确的结果.
4.1 算法的含义
阿尔·花拉子米(约780-850) 阿拉伯数学家、 天文学家, 《算法》与 《 代 数 学》 是他的代表作。 现代数学中 “算法”一词即来源于他的著作.
实例考察
以上过程实际上是按一种机械的程序进行的一系列操作.
一般而言, 对一类问题的机械的、 统一的求解方法称为算法. 同一项任务可以用不同的算法完成, 花费的时间可能不同。
一个算法的优劣可以综合复杂程度和执行这个算法耗费的时间等因素来衡量. 如果一个算法有缺陷, 或不适合某个问题, 执行这个算法就不能解决这个问题.
4.1 算法的含义
定义
—算法的定义
例1 写出1+2+3+4+5+6的一个算法.
4.1 算法的含义
例题解析
—算法举例
解
算法1 按照逐一相加的方法进行.
第一步 计算1+2, 得到3;
第二步 将第一步中的运算结果3与3相加, 得到6;
第三步 将第二步中的运算结果6与4相加, 得到10;
第四步 将第三步中的运算结果10与5相加, 得到15;
第五步 将第四步中的运算结果15与6相加, 得到21.
例1 写出1+2+3+4+5+6的一个算法.
4.1 算法的含义
例题解析
—算法举例
解
算法2 可以运用公式直接计算.
第一步 取;
第二步 计算;
第三步 输出结果.
4.1 算法的含义
例题解析
—算法举例
例2 写出求解方程组的一个算法.
①
②
{
解 我们用消元法求解这个方程组,步骤是:
第一步 方程①不动, 将方程②中x 的系数除以方程①中的x的系数,得到乘数 .
第二步 方程②减去 m 与方程①的乘积, 消去方程②中的x项,得到
第三步 将上面的方程组自下而上回代求解,得到
所以原方程组的解为
{
{
所谓找到了某种算法, 是指使用一系列运算规则能在有限步骤内求解某类问题,其中的每条规则必须是明确定义、 可以执行的.
算法从初始步骤开始,每一个步骤只能有一个确定的后继步骤, 从而组成一个步骤序列,序列的终止表示问题得到解答或指出问题没有答案.
我们所学过的许多数学公式都是算法、 加、 减、 乘、 除运算法则以及多项式的运算法则也是算法.
4.1 算法的含义
说明
—算法说明
4.1 算法的含义
知识巩固
—复习巩固
写出解方程的一个算法.
2. 写出求的一个算法.
3. 写出的一个算法.
4. 写出求解不等式组的一个算法.
5. 写出求解不等式 的一个算法.
{
4.2 流程图
模仿、操作、探究法
教学方法
教学目标
1. 理解一元一次不等式 (组).
2. 熟练运用不等式的性质解一元一次不等式与一元一次不等式组.
3. 通过对不等式性质与求解不等式的学习, 提高学生的计算技能.
教学重点
1. 设计程序框图表达求解问题的过程.
2. 三种基本逻辑结构.
教学难点
用程序框图清晰表达含有循环结构的算法.
图4—1表示一个算法的流程.
4.2 流程图
实例考察
—流程图的说明及功能
可以发现,实例考察中流程图就是算法的一种表示形式,它由一些图框和流程线组成的,其中图框表示各种操作的类型,图框中的文字和符号表示操作的内容,流程线表示操作的先后次序. 构成流程图的图形符号及其功能见下表.
4.2 流程图
—流程图的说明及功能
事实上,算法都可以由顺序结构、选择结构和循环结构这三块 “积木”通过组合和嵌套表达出来.流程图可以帮助我们更方便直观地表现这三种基本的算法结构 .
4.2 流程图
—流程图的说明及功能
4.2 流程图
—顺序结构
顺序结构——实例考察
我们首先来观察解一元一次方程 的算法:
S1 输入 ;
S2 计算并赋值 ;
S3 输出 的值 .
提示:这里的 S1 代表步骤 1 , S2 代 表步 骤 2 , 依 此 类推。 S 是step 的第一个字母。
从以上算法可以看出,通过依次执行 3 个步骤,完成了一元一次方程的求解 .像这种依次进行多个处理的结构称为顺序结构 .
如图 4 — 2 所示,虚线框内是一个顺序结构,其中 A 和 B 两个框是依次执行的 . 顺序结构是一种最简单、最基本的结构 .
4.2 流程图
—顺序结构
顺序结构——实例考察
A
B
图 4 — 2
例 1 已知两个单元分别存放了变量 a 和 b 的值,试设计交换这两个变量的值的一个算法,并画出流程图 .
4.2 流程图
—顺序结构
顺序结构——例题解析
解 为了交换两个变量的值,可以增加一个单元存放中间变量 c . 其算法是:
S1 c ← a ;{先将 a 的值赋给变量 c ,这时存放变量 a 的单元可作他用}
S2 a ← b ;{再将 b 的值赋给变量 a ,这时存放变量 b 的单元可作他用}
S3 b ← c . {最后将 c 的值赋给变量 b ,两个变量 a 和 b 完成了交换}
流程图如图 4 — 3 所示 .
4.2 流程图
—顺序结构
顺序结构——实例考察
c ← a
图 4 — 3
a ← b
开始
结束
b ← c
例 2 半径为 r 的圆的面积计算公式为:,当 时,写出计算圆面积的算法并画出流程图 .
4.2 流程图
—顺序结构
顺序结构——例题解析
解 算法如下:
S1 ;{将数值 8 赋给变量 r }
S2 ;{用公式计算圆的面积}
S3 输出 S . {输出圆的面积}
流程图如图 4 — 4 所示 .
图 4 — 4
开始
结束
输出S
1. 边长为 a 的正方形面积为 写出当 时的面积算法并画出流程图 .
4.2 流程图
—顺序结构
顺序结构——知识巩固1
2. 写出解方程组 的一个算法,并画出流程图 .
{
某商店卖西瓜,一个西瓜的重量若在4千克以下,则销售价格为1.2元/千克;若在4千克或4千克以上;则销售价格为1.4 元/千克,试写出计算西瓜价格的算法 .
4.2 流程图
—选择结构
选择结构——实例考察
解: 设一个西瓜的重量为x千克,西瓜的销售价格为y元,则得到两者函数关系为
{
开始
是
否
结束
输入x
输出 y
图 4 — 5
4.2 流程图
—选择结构
选择结构——实例考察
则算法如下:
S1 输入 x ;
S2 如果 ,那么计算 ,转到 S4 ,否则执行 S3 ;
S3 ;
S4 输出 y .
流程图如图 4 — 5 所示 .
在算法中,像这种先根据条件做出判断,再决定执行哪一种操作的结构称为选择结构 (或称为分支结构) . 如图 4 — 6 所示,虚线框内是一个选择结构,它包含一个判断框,当条件 p 成立(或为 “真”)时,执行 A ,否则执行 B .
4.2 流程图
—选择结构
选择结构——实例考察
A
图 4 — 6
B
p
是
否
例 设计求解一元二次方程 的一个算法,并画出流程图 .
4.2 流程图
—选择结构
选择结构——例题解析
解 因为一元二次方程未必总有实数根,所以求解时先计算判别式 ,然后比较判别式与 0 的大小,再决定下一步流程 .因此,在算法中要使用选择结构 .
算法如下:
S1 输入 a , b ,c ;
S2 ;
S3 如果 ,那么输出 “方程无实数根”,否则
, ;
S4 输出 x1 , x2 .
流程图如图 4 — 7 所示 .
4.2 流程图
—选择结构
选择结构——例题解析
图 4 — 7
开始
是
否
结束
输入a,b,c
输出 “方程无实数根”
输出 x1 , x2
1. 如果学生成绩大于或等于 60 分,那么输出 “及格”,否则输出 “不及格” . 用流程图表示这一算法 .
2. 写出解方程 为常数)的一个算法,并画出流程图 .
4.2 流程图
—选择结构
选择结构——知识巩固2
在学校的长跑测试中,你每跑一圈,会想是否跑完了全程 .如果没有跑完全程,那么又会想离终点还有多远 .
用怎样的算法结构表示这个过程?
4.2 流程图
—循环结构
循环结构——实例考察
解:
以万米长跑为例,我们分步描述这个过程:
S1 起跑;
S2 如果未跑到 10000 米,那么转 S3 ,否则转 S4 ;
S3 跑 1 圈 ( 400 米),转 S2 ;
S4 结束 .
上述算法可用图 4 — 8 来表示 .
解:
以万米长跑为例,我们分步描述这个过程:
S1 起跑;
S2 如果未跑到 10000 米,那么转 S3 ,否则转 S4 ;
S3 跑 1 圈 ( 400 米),转 S2 ;
S4 结束 .
上述算法可用图 4 — 8 来表示 .
4.2 流程图
—循环结构
开始
结束
是
否
开始
结束
是
否
图 4 — 8
在算法中,像这种需要重复执行同一操作的结构称为循环结构 .
图 4 — 9 是一种常见的循环结构:先判断所给条件 p 是否成立,若 p 成 立,则 执 行 A ,再判断条件 p 是否成立;若 p仍成立,则又执行 A ,如此反复,直到某一次条件 p 不成立时为止 . 这样的循环结构称为当型循环 .
4.2 流程图
—循环结构(当型循环)
循环结构——当型循环
图 4 — 9
A
p
是
否
上面这种循环结构称为直到型循环 (图 4 — 11 ):先执行 A ,再判断条件 p 是否成立,若 p 不成立,则再执行 ,如此反复,直到 p 成立,该循环过程结束 .
4.2 流程图
—循环结构(直到型循环)
循环结构——直到型循环
图 4 — 11
A
p
是
否
例 写出求 1×2×3×4×5 的一个算法,并画出流程图.
4.2 流程图
—循环结构
循环结构——例题解析
解 我们用变量T 存放乘积结果,变量I作为计数变量 .每循环一次,I 的值增加 1.
S1 T ←1 ;{将数值 1 赋给变量 T }
S2 I ←2 ;{将数值 2 赋给变量 I }
S3 如果 I ≤5,那么转 S 4 ,否则转 S 6 ; {当 I ≤5 时循环}
S4 T ← T × I ;{求 T × I ,其积仍存放变量 T 中}
S5 I ← I +1 ,转 S 3;
S6 输出 T .
流程图如图 4 — 12 所示 .
4.2 流程图
—循环结构
循环结构——例题解析
图 4 — 12
是
开始
否
结束
1. 设计一个计算 10 个数的平均数的算法,并画出流程图 .
2. 写出计算 的一个算法,并画出流程图 .
4.2 流程图
—循环结构
循环结构——知识巩固
参考 4.1 节实例考察,写出求方程在区间内一个近似解 (误差不超过 0.001 )的算法,并画出流程图。
实践活动
$$