2-1-算法的基本思想(北师大版)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、往壶内注水; 2、点火加热; 3、观察:如果水开,则停止烧火,否则继续烧火; 4、如果水未开,重复过程 “3”,直至水开.
小结: 1、其实大部分事情都是按照一定的程序执行的,因此 要理清事情的每一步. 2、判断水是否烧开与是否继续烧火的过程是一个反馈 与判断的过程,因此有必要不断重复过程“3”.
算法不同于求解一个具体问题的方法,是这种方法 的高度概括.一个好的算法有如下要求:
1、写出的算法,必须能解决一类问题(如一元二次方 程求根公式),并且能重复使用.
2、算法过程要能一步一步执行,每步执行的操作,必 须确切,不能含混不清,而且在有限步能得出结果. 3、算法要简洁,要清晰可读,不能繁杂,易程序化.
算法的特征
有穷性:一个算法应包含有限的操作步骤而不应是无限的; 确定性:算法中每一个步骤应当是确定的,而不应当是含 糊的、模棱两可的; 输入:有零个或多个输入; 输出:有一个或多个输出;
有效性:算法中每一个步骤应当能有效地执行,并得到确 定的结果.
一个人带三只狼和三只羚羊过河,只有一条船,船可以
容纳一个人和两只动物.没有人在的时候,如果狼的数量
不少于羚羊的数量,狼就会吃掉羚羊.请设计过河的算
法. 解:算法或步骤如下:
S1 人带两只狼过河;
S2 人自己返回;
S3 人带一只羚羊过河;
S4 人带两只狼返回; S5 人带两只羚羊过河;
S6 人自己返回;
S7 人带两只狼过河;
S8 人自己返回;
S9 人带一只狼过河.
1、算法:算法是解决某类问题的一系列步骤或程序; 2、算法的基本思想:程序化思想; 3、算法的特征:
有穷性 确定性 输入 输出 有效性
世间没有一种具有真正价值的东西,可以 不经过艰苦辛勤的劳动而得到.
第二章 算法初步
§1 算法的基本思想
1.了解算法的含义,形成算法的初步印象,体会算法是 解决问题的“机械”程序,并能在有限步内解决问题; 2.能够用自然语言叙述算法; 3.掌握正确的算法应满足的条件; 4.会写出简单问题的算法.
作为家里的一员,在平时分担一些力所能及的事是我们 应尽的义务,你每天都帮家里做家务吗?你会烧开水吗?请 写出你在家中烧开水的过程.
低了!
参与者
……
主持人
如果你是参与者,你接下来会怎么猜?
实际上,可以把过程概括如下:
例2 在给定素数表的条件下,设计算法,将936分解 成素因数的乘积.(4000以内的素数表见课本附录1) 解:算法步骤如下: 1.判断936是否为素数:否. 2.确定936的最小素因数:2. 936=2×468 3.判断468是否为素数:否. 4.确定468的最小素因数:2. 936=2×2×234 5.判断234是否为素数:否. 6.确定234的最小素因数:2. 936=2×2×2×117
算法是什么?
算法可以理解为由基本运算及规定的运算顺序构成的 完整的解题步骤,或看按要求设计好的、有限的、确 切的计算序列,并且这样的步骤或序列能解决一类问题.
现代意义上的“算法”通常是指可以用计算机来解决 的某一类问题的程序或步骤.
说明:
1、算法实际上就是解决某一类问题的步骤和方法,在解 决问题时形成的规律性的东西,按照算法描述的规则与 步骤,一步一步地去做,最终便能解决问题.
7.判断117是否为素数:否. 8.确定117的最小素因数:3. 936=2×2×2×3×39 9.判断39是否为素数:否. 10.确定39的最小素因数:3. 936=2×2×2×3×3×13 判断13是否为素数:13是素数,所以分解结束. 分解结果是: 936=2×2×2×3×3×13
例3 设计一个算法,求840与1764的最大公因数. 解:算法步骤如下: 1.先将840进行素因数分解:8 4 0 2 3 3 ; 5 7 2.然后将1764进行素因数分解:1 7 6 4 2 2 3 ;2 7 2 3.确定他们的公共素因数2,3,7; 4.确定公共素因数的指数:公共素因数2,3,7的指数分别为 2,1,1; 5.最大公约数为: 223 1 .7184
所以,区间[0.75,0.8125]中的任一数值,都可以 作为方程的近似解.
简化写法: 第一步:令f(x)=x3+x2-1,因为f(0)f(1)<0,所以设x1=0,x2=1.
第三步:若f(x1)f(m)>0,则令x1= m;否则,令x2= m. 第四步:判断|x1-x2|<0.1是否成立?若是,则x1,x2之间的中 间值为满足条件的近似解;若否,则返回第二步.
3.计算f(0.5)=-0.625;
6.计算f(0.75)=-0.015625;
9.计算f(0.875)=0.435 546 875; 10.由于f(0.75)f(0.875)<0,可得新的有解区间 [0.75,0.875],0.875-0.75=0.125>0.1;
12.计算f(0.8125)=0.196533203125; 13.
区间分为两个小区间,然后判断解在
哪个小区间;继续把有解的区间一分
a
为二进行判断,如此周而复始,直到 O 求出满足精度要求的近似解.
x* b x
其算法步骤如下
5.判断新的有解区间长度是否大于精确度: (1)如果新的有解区间长度大于精确度,则在新的有解区间 的基础上重复上述步骤; (2)如果新的有解区间长度小于或等于精确度,则这个有解 区间中的任意一个数均为方程的满足精度的近似解.
事实上,我们完成任何事,都要有步骤,合理安排步 骤,会达到事半功倍的效果.从我们数学的意义来讲,在解 决某些问题时,需要设计出一系列可操作或可计算的步骤, 通过实施这些步骤来解决问题,我们通常把这些步骤称为 解决问题的一种算法.这种描述不是算法的定义,但反映了 算法的基本思想.
随着计算科学和信息技术的飞速发展,算法的思想 已经渗透到社会的方方面面.在以前的学习中,虽然没有 出现算法这个名词,但实际上在数学教学中已经渗透了 大量的算法思想,如四则运算的过程、求解方程的步骤 等等.完成这些工作都需要一系列程序化的步骤,这就是 算法的思想.
例5、写出以下问题的算法:
一位商人有9枚银元,其中有1枚略轻的是假银元.你能 用天平(不用砝码)将假银元找出来吗?
解: 1.把银元分成3组,每组3枚.
2.先将两组分别放在天平的两边.如果天平不平衡,那 边假银元就放在轻的那一组;如果天平左右平衡,则假 银元就在末称的第3组里.
3.取出含假银元的那一组,从中任取两枚银元放在天平 的两边.如果左右不平衡,则轻的那一边就是假银元;如 果天平两边平衡,则末称的那一枚就是假银元.
例1 在电视台的某个娱乐节目中,要求参与者快速猜出物品的价格. 主持人出示某件物品,参与者每次估算出一个价格,主持人只能回答 高了、低了或者正确.在某次节目中,主持人出示了一台价值在1000元 以内的随身听,并开始了竞猜.下面是主持人和参与者的一段对话:
800元! 400元! 600元!
高了! 低了!
例4 “韩信点兵”问题.韩信是汉高祖刘邦手下的大将,他英勇善战, 智谋超群,为建立汉朝立下了汗马功劳.据说他在点兵的时候,为了 保住军事机密,不让敌人知道自己部队的实力,采用下述点兵的方 法:先令士兵从1~3报数,结果最后一个士兵报2;再令士兵从1~5 报数,结果最后一个士兵报3;又令士兵从1~7报数,结果最后一个 士兵报4.这样,韩信很快就算出了自己部队的总人数.请设计一个算 法,求出士兵至少有多少人?
解:具体算法步骤如下:
(1)首先确定最小的满足除以3余2的正整数:2. (2)依次加3就得到所有除以3余2的正整数:2,5,8, 11,14,17,20,23,26,29,32,35,38,41, 44,47,50,53,56…… (3)在上列数中确定最小的满足除以5余3的正整数:8. (4)然后依次加上15,得到8,23,38,53……,显然 这些数既满足除以3余2,又满足除以5余3. (5)在第4步得到的一列数中,找出满足除以7余4的最小 数:53.这就是我们要求的数.
2、算法的基本思想就是我们分析问题时的想法.由于想法 不同、思考的角度不同,着手点不一样,同一问题存在不 同的算法,算法有优劣之分.
3、从熟悉的问题出发,体会算法的程序化思想,学会用 自然语言来描述算法.
例6
分析:在函数的应用部分,我们学习了用二分法求方程f(x)=0
的近似解.如图所示
y 二分法的基本思想是:将方程的有解
分析:从报数情况分析,总人数除以3余2;总人数除以5余3;总人数 除以7余4.算法的第一步是将所有的除以3余2的正整数找出来,按从小 到大排成一列.第二步是从第一步的数列中找出除以5余3的一列数,按 从小到大排成一列.最后在满足前两个条件的第二步数列中再找出除以 7余4的一列数,这列数中最小的数,即为我们所求的数.
相关文档
最新文档