人教高中数学必修三1.1.1算法的概念 课件(共29张PPT)

文档属性

名称 人教高中数学必修三1.1.1算法的概念 课件(共29张PPT)
格式 zip
文件大小 1.4MB
资源类型 教案
版本资源 人教新课标A版
科目 数学
更新时间 2020-05-30 12:06:06

图片预览

文档简介

(共29张PPT)
1.1.1
算法的概念
我国古代的计算工具
世界上第一台电子计算机
我国第一台电子计算机
算筹、算盘、计算机等从古到今的计算工具的基础都是“算法”.算法对我们而言并不陌生,其实我们从小学就开始接触算法,例如,做四则运算要先乘除后加减、从里往外去括号
、竖式笔算等都是算法,至于乘法口诀、珠算口诀更是算法的具体体现.
 
在现代社会里,计算机已经成为人们日常生活和工作不可缺少的工具.听音乐、看电影、玩游戏、画卡通画、处理数据…计算机几乎可以是一个全能的助手,你可以用它来做你想做的任何事情.那么,计算机是怎样工作呢?要想弄清楚这个问题,就需要学习算法.
第一步:把冰箱门打开
第二步:把大象放进去
第三步:把冰箱门带上
情境1:把大象放冰箱,共分几步
?
情境2:农夫过河问题
有一个农夫带三只狼和三只羚羊过河,只有一条船,
同船可以容纳一个人和两只动物。没有人在的时候,如果
狼的数量不少于羚羊的数量,狼就会吃掉羚羊。农夫应
该如何渡河?


第一步:人带两只狼过河,自己返回;
第二步:人带一只羊过河,并带两只狼返回;
第三步:人带两只羊过河,自己返回;
第四步:人带两只狼过河,自己返回;
第五步:人带一只狼过河
算法自然语言描述:
如何求解二元一次方程组?
回顾
归纳它的步骤:
第一步:
②-①×2,得
5y=3

思考?

我们做每件事情都需要设计出“行动步骤”.
上述步骤构成了解二元一次方程组的算法,我们可以进一步根据这一算法编制计算机程序,让计算机来解二元一次方程组.
1.算法的概念:
在数学中“算法”通常是指按照一定的规则来解决的某一类问题的明确和有限的步骤。
3.算法的基本思想与特征:
2.算法的表示方法:
自然语言、程序框图、程序语言
(1)解决某一类问题
(2)在有限步之内完成
(3)每一步都是明确的,有确定的结果和有效性
(4)每一步具有顺序
(5)解决问题的算法不唯一
(普遍性)
(有限性)
(确定性与可行性)
(有序性)
(不唯一性)
练习
判断下列关于算法的说法是否确:
1、求解某一类问题的算法是唯一的;
2、算法必须在有限步操作之后停止;
3、算法的每一步必须是明确的,不能有歧义或模糊;
4、算法执行后一定产生确定的结果.
练习
判断下列关于算法的说法是否确:
1、求解某一类问题的算法是唯一的;
2、算法必须在有限步操作之后停止;
3、算法的每一步必须是明确的,不能有歧义或模糊;
4、算法执行后一定产生确定的结果.
例题1
(2).设计一个算法,判断35是否为质数?
(1).设计一个算法,判断7是否为质数?
只能被1和自身整除的大于1的整数叫质数.
例题1
(1).设计一个算法,判断7是否为质数?
解:
算法分析:由质数的定义,可以这样判断:依次用2~6除7,
若它们中有一个能整除7,则7不是质数,否则7是质数.
根据以上分析,可以写出如下的算法:
第一步,用2除7,
∵余数不为0,
第二步,用3除7,
∵余数不为0,
得到余数1.
∴2不能整除7.
得到余数1.
∴3不能整除7.
第三步,用4除7,
∵余数不为0,
得到余数3.
∴4不能整除7.
第四步,用5除7,
∵余数不为0,
得到余数2.
∴5不能整除7.
第五步,用6除7,
∵余数不为0,
得到余数1.
∴6不能整除7.
故7是质数.
例题1
(2).设计一个算法,判断35是否为质数?
解:
根据以上分析,可以写出如下的算法:
第一步,用2除35,
∵余数不为0,
第二步,用3除35,
∵余数不为0,
得到余数1.
∴2不能整除35.
得到余数2.
∴3不能整除35.
第三步,用4除35,
∵余数不为0,
得到余数3.
∴4不能整除35.
第四步,用5除35,
∵余数为0,
得到余数0.
∴5能整除35.
故35不是质数.
探究:你能写出“判断整数n(n>2)是否为质数”的算法吗?
【算法分析】
对于任意的整数n(n>2),若用i表示2~(n-1)中的任意整数,则“判断n是否为质数”的算法包含下面的重复操作:
用i除n,得到余数r,判断余数r是否为0,
若为0,则n不是质数,否则将i
的值增加1,
再执行同样的操作,一直到i的值等于n-1为止.
写出“判断整数n(n>2)是否为质数”的算法。
解:
第一步:给定大于2的整数n;
第二步:令i=2;
第三步:用i除n,得到余数r;
第四步:判断“r=0”是否成立,若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示;
第五步,判断“i>n-1”是否成立,若成立,则n是质数,结束算法;否则,返回第三步.
写出“判断整数n(n>2)是否为质数”的算法。
分析:
1.二分法求方程近似解是通过求对应函数的近似零点得到的,所以首先要建立函数,而且要有具体精确度要求,因此第一步应该怎么做?
2.二分法分的是什么?
3.如何确定新区间的端点?
4.如何表达出反复二分区间的过程?
例2、用二分法设计一个求方程x2-2=0的近似解的算法(精确度为0.005).
什么是二分法?
对于区间[a,b
]上连续不断、且f(a)f(b)<0的函数y=f(x),通过不断地把函数f(x)的零点所在的区间一分为二,使区间的两个端点逐步逼近零点,进而得到零点近似值的方法叫做二分法.
f(x)=x2-2(x>0)
对于方程x2-2=0(x>0),给定d=0.005.
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
062
5
1.421
875
0.007
812
5
1.414
062
5
1.417
968
75
0.003
906
25
例2、用二分法设计一个求方程x2-2=0的近似根的算法(精确度为0.005).
第一步:令f(x)=x2-2,给定精确度d.
根据以上分析,可以写出如下的算法:
1、任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积。
算法步骤:
第一步:给定一个正实数
r.
第二步:计算以r为半径的圆的面积
.
第三步:得到圆的面积S.
P5练习
2、任意给定一个大于1的正整数n,设计一个算法求出n的所有因数。
算法步骤:
第一步:给定一个大于1的正整数n.
第二步:令i=1.
(i表示1~n中的任意整数).
第三步:用i除n,得到余数r.
第四步:判断“r=0”是否成立,若是,则i是n的因数;否则i不是n的因数.
第五步:将i的值增加1,仍用i表示.
第六步,判断“i
>
n”是否成立,若是,则结束算法;否则,返回第三步.
必修3
1.1.1
算法的概念
例3.
写出一个求整数a、b、c最大值的算法
解:
步骤一:
max=a
步骤二:
如果b>max,则max=b.
步骤三:
如果c>max,则max=c.
思考:你能写出一个求有限整数列中的最大值的算法吗?
思考:写出一个求有限整数列中的最大值的算法。
步骤一:
先假定序列中的第一个整数为“最大值”。
步骤二:将序列中的下一个整数值与“最大值”比较,
如果它大于此“最大值”,这时你就假定“最大值”
是这个整数。
步骤三:
如果序列中还有其他整数,重复步骤二。
步骤四:
在序列中一直到没有可比的数为止,
这时假定的“最大值”就是这个序列中的最大值.
解: