算法的概念(ppt课件)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

计算机与算法:在现代社会里,计算机已经成为人们日常生活和工作不可缺少的工具.听音乐、看电影、玩游戏、画卡通画、处理数据…计算机几乎可以是一个全能的助手,你可以用它来做你想做的任何事情.那么,计算机是怎样工作呢?要想弄清楚这个问题,就需要学习算法.什么是算法?算法的概念任课教师:张艳梅问题2:要把大象装冰箱,分几步?第一步:打开冰箱门第二步:把大象装冰箱第三步:关上冰箱门创设情境给出定义创设情境给出定义问题2:有一个农夫带一条狼、一只羊和一筐白菜过河。如果没有农夫看管,则狼要吃羊,羊要吃白菜。但是船很小,只够农夫带一样东西过河。问农夫该如何解此难题?解决步骤:1、带羊到对岸,返回;2、带菜到对岸,并把羊带回;3、带狼到对岸,返回;4、带羊到对岸。35(1)2494(2)xyxy你能写出解方程组的步骤吗?第一步,由(1)得35(3)xy第二步,将(3)代入(2)得2(35)494(4)yy第三步,解(4)得12(5)y第四步,将(5)代入(3)得23x第五步,得到方程组的解得2312xy35(1)2494(2)xyxy你能写出解方程组的步骤吗?第一步,(1)2(2)224(3)y得:-第二步,第三步,第四步,第五步,得到方程组的解得2312xy(3)12y解得:(1)4(2)246(4)x得:(4)23x解得:写出一般二元一次方程组的解法步骤.1111221222(1)0(2)axbycababaxbyc第一步,21(1)(2)bb得:12211221ababxcbcb(3)第二步,解(3)得12211221cbcbxabab写出一般二元一次方程组的解法步骤.1111221222(1)0(2)axbycababaxbyc21122112acacyabab第四步,解(4)得21(1)(2)aa得:第三步,21122112ababyacac(4)第五步,得到方程组的解为1221122121122112cbcbxababacacyabab写出一般二元一次方程组的解法步骤.1111221222(1)0(2)axbycababaxbyc第一步,21(1)(2)bb得:12211221ababxcbcb(3)第二步,解(3)得12211221cbcbxabab21122112acacyabab第四步,解(4)得21(1)(2)aa得:第三步,21122112ababyacac(4)第五步,得到方程组的解为1221122121122112cbcbxababacacyabab广义地说,算法就是做某一件事的步骤或程序。菜谱是做菜肴的算法,洗衣机的使用说明书是操作洗衣机的算法,算法的概念×算法:在数学中算法通常指按照一定规则解决某一类问题的明确和有限的步骤.现在,算法通常可以编成计算机程序,让计算机执行并解决问题.程序性明确性有限性不唯一性普适性巩固概念×写出交换两个大小相同的杯子中的液体(A水、B酒)的一个算法.第一步,找一个大小与A相同的空杯子C.第二步,将A中的水倒入C中.第三步,将B中的酒精倒入A中.第四步,将C中的水倒入B中,结束.应用举例×例1.(1)设计一个算法判断7是否为质数.第一步,用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.因此,7是质数.应用举例×例1.(2)设计一个算法判断35是否为质数.第一步,用2除35,得到余数1.因为余数不为0,所以2不能整除35.第二步,用3除35,得到余数2.因为余数不为0,所以3不能整除35.第三步,用4除35,得到余数3.因为余数不为0,所以4不能整除7.第四步,用5除35,得到余数0.因为余数为0,所以5能整除35.因此,35不是质数.判断53是否为质数。第一步,用2除53,得到余数1。因为余数不为0,所以2不能整除53。第二步,用3除53,得到余数2。因为余数不为0,所以3不能整除53。第三步,用4除53,得到余数1。因为余数不为0,所以4不能整除53。……第五十一步,用52除53,得到余数1。因为余数不为0,所以52不能整除53。因此,53是质数。不是算法以下是算法吗?算法分析:第一步:令i=2;第二步:用i除53,得到余数是r;第三步:判断r是否为0,若是,则53不是质数,结束算法;否则,将i的值增加1,仍用i表示;第四步:判断i52是否成立。若是,则53是质数,结束算法;否则,返回第三步。探究:设计一个算法,判断整数n(n2)是否为质数?第一步,给定大于2的整数n。第二步,令i=2第三步,用i除n,得到余数r。第四步,判断“r=0”是否成立。第五步,判断“i(n-1)”是否成立。若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示。若是,则n不是质数,结束算法;否则,返回第三步。11.521.251.3752+2+1.5+1-ab︱a-b︱11211.50.51.50.251.251.50.1251.375………………12+1.5+1.251.375---2+1.5+1.251--22xy1--例2用二分法设计一个求方程x2–2=0的近似根的算法。旧知识回顾:用二分法求函数的零点解决问题×第四步,若f(a)·f(m)0,则含零点的区间为[a,m];第一步,令.给定精确度d.2()2fxx第二步,给定区间[a,b],满足f(a)·f(b)<0.第三步,取中间点.2abm第五步,判断[a,b]的长度是否小于d或者f(m)是否等于0.将新得到的含零点的仍然记为[a,b].否则,含零点的区间为[m,b].若是,则m是方程的近似解;否则,返回第三步.第一步,令s=0第二步,令i=1。第三步,求出s+i,仍用s表示。第四步,判断i>100是否成立?若是,输出s;若不是,将i的值增加1,仍用i表示返回第三步。例3:读下列算法,回答问题:(1)该算法是解决什么问题的?(2)最终输出的结果是什么?1.任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积.第一步:输入任意一个正实数r;第二步:计算圆的面积:S=πr2;第三步:输出圆的面积S.练习2.任意给定一个大于1的正整数n,设计一个算法求出n的所有因数.第一步:给定大于1的整数n第二步:令i=1第三步:用i除n,得余数r第四步:判断“r=0”是否成立,若是,则i是n的因数,输出i,第五步:将i的值增加1,仍用i表示.第六步:判断“in”是否成立,若是,则结束算法;否则返回第三步.巩固概念×3、写出求一元二次方程ax2+bx+c=0的根的算法.第一步,计算Δ=b2-4ac.第二步,如果Δ0,则原方程无实数解;否则(Δ≥0时),,a2bx1.a2bx2第三步:输出x1,x2或无实数解的信息.4.下面的四种叙述不能称为算法的是()(A)广播的广播操图解(B)歌曲的歌谱(C)做饭用米(D)做米饭需要刷锅、淘米、添水、加热这些步骤练习题C5.下列关于算法的说法正确的是()(A)某算法可以无止境地运算下去(B)一个问题的算法步骤可以是可逆的(C)完成一件事情的算法有且只有一种(D)设计算法要本着简单、方便、可操作的原则D6.下列关于算法的说法中,正确的是().A.算法就是某个问题的解题过程B.算法执行后可以不产生确定的结果C.解决某类问题的算法不是惟一的D.算法可以无限地操作下去不停止C7.下列运算中不属于我们所讨论算法范畴的是().A.已知圆的半径求圆的面积B.从一副扑克牌随意抽取3张扑克牌抽到24点的可能性C.已知坐标平面内的两点求直线的方程D.加减乘除运算法则B8.写出求1+2+3+…+100的一个算法.可以运用公式1+2+3+…+n=直接计算.第一步①;第二步②;第三步输出运算结果.(1)2nn①取n=100②计算(1)2nn9.已知一个学生的语文成绩为89,数学成绩为96,外语成绩为99,求他的总分和平均成绩的一个算法为:第一步取A=89,B=96,C=99;第二步①;第三步②;第四步输出D,E.①计算总分D=A+B+C②计算平均成绩E=3D一、算法的概念算法(algorithm)一词源于算术(algorism),即算术方法,是指一个由已知推求未知的运算过程。后来,人们把它推广到一般,把进行某一工作的方法和步骤称为算法。在数学中算法通常指按照一定规则解决某一类问题的明确和有限的步骤.归纳小结2.算法的特点:明确性:算法中的每一个步骤都是确切的,能有效的执行且得到确定的结果,不能模棱两可。有限性:算法应由有限步组成,必须在有限操作之后停止,并给出计算结果。思考:有人对歌德巴赫猜想“任何大于4的偶数都能写成两个奇质数之和”设计了如下操作步骤:第一步:检验6=3+3第二步:检验8=3+5第三步:检验10=5+5......利用计算机无穷地进行下去!请问,利用这种程序能够证明猜想的正确性吗?这是一种算法吗?2.算法的特点:明确性:算法中的每一个步骤都是确切的,能有效的执行且得到确定的结果,不能模棱两可。程序性:算法从初始步骤开始,分为若干明确的步骤,每一步都只能有一个确定的继任者,只有执行完前一步才能进入到后一步,并且每一步都确定无误后,才能解决问题。不唯一性:求解某一个问题的解法不一定是唯一的,对于同一个问题可以有不同的解法,但算法有优劣之分,好的算法是我们追求的目标.普适性:写出的算法必须能解决一类问题,并且能重复使用,这是设计算法的一条基本原则,这样才能使算法更有价值.有限性:算法应由有限步组成,必须在有限操作之后停止,并给出计算结果。

1 / 32
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功