算法的概念
教学目标
1、了解算法的含义
2、明确算法的特点
3、会用自然语言叙述简单问题的算法
把大象放进冰箱里需要几步?
第一步,把冰箱门打开
第二步,把大象装进去
第三步,把冰箱门关上
假设要喝一杯茶有以下几个步骤:
a.烧水 b.洗刷水壶
c.找茶叶 d.洗刷茶具
e.沏茶
请问你怎样安排?
算法的概念
×
算法:
在数学中算法通常指按照一定规则 解决某一类问题的明确和有限的步骤.
现在,算法通常可以编成计算机程序,让计算机执行并解决问题.
广义地说,算法就是做某一件事的步骤或程序。菜谱是做菜肴的算法,洗衣机的使用说明书是操作洗衣机的算法,
知识探究(一):算法的概念
思考1:在初中,对于解二元一次方程组你学过哪些方法?
加减消元法和代入消元法
思考2:解二元一次方程组
的具体步骤是什么?
?
解③,得 .
?
解④,得 .
第一步,
第二步,
第三步,
第四步,
第五步,
①
②
得到方程组的解为 .
思考3:参照上述思路,一般地,解方程
组 的基
本步骤是什么?
②
①
思考4:根据上述分析,你能归纳出算法的概念吗?
在数学中,按照一定规则解决某一类问题的明确和有限的步骤称为算法.
现在,算法通常可以编成计算机程序,让计算机执行并解决问题。
算法的特点:
算法的特点:
1.有序性:
2.明确性:每一步都应该是能有效执行且有确定的结果,而不应该是模棱两可的;
3.有限性:应能在有限步内解决问题.
4.可行性:有限时间内完成,得到明确的结果。
5.有输出:至少有一个输出,有问题求解的结果。
13
练习
判断下列关于算法的说法是否确:
1、求解某一类问题的算法是唯一的;
2、算法必须在有限步操作之后停止:
3、算法的每一步必须是明确的,不能有歧义或模糊:
4、算法执行后一定产生确定的结果:
思考5:有人对哥德巴赫猜想“任何大于4的偶数都能写成两个质数之和”设计了如下操作步骤:
第一步,检验6=3+3,
第二步,检验8=3+5,
第三步,检验10=5+5,
……
利用计算机无穷地进行下去!
请问:这是一个算法吗?
2021/1/6
15
例题1
(1)设计一个算法,判断7是否为质数
(2)设计一个算法,判断35是否为质数
第四步,用5除7,得到余数2,因为余数不为0 ,所以5不能整除7
知识探究(二):算法的步骤设计
思考1:设计一个算法,判断 7是否为质数。
第一步,用2除7,得到余数1,因为余数不为0,所 以2不能整除7.
第五步,用6除7,得到余数1,因为余数不为0,
所以6不能整除7.
第二步,用3除7,得到余数1,因为余数不为0,所以3不能整除7.
第三步,用4除7,得到余数3,因为余数不为0,所
以4不能整除7.
因此,7是质数.
思考2:
得到余数0,因为余数为0,
以5能整除35.
2
第四步,用5除7,得到余数2,因为余数不为0 ,所以5不能整除7
知识探究(二):算法的步骤设计
思考2:设计一个算法,判断 7是否为质数。
第一步,用2除7,得到余数1,因为余数不为0,所 以2不能整除7.
第五步,用6除7,得到余数1,因为余数不为0,
所以6不能整除7.
第二步,用3除7,得到余数2,因为余数不为0,所以3不能整除7.
第三步,用4除7,得到余数3,因为余数不为0,所
以4不能整除7.
因此,7是质数.
因此,35不是质数。
得到余数0,因为余数为0,
以5能整除35.
……
第八十七步,用88除89,得到余数1,因为余数不为0,所以88不能整除89.
因此,89是质数.
1
思考3:
?
?
?
第一步,
第四步,
第三步,
第二步,
算法设计:
?
?
?
?
?
?
在中央电视台幸运52节目中,有一个猜商品价格的环节,竟猜者如在规定的时间内大体猜出某种商品的价格,就可获得该件商品.现有一商品,价格在0~2000元之间,采取怎样的策略才能在较短的时间内说出正确(大体上)的答案呢?
第一步:报“1000”;
第二步:若主持人说高了(说明答案在0~1000之间),就报“500”,否则(答案在1000~2000之间)报“1500”;
第三步:重复第二步的报数方法取中间数,直至得到正确结果.
第二步,确定区间[a,b],满足f(a)·f(b)<0.
第五步,判断[a,b]的长度是否小于d或f(m)是否等 于0. 若是,则m是方程的近似解;否则,返回第三步.
第三步,取区间中点 .
第四步,若f(a)·f(m)<0,则含零点的区间为[a,m],否则,含零点的区间为[m,b].
将新得到的含零点的区间仍记为[a,b];
第一步,令 ,
例2.写出用“二分法”求方程
的一个近似解的算法.
给定精确度d.
a
b
|a-b|
1
2
1
1
1.5
0.5
1.25
1.5
0.25
1.375
1.5
0.125
1.375
1.437 5
0.062 5
1.406 25
1.437 5
0.031 25
1.406 25
1.421 875
0.015 625
1.414 625
1.421 875
0.007 812 5
1.414 062 5
1.417 968 75
0.003 906 25
对于方程 ,给定d=0.005.
1.任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积.
第一步:输入任意一个正实数r;
第二步:计算圆的面积: S=πr2;
第三步:输出圆的面积S.
练习
2.任意给定一个大于1 的正整数n,设计一个算法求出n的所有因数.
答案1:第一步:依次以2~(n-1)为除数去除n,检查余数是否为0,若是,则是n的因数;若不是,则不是n的因数.
第二步:在n的因数中加入1和n.
第三步:输出n的所有因数.
答案2:第一步:给定大于1的整数n
第二步:令i=1
第三步:用i除n,得余数r
第四步:判断“ r=0” 是否成立,若是,则i是n的因数,输出i,
第五步:将i的值增加1,仍用i表示.
第六步:判断“i>n结束算法,否则返回第三步.
巩固概念
×
3、写出求一元二次方程
ax2+bx+c=0 的根的算法.
第一步,计算Δ=b2-4ac.
第二步,如果Δ<0,则原方程无实数解 ;否则(Δ≥0)时,
第三步:输出x1, x2或无实数解的信息.
4.下面的四种叙述不能称为算法的是( )
(A)广播的广播操图解
(B)歌曲的歌谱
(C)做饭用米
(D)做米饭需要刷锅、淘米、添水、加热这些步骤
练习题
C
5.下列关于算法的说法正确的是( )
(A)某算法可以无止境地运算下去
(B)一个问题的算法步骤可以是可逆的
(C)完成一件事情的算法有且只有一种
(D)设计算法要本着简单、方便、可操作的原则
D
6.下列关于算法的说法中,正确的是( ).
A. 算法就是某个问题的解题过程
B. 算法执行后可以不产生确定的结果
C. 解决某类问题的算法不是惟一的
D. 算法可以无限地操作下去不停止
C
7.下列运算中不属于我们所讨论算法范畴的是( ).
A. 已知圆的半径求圆的面积
B. 从一副扑克牌随意抽取3张扑克牌抽到24点的可能性
C. 已知坐标平面内的两点求直线的方程
D. 加减乘除运算法则
B
9.写出求1+2+3+…+100的一个算法.可以运用公式1+2+3+…+n=
直接计算.
第一步 ① ;
第二步 ② ;
第三步 输出运算结果.
①取n=100
②计算
1.已知一个学生的语文成绩为89,数学成绩为96,外语成绩为99,求他的总分和平均成绩的一个算法为:
第一步 取A=89,B=96,C=99;
第二步 ① ;
第三步 ② ;
第四步 输出D,E.
①计算总分D=A+B+C
②计算平均成绩E=
小结:
1、算法的概念
2、算法的特点
3、判断一个数是否为质数的算法
4、“二分法”求一元二次方程近似解的算法