算法的概念修_第1页
算法的概念修_第2页
算法的概念修_第3页
算法的概念修_第4页
算法的概念修_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

算法的概念

在中央电视台幸运52节目中,有一个猜商品价格的环节,竟猜者如在规定的时间内大体猜出某种商品的价格,就可获得该件商品.现有一商品,价格在0-8000元之间,采取怎样的策略才能在短的时间内说出正确(大体上)的答案呢?第一步:报“4000”;第二步:若主持人说高了(说明答案在0~4000之间),就报“2000”,否则(答数在4000~8000之间)报“6000”;第三步:重复第二步的报数方法取中间数,直至得到正确结果.先去括号再乘除后加减1、什么是算法呢?2、两个大人和两名儿童一起渡河,渡口只有一条小船,一次只能渡过一个大人或两名儿童,他们四人都会划船,但都不会游泳。请你帮他们设计一个渡河方案。什么是算法呢?第一步:两个小孩同船渡过河去;第二步:一个小孩划船回来;第三步:一个大人独自划船渡过河去;第四步:对岸的小孩划船回来;第五步:两个小孩再同船渡过河去;第六步:一个小孩划船回来;第七步:余下的一个大人独自划船渡过河去;第八步:对岸的小孩划船回来;第九步:两个小孩再同船渡过河去。

简单地说,算法就是解决问题的程序或步骤。什么是算法呢?

一般地,按照一定规则解决某一类问题的明确和有限的步骤称为算法(algorithm)。

按照这样的理解,我们可以设计出很多具体数学问题的算法.下面看几个例子:

所谓“算法”就是解题方法的精确描述.从更广义的角度来看,并不是只有“计算”的问题才有算法,日常生活中处处都有.如乐谱是乐队演奏的算法,菜谱是做菜肴的算法,珠算口诀是使用算盘的算法.它是解决某一类问题的程序或步骤.第一步:第二步:第三步:(消元)(解一元一次方程)①+②×2,得③解③得(带入求解)将代入①,得

写一写解方程组①②写出的步骤写出解第二个方程组的算法:第一步:第二步:第三步:③解③,得④将④带入①得①×-②×得变一变①②问题1

这两个解方程组算法的适用范围有何不同?第一步:第二步:第三步:③解③,得④将④带入①得①×-②×得①②解③得第一步:第二步:第三步:①+②×2,得①②将代入①,得③---------------------------------------------------第二步:计算第三步:给出运算结果。第一步:取①②解方程组一:两腿并拢,挺胸抬头三:先迈前腿四:再迈后腿左手向前,右手向右放平.二:…问题2下面的步骤表述明确吗?你对以下的“算法”如何理解?

要把大象装冰箱,分几步?答:分三步:第一步:打开冰箱门第二步:把大象装冰箱第三步:关上冰箱门问:问题3

一位商人有9枚金币,其中有一枚略轻的假币,你能用天平(无砝码)将假币找出来吗?写出解决这一问题的算法。第一步:把9枚金币平均分成三组,每组三枚。先将其中的两组放在天平的两边,如果天平不平衡,那么假金币就在轻的那一组;如果天平左右平衡,则假金币就在未称量的那一组里。取出含假币的那一组,从中任取两枚金币放在天平两边进行称量,如果天平不平衡,则假金币在轻的那一边;若平衡,则未称的那一枚就是假币。第二步:第三步:问题4有人对歌德巴赫猜想“任何大于4的偶数都能写成两个奇质数之和”设计了如下操作步骤:第一步:检验6=3+3第二步:检验8=3+5。。。利用计算机无穷地进行下去!请问,利用这种程序能够证明猜想的正确性吗?第三步:检验10=5+5问题5这是一种算法吗?

在数学中,现代意义上的“算法”通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.2.算法的要求(1)写出的算法,必须能解决一类问题(例如解任意一个二元一次方程组),并且能重复使用;(2)算法过程要能一步一步执行,每一步执行的操作,必须确切,不能含混不清,而且在有限步之内完成后能得出结果.1.算法定义的理解3.算法的基本特征:明确性:算法对每一个步骤都有确切的,能有效执行且得到确定结果的,不能模棱两可。顺序与正确性:算法从初始步骤开始,分为若干明确的步骤,每一步都只能有一个确定的继任者,只有执行完前一步才能进入到后一步,并且每一步都确定无误后,才能解决问题。有限性:算法应由有限步组成,至少对某些输入,算法应在有限多步内结束,并给出计算结果.不唯一性:求解某一个问题的解法不一定是唯一的,对于同一个问题可以有不同的解法例1、给出求1+2+3+4+5的一个算法。算法1:S1:计算1+2得到3;S2:将第一步中的运算结果3与3相加得到6;S3:将第二步中的运算结果6与4相加得到10;S4:将第三步中的运算结果10与5相加得到15;算法2:S1:取n=5;S3:输出运算结果。S2:计算三、数学运用例1、(1)设计一个算法,判断7是否为质数.(2)设计一个算法,判断35是否为质数(1)的算法如下:

第一步,用2除7,得到余数1.因为余数不为0,

所以2不能整除7.

第二步,用3除7,得到余数1.因为余数不为0,

所以3不能整除7

第三步,用4除7,得到余数3.因为余数不为0,

所以4不能整除7

第四步,用5除7,得到余数2.因为余数不为0,

所以5不能整除7

第五步,用6除7,得到余数1.因为余数不为0,

所以6不能整除7(2)的算法如下:

第一步,用2除35,得到余数1.因为余数不为0,

所以2不能整除35.

第二步,用3除35,得到余数2.因为余数不为0,

所以3不能整除35.

第三步,用4除35,得到余数3.因为余数不为0,

所以4不能整除35.

第四步,用5除35,得到余数0.因为余数为0,

所以5能整除35.因此,35不是质数.

算法3:例1、给出求1+2+3+4+5的一个算法。S2:使S=1,i=2;S3:使S的值变为S+i,i的值增加1;S4:若i>5,则输出S,否则转到S3;S1:给出两变量S,i;三、数学运用例2.用二分法设计一个求方程x2-2=0的近似根的算法.第一步:令f(x)=x2-2,因为f(1)<0,f(2)>0,所以设a=1,b=2.第二步:令m=,判断f(m)是否为0.若是,则m为所求;若否,则继续判断f(a)·f(m)大于0还是小于0.算法分析:回顾二分法解方程的过程,并假设所求近似根与精确解的差的绝对值不超过0.005,则不难设计出以下步骤:第三步:若f(a)·f(m)>0,则令a=m;否则,令b=m.第四步:判断|a-b|<0.005是否成立?若是,则a或b(或任意值)为满足条件的近似根;若否,则返回第二步.评析:实际上,上述步骤就是在求的近似值.于是开区间中的实数都是满足假设条件的原方程的近似根.

开始x1=1x2=2f(x)=x2-2x1=mx2=mm=(x1+x2)/2x1=mx2=mf(m)=0f(x1)f(m)>0|x1-x2|<0.005结束输出所求的近似根mm=(x1+x2)/2ynnyny1.知识结构算法的概念算法的步骤算法的特点算法课堂小结2.算法的特点:思路简单清晰,叙述复杂,步骤繁琐,计算量大,完全依靠人力难以完成.而这些恰恰就是计算机的特长,它能不厌其烦地完成枯燥的、重复的繁琐的工作.正因为这些,现代算法的作用之一就是使计算机代替人完成某些工作,这也是我们学习算法的重要原因之一.课堂小结3.设计算法的注意事项:

(1)认真分析问题,联系解决此问题的一般数学方法;(2)综合考虑此类问题中可能涉及的各种情况;(3)借助有关的变量或参数对算法加以表达;(4)将解决问题的过程划分为若干个步骤;(5)然后用简练的语言将各个步骤表示出来.现有有限个实数,怎样从中找出最大值?先假定这些实数中的第一个数为“最大值”。将这些实数中的下一个数与“最大值”比较,如果它大于此“最大值”,这时就假定“最大值”是这个实数。如果还有其他实数,重复第二步。一直到没有可比的数为止,这时假定的“最大值”就是这有限个实数的最大值。第一步:第二步:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论