您好,欢迎访问三七文档
§1.1.1算法的概念随着科学技术的日新月异,算法学也得到了前所未有的发展,现在已经发展到了各个领域.有遗传算法,排序算法,加密算法,蚁群算法等,与生物学,计算机科学等有着很广泛的联系,尤其是在现在的航空航天中,更是有着更广泛的应用.很多复杂的运算都是借助计算机和算法来完成的,在高端科学技术中有着很重要的地位.1、算法初步目标:了解算法的基本思想;培养使用算法的思想进行思考与表达解决问题的能力。内容:1、算法的含义。2、程序框图。3、实现算法的程序。4、典型的算法介绍。1、把冰箱门打开2、把大象装进去3、把冰箱门关上2000春晚小品《钟点工》问题1:请写出解二元一次方程组的详细求解步骤.2121xyxy①②第一步:①+2×②得:5x=1③第二步:解③得:15x第三步:②-①×2得:5y=3④第四步:解④得:35y第五步:得到方程组的解为1535xy你能写出与教材解法不同的求解步骤吗?你能写出求一般二元一次方程组的步骤吗?1111221222(1)0(2)axbycababaxbyc21(1)(2)aa得:第三步:21122112ababyacac(4)21122112acacyabab第四步:解(4)得第五步:得到方程组的解为1221122121122112cbcbxababacacyabab推广第一步:21(1)(2)bb得:12211221ababxcbcb(3)第二步:解(3)得12211221cbcbxabab一般地,按照一定规则解决某一类问题的明确和有限的步骤称为算法。从广义的角度来看,并不是只有“计算”的问题才有算法,日常生活中处处都有.如乐谱是乐队演奏的算法,菜谱是做菜肴的算法,棋谱是下棋的算法.它是解决某一类问题的程序或步骤;这些程序或步骤必须是明确有效的,而且能够在有限步之内完成;算法的设计尽量简单、步骤尽量少。一.算法的概念算法是指用计算机解决问题的某一类问题的程序或步骤,且在有限步内完成。二.算法的基本特征:明确性:算法中的每一步都应该是确定的,并且能有效地执行且得到确定的结果.有限性:一个算法的步骤是有限的,它应在有限步操作之后停止,而不能是无限的.程序性:算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个确定的后续步骤,只有执行完前一步才能进行下一步,并且每一步都要准确无误.1.下列关于算法的说法正确的是()(A)某算法可以无止境地运算下去(B)一个问题的算法步骤可以是可逆的(C)完成一件事情的算法有且只有一种(D)设计算法要本着简单、方便、可操作的原则D概念辨析2.下列运算中不属于我们所讨论算法范畴的是().A.已知圆的半径求圆的面积B.从一副扑克牌随意抽取3张扑克牌抽到24点的可能性C.已知坐标平面内的两点求直线的方程D.加减乘除运算法则B概念辨析3.有人对歌德巴赫猜想“任何大于4的偶数都能写成两个奇质数之和”设计了如下操作步骤:第一步:检验6=3+3第二步:检验8=3+5第三步:检验10=5+5。。。利用计算机不断地进行下去!请问:利用这种程序能够证明猜想的正确性吗?这是一种算法吗?概念辨析三.算法的表示方式:自然语言就是人们日常使用的语言,可以是汉语、英语或数学语言等.用自然语言描述算法的优点是通俗易懂,当算法中的操作步骤都是顺序执行时比较容易理解.缺点是如果算法中包含判断和循环,并且操作步骤较多时,就不那么直观清晰了.(1)自然语言(算法语言)(2)程序框图(3)程序设计语言1.1.2程序框图中讲解1.2基本算法语句中讲解第一步:用2除7,得到余数1,所以2不能整除7.第二步:用3除7,得到余数1,所以3不能整除7.例1:(1)设计一个算法,判断7是否为质数?第三步:用4除7,得到余数3,所以4不能整除7.第四步:用5除7,得到余数2,所以5不能整除7.第五步:用6除7,得到余数1,所以6不能整除7.因此,7是质数.例1:(2)设计一个算法,判断35是否为质数?第一步:用2除35,得到余数1,所以2不能整除35.第二步:用3除35,得到余数2,所以3不能整除35.第三步:用4除35,得到余数3,所以4不能整除35.第四步:用5除35,得到余数0,所以5能整除35.因此,35不是质数.第一步:给定一个大于2的整数n;第二步:令i=2;第三步:用i除n,得到余数r;第五步:判断“i(n-1)”是否成立.若是,则n是质数,结束算法;否则,返回第三步.第四步:判断“r=0”是否成立.若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示.你能写出“判断整数n(n2)是否为质数”的算法吗?P4:探究假如你参加一个猜商品价格的活动,只要在规定时间内大体猜出某商品的价格,就可获得该件商品(每猜一次,主持人会提醒你报价是高了还是低了).现有一商品,价格在0~1400元之间,采取怎样的策略才能在较短时间内说出大体答案呢?第一步:报“700”;第二步:若主持人说高了(说明答案在0~700之间),就报“350”,否则(答数在350~700之间)报“525”;第三步:重复第二步的报数方法取中间数,直至得到大体答案.◇解决实际问题需要程序和步骤,解决数学问题同样需要程序和步骤例2.用二分法设计一个求方程x2-2=0(x0)的近似根的算法.(精确度为0.005)第一步:第二步:第三步:第四步:第五步:2()2fxx令,给定精确度d.确定区间[a,b],满足f(a)·f(b)0.,2ab取区间中点m若f(a)·f(m)0,则含零点的区间为否则,含零点的区间为将新得到的含零点的区间仍记为[a,b];判断|a-b|d是否成立或f(m)是否等于0.若是,则m是方程的近似解;否则,返回[a,m],[m,b].第三步.分析问题对于区间[a,b]上连续不断、且f(a)f(b)0的函数y=f(x),通过不断地把函数f(x)的零点所在的区间一分二,使区间的两个端点逐步逼近零点,进而得到零点近似值的方法叫做二分法.二分法:22(0)yxxf(x)=x2-2x2=2x1=11.51.251.375ab|a-b|12111.50.51.251.50.251.3751.50.1251.3751.43750.06251.406251.43750.031251.406251.4218750.0156251.4146251.4218750.00781251.41406251.417968750.00390625对于方程,给定d=0.005.220(0)xx此步骤也是求的近似值的一个算法.2小结:算法的特征是什么?明确性程序性有限性算法的概念:算法通常指可以用来解决的某一类问题的步骤或程序,这些步骤或程序必须是明确的和有效的,而且能够在有限步之内完成的。P5练习:1,2.课后作业
本文标题:01算法的概念
链接地址:https://www.777doc.com/doc-3832264 .html