11算法与程序框图 (2).ppt
《11算法与程序框图 (2).ppt》由会员分享,可在线阅读,更多相关《11算法与程序框图 (2).ppt(78页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、主备人:主备人:向姸燕向姸燕 王廷伟王廷伟 唐强唐强审核:审核:牟必继牟必继 随着计算科学和信息技术的飞速发展,随着计算科学和信息技术的飞速发展,算法思想算法思想已经渗透到社会的方方面面在以已经渗透到社会的方方面面在以前的学习中,虽然没有出现前的学习中,虽然没有出现算法算法这个名词,这个名词,但实际上在数学学习中已经渗透了大量的算但实际上在数学学习中已经渗透了大量的算法思想,如四则运算的过程、求解方程的步法思想,如四则运算的过程、求解方程的步骤等等完成这些工作都需要骤等等完成这些工作都需要一系列程序化一系列程序化的步骤的步骤,这就是算法的思想,这就是算法的思想 1.1.1 1.1.1 算法的概
2、念算法的概念先算括号里面先算括号里面再乘除再乘除后加减后加减什么是算法呢?什么是算法呢?1.6+5(4-2)要把大象装冰箱,分几步?要把大象装冰箱,分几步?答:分三步:答:分三步:第一步:打开冰箱门第一步:打开冰箱门第二步:把大象装冰箱第二步:把大象装冰箱第三步:关上冰箱门第三步:关上冰箱门问:问:问题问题2 广义地说,算法就是解决广义地说,算法就是解决问题的程序或步骤问题的程序或步骤。什么是算法呢?什么是算法呢?问题问题3:“鸡兔同笼鸡兔同笼”是我国隋朝时期的数学著是我国隋朝时期的数学著作作孙子算经孙子算经中的一个有趣而具有深远影响的中的一个有趣而具有深远影响的题目:题目:“今有鸡兔同笼,上
3、有十七头,下有四十今有鸡兔同笼,上有十七头,下有四十八足,问:鸡兔各几只?八足,问:鸡兔各几只?”解:算术方法:如果没有小兔,那么小鸡解:算术方法:如果没有小兔,那么小鸡应为应为17只,总的腿数应为只,总的腿数应为217=34条,但条,但现在有现在有48条腿,造成腿的数目不够是由于条腿,造成腿的数目不够是由于小兔的数目为小兔的数目为0,每有一只小兔便会增加,每有一只小兔便会增加两条腿,故应有两条腿,故应有(48172)2=7只小兔。只小兔。相应的,小鸡有相应的,小鸡有10只。只。代数方法:设有代数方法:设有x只小鸡,只小鸡,y只小兔只小兔.则则第一步第一步,(消元)(消元)-2,得,得 2y=
4、14 2y=14 第二步第二步,(解一元一次方程)(解一元一次方程)解解得得y=7第三步第三步,(代入求解)代入求解)将将 y=7 代入代入,得得x=10法一法一写出解第二个写出解第二个方程组的算法:方程组的算法:第一步第一步,第二步第二步,第三步第三步,解,得 变一变变一变b2-b1,得(a1b2-a2b1)x=b2c1-b1c2 第四步第四步,解,得第五步第五步,方程组的解为得a2-a1,算法的概念算法的概念12世世纪纪的的算法算法指的是用阿拉伯数字指的是用阿拉伯数字进进行行_的的过过程程数学数学中的中的算法算法通常是指按照通常是指按照_解决某一解决某一类类问题问题的的_和和_的步的步骤骤
5、现现代代算法算法通常可以通常可以编编成成_,让计让计算机算机执执行并解决行并解决问题问题一定规则明确有限计算机程序算术运算算法的要求算法的要求(1)写出的算法写出的算法,必须能解决一类问题必须能解决一类问题(例如解任例如解任意一个二元一次方程组意一个二元一次方程组),并且能重复使用并且能重复使用;(2)算法过程要能一步一步执行算法过程要能一步一步执行,每一步执行的每一步执行的操作操作,必须确切必须确切,不能含混不清不能含混不清,而且在有限步之而且在有限步之内完成后能得出结果内完成后能得出结果.例例1(1)设计一个算法设计一个算法,判断判断7是否为质数是否为质数;(1)(1)第一步第一步,用用2
6、除除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是质数是质数.(2)设计一个算法设计一个算法,判断判断35是否为质数是否为质数
7、.第一步第一步,用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不是质数.例例2 2:设计一个算法,判断设计一个算法,判断19971997是否为质数是否为质数 第一步:用第一步:用2 2除除19971997得到余数不是得到余数不是0 0,所以不能被,所以不能被2 2整除整除第二步:用第二步:用3 3除除19971997得到余数不是得到余数不是0 0,所以不能
8、被,所以不能被3 3整除整除第三步:用第三步:用4 4除除19971997得到余数不是得到余数不是0 0,所以不能被,所以不能被4 4整除整除第一九九五步:用第一九九五步:用19961996除除19971997得到余数不是得到余数不是0 0,所以,所以 不能被不能被19961996整除整除。因此因此,1997是质数是质数.是不确定是不确定的,与算法的确的,与算法的确定性矛盾,所以定性矛盾,所以他不表示算法他不表示算法例例2 2:设计一个算法,判断设计一个算法,判断19971997是否为质数是否为质数 第一步:令第一步:令i=2i=2第二步:用第二步:用i i除除19971997得余数得余数r
9、r第三步:判断第三步:判断“r=0”“r=0”是否成立,若是则是否成立,若是则19971997不是不是质质 数,结束算法,否则将数,结束算法,否则将i i的值增加的值增加1 1,仍用,仍用 i i表示表示第四步:判断第四步:判断“i1996”“i1996”是否成立,若是则是否成立,若是则19971997是质是质数数 结束算法,否则返回第二步结束算法,否则返回第二步探究能你写出能你写出”判断整数判断整数n(n2)是否为质数是否为质数”的算法吗的算法吗?第一步第一步,给定大于2的整数n.第二步第二步,令i=2.第三步第三步,用i除n,得到余数r.第四步第四步,判断”r=0”是否成立.若是,则n不是
10、质数,结束算法;否则,将i的值增加1,仍用i表示.第五步第五步,判断”i(n-1)”是否成立.若是,则n是质数,结束算法;否则,返回第三步.算法的基本特征算法的基本特征:明明确确性性:算算法法对对每每一一个个步步骤骤都都有有确确切切的的、非非二二义义性性的的规规定定,即即每每一一步步对对于于利利用用算算法法解解决决问问题题的的人人或或计计算算机机来来说说都都是是可可读读的的、可可执执行行的的,而而不不需需要计算者临时动脑筋要计算者临时动脑筋.有有效效性性:算算法法的的每每一一个个步步骤骤都都能能够够通通过过基基本本运运算算有有效效地地进进行行,并并得得到到确确定定的的结结果果;对对于于相相同同
11、的的输输入入,无无论论谁谁执执行行算算法法,都都能能够够得得到到相相同同的的最最终终结果结果有限性有限性:算法应由有限步组成算法应由有限步组成,至少对某些输入至少对某些输入,算法应在有限多步内结束算法应在有限多步内结束,并给出计算结果并给出计算结果信信息息输输出出:一一个个算算法法至至少少要要有有一一个个有有效效的的信信息息输出输出,这就是问题求解的结果这就是问题求解的结果.不不唯唯一一性性:求求解解某某一一个个题题的的解解法法不不一一定定是是唯唯一的一的,对于一个问题可以有不同的算法对于一个问题可以有不同的算法.算法的描述算法的描述:描描述述算算法法可可以以有有不不同同的的方方式式,常常用用
12、的的有有自自然语言、程序框图、程序设计语言、伪代码然语言、程序框图、程序设计语言、伪代码等等.数数据据输输入入:算算法法一一定定要要根根据据输输入入的的初初始始数数据据或或给定的初值才能正确执行它的每一步骤给定的初值才能正确执行它的每一步骤.自自然然语语言言就就是是人人们们日日常常使使用用的的语语言言,可可以以是是汉汉语语、英英语语或或数数学学语语言言等等.用用自自然然语语言言描描述述算算法法的的优优点点是是通通俗俗易易懂懂,当当算算法法中中的的操操作作步步骤骤都都是是顺顺序序执执行行时时比比较较容容易易理理解解.缺缺点点是是如如果果算算法法中中包包含含判判断断和和转转向向,并并且且操操作作步
13、步骤骤较较多多时时,就就不不那那么么直直观观清晰了清晰了.(1)(1)自然语言自然语言(2)(2)程序框图程序框图(3)(3)程序设计语言程序设计语言1.1.21.1.2程序框图程序框图中讲解中讲解1.21.2基本算法语句基本算法语句中讲解中讲解 例3 写出用“二分法”求方程 近似解的算法二分法:把满足 的函数 的零点所在的区间 “一分为二”为区间 根据 是否成立,找出零点所在的区间,仍记做 对所得的区间重复以上步骤,直到包含零点的区间 “足够小”,那么此区间 内的数即为方程的近似解 例3 写出用“二分法”求方程 近似解的算法第一步:令给定精确度d第三步:取区间中点含零点的区间为第四步:若则含
14、零点的区间为否则,将新得到的含零点的区间仍记为第二步:确定区间满足第五步:判断的长度是否小于d或f(m)是否等0若是,则m是方程的近似值;否则,返回第三步例如:P4练习1.1.下列关于算法的说法中正确的是下列关于算法的说法中正确的是()D.算法可以无限的操作下去不停止。算法可以无限的操作下去不停止。B.算法执行后可以不产生确定的结果。算法执行后可以不产生确定的结果。C.解决某一类问题的算法不是唯一的。解决某一类问题的算法不是唯一的。A.算法就是某个问题的解题过程。算法就是某个问题的解题过程。D2.2.下面对算法的特征描述准确的一项是下面对算法的特征描述准确的一项是()()A.明确明确 B.B.
15、有效有效 C.C.步骤有限步骤有限 D.D.以上都对以上都对C3.3.下面四种叙述能称为算法的是下面四种叙述能称为算法的是()()A.吃饭吃饭 B.B.做饭做饭 C C.步骤有限步骤有限 D.D.先买菜,再做饭,再吃饭,最后刷碗先买菜,再做饭,再吃饭,最后刷碗D4.4.下列说法不是算法的是下列说法不是算法的是()()A.解方程解方程3x-9=0的过程就移项再把系数化成的过程就移项再把系数化成1B.B.从西华到北京先坐汽车到郑州再坐火车从西华到北京先坐汽车到郑州再坐火车C.解不等式解不等式2x-10A.利用公式利用公式S=r2计计算半径算半径为为3的的圆圆的面的面积积就是就是 计计算算32C算法
16、算法1 1:第一步:取第一步:取n=100n=100;第二步:计算第二步:计算第三步:写出运算结果第三步:写出运算结果写出求写出求1+2+3+1+2+3+100+100的一个算法的一个算法你会了吗?你会了吗?21.p5练习第一步:计算1+2,得3;第二步:将第一步中的运算结果3与3相加得6;第三步:将第二步中的运算结果6与4相加得10;第九十九步:将第九十八步中的运算结果4950与100 相加得5050.算法2.第一步:令i=1,s=0第二步:将s+i的值重新赋值给s,i的值加1第三步:判断i100是否成立,如成立,则输出s 的值,结束算法;否则返回第二步。3、y与与x之间的函数关系为之间的函
17、数关系为:(当当0 x7时时)(当当x7时时)写出函数值的算法写出函数值的算法:第一步第一步:输入每月用水量输入每月用水量x;第二步第二步:判断判断x是否不超过是否不超过7.若是若是,则则y=1.2x;若否若否,则则y=1.9x-4.9.第三步第三步:输出应交纳的水费输出应交纳的水费y.1.1.2 程序框图与算法的基本逻辑结构 1.在数学中,算法通常是指按照一定规则 解决某一类问题的明确和有限的步骤.温故知新2.算法的特征:有限性明确性普适性 不唯一性逻辑性任意给定一个大于2的整数n,试设计一个算法对n是否为质数做出判定.算法分析:前面我们知道:算法可以用自然语言来描述.第一步,给定大于第一步
18、,给定大于2的整数的整数n第二步,令第二步,令i=2第三步,用第三步,用i除除n,得到余数,得到余数r第四步,判断第四步,判断“r=0”是否成立,若是,则是否成立,若是,则n不不 是质数,结束算法;否则令是质数,结束算法;否则令i=i+1第五步,判断第五步,判断“i(n-1)”是否成立,若是,是否成立,若是,则则n是质数,结束算法;否则返回第三步是质数,结束算法;否则返回第三步算法步骤有明确的顺序,有的步骤只有在一定算法步骤有明确的顺序,有的步骤只有在一定的条件下执行,有的步骤会重复执行。所以的条件下执行,有的步骤会重复执行。所以用程序框图表示的算法更加简练用程序框图表示的算法更加简练,直观直
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 11算法与程序框图 2 11 算法 程序 框图
限制150内