毕业答辩ppt模板-武汉科技大学中南分校.ppt_第1页
毕业答辩ppt模板-武汉科技大学中南分校.ppt_第2页
毕业答辩ppt模板-武汉科技大学中南分校.ppt_第3页
毕业答辩ppt模板-武汉科技大学中南分校.ppt_第4页
毕业答辩ppt模板-武汉科技大学中南分校.ppt_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

第一章算法初步,2009.9,为什么要学习算法?,当今人们把科学计算、实验和理论并列为三大科学研究方法,即人类认识世界的三大手段。算法是科学计算的重要基础。计算机除了靠芯片之外,主要靠软件,而软件的核心是算法。算法思想已逐渐成为每个现代人应具有的数学素养。,“数学课程标准”指出:“算法是数学及其应用的重要组成部分,是计算科学的重要基础,算法思想已经成为现代人应具备的一种数学素养,体会算法的基本思想以及算法的重要性和有效性,发展有条理的思考与表达能力,提高逻辑思维能力.”,如何学算法?,通过分析具体的实例,通过模仿、操作、探究的过程,体会算法的基本思想以及算法的重要性和有效性。记忆。需要记住一些基本的算法案例。既重视“算则”,更重视“算理”“算理”是“算则”的基础,“算则”是“算理”的表现,1.1.1算法的概念,一、算法的概念,算法(algorithm)一词出现于12世纪,指的是用阿拉伯数字进行算术运算的过程。中国古代数学曾经以算法为特色,取得了举世瞩目的辉煌成就.在数学中,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤。(A版)算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤或序列能够解决一类问题。(B版),广义地说,算法就是做某一件事的步骤或程序。例如,菜谱是做菜肴的算法,洗衣机的使用说明书是操作洗衣机的算法,歌谱是一首歌曲的算法。,例1“一群小兔一群鸡,两群合到一群里,要数腿共48,要数脑袋整17,多少小兔多少鸡?”,解:算术方法:如果没有小兔,那么小鸡应为17只,总的腿数应为217=34条,但现在有48条腿,造成腿的数目不够是由于小兔的数目为0,每有一只小兔便会增加两条腿,故应有(48172)2=7只小兔。相应的,小鸡有10只。,代数方法:设有x只小鸡,y只小兔.则,将第一个方程的两边同乘以2加到第二个方程中去,得到,解第二个方程得y=7.,把y代入到第一个方程得x=10.,问题1:教材中例1是著名的“鸡兔同笼”问题,其中第一种解法是算术方法,教材中对它的评价是“简单直观,却包含着深刻的算法思想”,那么它是如何体现算法的思想呢?,例1“一群小兔一群鸡,两群合到一群里,要数腿共48,要数脑袋整17,多少小兔多少鸡?”,例1“一群小兔一群鸡,两群合到一群里,要数腿共m,要数脑袋整n,多少小兔多少鸡?”,S1假设没有小兔,则小鸡应为n只;S2计算总腿数为2n只;S3计算实际总腿数与假设总腿数的差值为m2n;,S4计算小兔只数为;,S5小鸡的只数为n.,例1“一群小兔一群鸡,两群合到一群里,要数腿共m,要数脑袋整n,多少小兔多少鸡?”,问题2:教材中例1的第二种解法是列方程组的方法,它是否也是一种算法呢?,S1设未知数;S2根据题意列方程组;S3解方程组;S4还原实际问题,得到实际问题的答案。,探究:是的,其算法步骤为:,在实际中,很多问题可以归结为求解二元一次方程组,下面我们用消元法来解一般的二元一次方程组,S1假定a110,a11a21得,S2如果a11a22a12a210,则执行下步;否则执行S6,S3两边同除以a11a22a12a210得,S4代入.得,S5输出结果x1,x2,,S6若a11b2a21b10.则执行S7,否则执行S8;,S7输出“方程组无解”.,S8输出“方程组有无穷多个解”,以上解二元一次方程组的方法,叫做高斯消去法,二、算法的特点,不论在哪一种算法中,它们都是经有限次步骤完成的,因而它们体现了算法的有穷性。,在算法中,每一步都能明确地执行,且有确定的结果,因此具有确定性。,在所有算法中,每一步操作都是可以执行的,也就是具有可行性。,为了便于计算机运算,它们必须先输入已知数据,而计算的目的分别是解方程组和求最大值等,因此必须输出结果,也就是必须有输入和输出。,算法解决的都是一类问题,因此具有普适性(通用性)。,算法的特点,普适性(通用性)可行性确定性有穷性(有限性)有输出(有输性),概括性逻辑性不唯一性(多样性),练习:写出解方程x22x3=0的一个算法.,配方法:S1移项,得x22x=3S2式两边同加1并配方得(x1)2=4S3式两边开方,得x1=2S4解式得x=3或x=1,因式分解法:S1将方程左边因式分解得(x3)(x+1)=0.S2由得x3=0或x+1=0.S3解得x=3或x1.,公式法:S1计算方程的判别式,判断其符号=(2)24(3)0.S2将a=1,b=2,c=3代入求根公式,得x=3或x=1.,算法=解法吗?,算法由解法提炼而得,但不等于解法;算法与解法既有联系,又有区别,它们之间是一般和特殊的关系,也是抽象与具体的关系。算法的获得要借助一般意义上具体问题的求解方法,而任何一个具体问题都可以利用这类问题的一般算法来解决。,S1max=a;S2如果bmax,则max=b;S3如果cmax,则max=c;S4max就是a,b,c中的最大值.,例2请用数学语言写出对任意3个整数a,b,c求出最大值的算法。,例3写出一个求有限整数列中的最大值的算法。,解:算法如下:S1先假定序列中的第一个整数为“最大值”;S2将序列中的下一个整数值与“最大值”比较,如果它大于此“最大值”,这时你就假定“最大值”是这个整数;S3如果序列中还有其他整数,重复S2;S4在序列中一直到没有可比的数为止,这时假定的“最大值”就是这个序列中的最大值.,如果让你去找,你可能不会这样做,可能认为,这样太机械、太枯燥。不要忘了,我们写的是算法。算法要求按部就班地做,每一步都有唯一的结果,又要求写出的算法对任意整数序列都适用,总能得到结果。所以上面写的,符合算法的要求。,例4写出求1+2+3+4+5+6的一个算法。,解:算法1:S1计算1+2得到3;S2将第一步中的运算结果3与3相加得到6;S3将第二步中的运算结果6与4相加得到10;S4将第三步中的运算结果10与5相加得到15;S5将第四步中的运算结果15与6相加得到21.,算法2:S1取n=6;S2计算;S3输出运算结果.,算法3:S1将原式变形为(1+6)+(2+5)+(3+4)=37;S2计算37;S3输出运算结果。,例5.利用二分法求函数y=f(x)(x在定义区间D)上的一个变号零点x0的近似值x,使它与零点的误差不超过正数,即使|xx0|,写出它的一个算法.,S1在D内取一个闭区间a,b,使f(a)与f(b)异号,即f(a)f(b)0;S2令x0=,计算f(x0);,S3若f(x0)=0,则x0就是y=f(x)的零点;若f(x0)与f(a)异号,则a=a,b=x0,否则a=x0,b=b;S4判断|ab|是否成立,若成立,则区间a,b内任意实数都是x0的近似值;否则,返回S2,直到不等式|ab|2x+4;求M(1,2)与N(3,5)两点连线的方程可先求MN的斜率再利用点斜式方程求得A.1个B.2个C.3个D.4个,C,6.求1357911的值,写出其算法。,算法1;第一步,先求13,得到结果3;第二步,将第一步所得结果3再乘以5,得到结果15;第三步,再将15乘以7,得到结果105;第四步,再将105乘以9,得到945;第五步,再将945乘以11,得到10395,即是最后结果。,算法2:用P表示被乘数,i表示乘数。S1使P=1;S2使i=3;S3使P=Pi;S4使i=i+2;S5若i11,则返回到S3继续执行;否则算法结束。,由于计算机动是高速计算的自动机器,实现循环的语句可以在很短的时间内完成。对于循环结构的详细情况,我们将在以后的学习中介绍。,7.设计算法解决下面的问题:已知点P的坐标为(x0,y0),直线l的方程为ax+by+c=0(ab0),求点P到直线l的距离.,算法一:S1求出直线l的斜率为k,;,S2求出与l垂直的直线的斜率k,;,

温馨提示

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

评论

0/150

提交评论