(共18张PPT)
算法的概念
问题:沏一壶茶需要几个步骤
按照事先设计好的步骤,一步一步地执行,并在有限步内完成这项任务,这些步骤就称为完成该任务的一个算法。
第一步 洗刷水壶
第二步 烧水
第三步 洗刷茶具
第四步 沏茶
一群小兔一群小鸡,两群合到一群里,要数腿48,要数头17,多少小鸡多少小兔?
例1
解:
设有 x 只小鸡,y 只小兔,则有
(-2) ×①+② , 得
x=10只小鸡
高斯消去法
只小兔
1、算法的概念:
由基本运算及规定的运算顺序所构成的完整的解题步骤,或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤或序列能够解决一类问题。
写出求解一般的二元一次方程组的算法:
第一步:假定
(如果
则将 (1),(2)互换)
,得到
方程组可化为
第二步:如果
,解方程(4)得到
第三步:将(5)代入(3),整理得到
第四步:输出结果
如果
,方程组无解或有无穷组解。
令
通过求解过程,可以总结出算法步骤如下:
S1 计算
S2 如果 D≠0
输出原方程无解或有无穷多组解的信息;
否则 D=0
S3 输出计算的结果
练习:
写一个解一元二次方程ax2+bx+c=0(a≠0)的算法.
S3 输出解x1,x2或无实数解信息。
S1 计算△=b2-4ac;
S2 如果△<0,则原方程无实数解;
否则( △≥0),
练习:
写一个解一元二次方程ax2+bx+c=0(a≠0)的算法.
S3 输出解x1,x2或无实数解信息。
S1 计算△=b2-4ac;
S2 如果△<0,则原方程无实数解;
否则( △≥0),
①确定性 算法的每一个步骤必须是确切的,不能含混不清
②有穷性 算法必须在有穷步内结束
③有输出 有一个或多个输出
④可行性 每一步的运算和操作必须是相当基本的,它们原则上都是能精确地执行的
⑤通用性 一个算法适用于求某一类问题的解
2 、 算法的基本特征
例2 用自然语言写出对任意3个整数a、b、c,求出 其最大值的算法.
S3:将 c 与“最大值” 比较,如果c 大于“最大值”,
就假定c 是“最大值”;
S2:将 b 与“最大值” 比较,如果b 大于“最大值”,
就假定 b是“最大值”;
解:S1:将3个整数表示为a, b, c,先假定a 为“最大值”;
S4:输出这个“最大值”。
写出一个算法: 从一个有10000人的年龄序列表中找出一个最大值。
S1 先假定年龄表中10000个数据中的第一个数为“最大值”。
S2 将年龄表中的下一个数值与“最大值”比较,如果它大于此“最大值”,这时就假定“最大值”是这个数。
S3 继续比较其他数值,重复S2。
S4 在年龄序列表中一直到没有可比的数为止,这时假定的“最大值”就是这个年龄表中的“最大值”。
拓展练习:
S5 输出这个“最大值”。
1、算法的概念:由基本运算及规定的运算顺序所构成的完整的解题步骤,或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤或序列能够解决一类问题。
2、算法的特征
⑴ 能解决一类问题,能重复使用;
⑵ 确定的 可行的 有穷的 有输出结果
小结:
作业:
【1】写出鸡兔同笼问题的一个算法。
【2】设计一个用二分法求方程的近似根的算法.
谢谢!