当前位置:首页 > 2020高中数学第1章算法初步1-1算法的含义名师导航学案 - 图文
【新教材2020版】 3.程序设计语言:“算法是计算机科学的基础”,计算机完成任何一项任务都需要算法.但是,用自然语言或程序框图描述的算法计算机是无法“理解”的,我们还需要将算法用计算机能够理解的语言表达出来,通常这称为程序设计,所用的语言称为程序设计语言(programming language).程序设计语言由一些有特定含义的程序语句构成,与算法程序框图的三种基本结构相对应,任何程序设计语言都包含输入输出语句、赋值语句、条件语句和循环语句.不同的程序设计语言有不同的语句形式和语法规则,但基本结构是相同的.正是由于这样的原因,在研究算法的时候,有时并不很关心算法语句是否用的是某种精确的程序语言,而采用基本结构相同的更为简便易懂的语言形式,有人称之为伪代码. 问题探究 问题1:算法的概念和我们生活中所遇到的许多概念有类似的地方.如菜谱,就是指导人们如何做菜的.那么,菜谱的概念和算法的概念究竟有哪些相同点和不同点呢? 探究:我们知道,算法有五个重要的特征,即有穷性、确定性、可行性、有输入、有输出.于是我们想到可以根据算法的特性对菜谱逐一进行对比来探究这个问题. 首先,容易想到,菜谱总是符合有穷性的要求的(厨师肯定不会花无限多的时间来做一盘菜吧?).其次,可行性也是菜谱所具有的(做菜的步骤必须是厨师力所能及的).输入就是作菜的原料(如鸡蛋、西红柿、糖、盐等),输出就是做好的菜了(如鸡蛋炒西红柿等).但是对于确定性,菜谱就不是那么令人满意了.例如,步骤“加少许盐”,“盐”也许已经是明确的定义了;那么“少许”该是多少呢,算法要求每一步都是精确的,按照这个标准,“少许”这样模糊的词句是不被允许的,当然我们可以将这个步骤改为如“加2.2 g盐”这样的叙述,但盐应该加到哪(顶上、边上等等)也不是很明确的.也许像“轻轻地颠簸直到混合物发脆为止”、“在小长柄锅里加热的料酒”等等指示,对于训练有素的厨师来说,说明已经是足够了,但是一个算法必须确定到这样一个程度:即使一台计算机也能遵循这个指示.因此从严格的意义上来讲,菜谱并不能称为算法. 问题2:在实际问题和算法理论中,找出好的算法是一项重要的工作.但是对于“好”没有严格的定义.一个好的算法都应该满足哪些标准? 本资料系本人收集整编,以VIP专享文档的呈现方式与各位同仁分享,欢迎下载收藏,如有侵权,望告知删除!5 / 8 【新教材2020版】 探究:算法就其本质来讲,就是一种解决问题的方法,只不过更具有程序化罢了.我们可以根据自己的经验,思考一个好的解决问题的方法应该具有哪些特点,然后看这些特点在算法上都应该有什么样的体现,就可以回答这个问题了. 正如所有的好的解决问题的方法必须是正确的一样,一个好的算法首先必须是正确的.正确性对不同的事情有着不同的含义.对于算法来讲,正确性包含如下几个层次:(1)算法不能含有语法错误,否则算法不能正常执行;(2)算法对于几组输入数据,能够得出满足规格说明要求的结果;(3)算法对于精心选择的典型、苛刻而带有刁难性的几组输入数据,能够得出满足规格说明要求的结果;(4)算法对于一切合法的输入数据,都能产生满足规格说明要求的结果. 其次,我们容易想到一个好的解决问题的方法,应该是思路清晰、让人容易理解的,这样就可以让更多的人掌握我们的方法.同理,我们写出的算法要具有可读性,格式要工整、规范,思想要清晰、准确,以便和其他人更好地交流、合作. 世事无常,在我们解决问题的过程中,往往不可避免地会有意外情况发生,这要求我们解决问题的方法要对这些意外情况制定相应的对策,避免不必要的损失.同理,我们的算法要具有健壮性,它的含义就是要求算法能够在出现异常或突发事件时能正常运行,不至于因为操作环节中的错误而造成灾难性的后果. 此外,我们做事还要考虑这件事需要花费的时间和占用的空间.一般来讲,花费时间和占用空间少的方法会更好.同样的,算法也有高效率与低存储量需求.效率指的是算法执行时间.对于解决同一问题的多个算法,执行时间短的算法效率高.存储量需求是指算法执行过程中所需要的最大存储空间.如果所占空间量依赖于特定的输入,则除特别指明外,均按最坏情况来分析. 精题精讲 例1.给出求1+3+5+7+9+11+13的一个算法. 思路解析 分析一:本题主要是考查理解概念的程度.由于本题是一个连续相加的问题,则写算法时,只需按照逐一相加的程序进行.分析二:由于1+3+5+…+(2n-1)=n2,所以可以运用公式1+3+5+…+(2n-1)=n2直接计算,只需将n=7代入公式即可. 答案:解法一:按照逐一相加的程序进行: 第一步 计算1+3,得到4; 本资料系本人收集整编,以VIP专享文档的呈现方式与各位同仁分享,欢迎下载收藏,如有侵权,望告知删除!6 / 8 【新教材2020版】 第二步 将第一步中的运算结果4与5相加,得到9; 第三步 将第二步中的运算结果9与7相加,得到16; 第四步 将第三步中的运算结果16与9相加,得到25; 第五步 将第四步中的运算结果25与11相加,得到36; 第六步 将第五步中的运算结果36与13相加,得到49. 解法二:运用公式1+3+5+…+(2n-1)=n2计算: 第一步 取n=7; 第二步 计算n2; 第三步 输出运算结果. 绿色通道 对算法的灵活、准确应用和自然语言表达问题,要注意:算法的方法不同,解决问题的繁简程度也不同.我们研究算法,就是要找出解决问题的最好的算法. 例2.给出求解方程ax2+bx+c=0(a≠0,b2-4ac>0)的一个算法. 思路解析 解一元二次方程一般利用求根公式来求解,即,当方程左边的二次多项式可分解因式时,我们也可用分解因式的方法来解一元二次方程.?b?b2?4ac x?2a 答案:算法如下: 第一步 写出方程中的a、b、c的值; 第二步 计算b2-4ac的值; ?b?b2?4ac 第三步 计算的值; 2a?b?b2?4ac?b?b2?4ac或x2? 第四步 输出方程的根为.x1? 2a2a绿色通道 一个算法,就是一个有穷规则的集合,它为某个特定类型问题提供了解决问题的运算序列.其中的每条规则必须是明确定义的、可行的.序列的终止表示问题得到解答或指出问题没有解答. 例3.一个人带三只狼和三只羚羊过河,只有一条船,同船可以容一个人和两只动物.没有人在的时候,如果狼的数量不少于羚羊的数量,狼就会吃掉羚羊. (1)设计一个安全渡河的算法; (2)思考每一步算法所遵循的相同原则是什么? 本资料系本人收集整编,以VIP专享文档的呈现方式与各位同仁分享,欢迎下载收藏,如有侵权,望告知删除!7 / 8 【新教材2020版】 思路解析 在人运送动物过河的过程中,人离开岸边时必须保证每个岸边的羚羊数目要大于狼的数目,依据此原则可以选取安全的渡河办法. 答案:(1)算法是: S1 人带两只狼过河; S2 人自己返回; S3 人带两只羚羊过河; S4 人带一只狼返回; S5 人带一只羚羊过河; S6 人自己返回; S7人带两只狼过河. (2)在人运送动物过河的过程中,人离开岸边时必须保证每个岸边的羚羊数目要大于狼的数目. 绿色通道 这是一个实际问题,生活中解决任何问题都需要算法,我们要在处理实际问题的过程中理解算法的含义,体会算法设计的思想方法. 本资料系本人收集整编,以VIP专享文档的呈现方式与各位同仁分享,欢迎下载收藏,如有侵权,望告知删除!8 / 8
共分享92篇相关文档