算法与程序框图 .pptx
《算法与程序框图 .pptx》由会员分享,可在线阅读,更多相关《算法与程序框图 .pptx(76页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、问题的提出问题的提出 有一个农夫带一条狼狗、一只羊和有一个农夫带一条狼狗、一只羊和一筐白菜过河。如果没有农夫看管,则一筐白菜过河。如果没有农夫看管,则狼狗要吃羊,羊要吃白菜。但是船很小,狼狗要吃羊,羊要吃白菜。但是船很小,只够农夫带一样东西过河。问农夫该如只够农夫带一样东西过河。问农夫该如何解此难题?何解此难题?方法和过程方法和过程:1、带羊到对岸,返回;带羊到对岸,返回;2、带菜到对岸,并把羊带回;带菜到对岸,并把羊带回;3、带狼狗到对岸,返回;带狼狗到对岸,返回;4、带羊到对岸。带羊到对岸。第1页/共76页问题问题1请你写出解二元一次方程组的详细求解请你写出解二元一次方程组的详细求解过程过
2、程.第2页/共76页解方程解方程第一步第一步,由(由(1)得)得第二步第二步,将(将(3)代入()代入(2)得)得第三步第三步,解(解(4)得)得第四步第四步,将(将(5)代入()代入(3)得)得第五步第五步,得到方程组的解得得到方程组的解得第3页/共76页解方程解方程第一步第一步,第二步第二步,第三步第三步,第四步第四步,第五步第五步,得到方程组的解得得到方程组的解得第4页/共76页广义地说:为了解决某一问题而采取的方法和步骤,就称之为算法。在数学中,按照一定规则解决某一类问在数学中,按照一定规则解决某一类问题的题的明确明确和和有限有限的步骤,的步骤,称为算法。现在,算法通常可以编成计算机程
3、序,让计算机执行并解决问题。这些程序或步骤必须是这些程序或步骤必须是明确明确和和有效有效的的,而且能够在而且能够在有限步有限步之内完成之内完成.算法的概念算法的概念:没有软件的支持,计算机只是一堆废铁而已;没有软件的支持,计算机只是一堆废铁而已;软件的核心就是算法软件的核心就是算法 !第5页/共76页算法的特征一.确定性:每一步必须有确切的定义。二.有效性:原则上必须能够精确的运行。三.有穷性:一个算法必须保证执行有限步 后结束算法的优缺点一.缺点:算法一般是机械的,有时需要进行大量重复的计算.二.优点:算法是一种通法,只要按照步骤去做,总能得到结果.第6页/共76页广播操图解是广播操的算法;
4、广播操图解是广播操的算法;菜谱是做菜的算法;菜谱是做菜的算法;歌谱是一首歌曲的算法;歌谱是一首歌曲的算法;空调说明书是空调使用的算法等空调说明书是空调使用的算法等我们身边的算法第7页/共76页算法学的发展 随着科学技术的日新月异,算法学也得到了前所未有的发展,现在已经发展到了各个领域.有遗传算法遗传算法,排序算法排序算法,加密算法加密算法,蚁群算法蚁群算法等,与生物学,计算机科学等有着很广泛的联系,尤其是在现在的航空航天中,更是有着更广泛的应用.很多复杂的运算都是借助计算机和算法来完成的,在高端科学技术中有着很重要的地位.第8页/共76页科学家王小云主导破解两大密码算法获百万大奖 第9页/共7
5、6页杨振宁教授为获得杨振宁教授为获得“求是杰出科学家奖求是杰出科学家奖”的山的山东大学特聘教授王小云颁东大学特聘教授王小云颁发了获奖证书和奖金发了获奖证书和奖金100100万元人民币,表彰其密码万元人民币,表彰其密码学领域的杰出成就。学领域的杰出成就。第10页/共76页 应用举例应用举例 例1.(1)设计一个算法判断7是否为质数.第一步第一步,用用2除除7,得到余数得到余数1.因为余数不为因为余数不为0,所以所以2不能整除不能整除7.第二步第二步,用用3除除7,得到余数得到余数1.因为余数不为因为余数不为0,所以所以3不能整除不能整除7.第三步第三步,用用4除除7,得到余数得到余数3.因为余数
6、不为因为余数不为0,所以所以4不能整除不能整除7.第四步第四步,用用5除除7,得到余数得到余数2.因为余数不为因为余数不为0,所以所以5不能整除不能整除7.第五步第五步,用用6除除7,得到余数得到余数1.因为余数不为因为余数不为0,所以所以6不能整除不能整除7.因此,因此,7是质数是质数.第11页/共76页 应用举例应用举例 例1.(2)设计一个算法判断35是否为质数.第一步第一步,用用2除除35,得到余数得到余数1.因为余数不为因为余数不为0,所以所以2不能整除不能整除35.第二步第二步,用用3除除35,得到余数得到余数2.因为余数不为因为余数不为0,所以所以3不能整除不能整除35.第三步第
7、三步,用用4除除35,得到余数得到余数3.因为余数不为因为余数不为0,所以所以4不能整除不能整除7.第四步第四步,用用5除除35,得到余数得到余数0.因为余数为因为余数为0,所以所以5能整除能整除35.因此,因此,35不是质数不是质数.第12页/共76页任意给定一个大于任意给定一个大于1 1的整数的整数n,试设计一个程序或步骤试设计一个程序或步骤对对n是否为质数做出判定是否为质数做出判定.第一步:判断第一步:判断n是否等于是否等于2.2.若若n=2=2,则,则n是质数;是质数;若若n2 2,则执行第二步,则执行第二步.第二步第二步:依次从依次从2 2(n1)检验是不是)检验是不是n的因的因数,
8、即整除数,即整除n的数的数,若有这样的数,则若有这样的数,则n不是质不是质数;若没有这样的数,则数;若没有这样的数,则n是质数是质数.这是判断一个大于这是判断一个大于1 1的整数的整数n是否为质数的是否为质数的最基本算法最基本算法.用语言描述一个算法用语言描述一个算法,最便捷的方式就是按最便捷的方式就是按解决问题的步骤进行描述解决问题的步骤进行描述.每一步做一件事每一步做一件事情情.第13页/共76页 应用举例应用举例 例2.用二分法设计一个求方程的近似根的算法.第14页/共76页 探究解决探究解决 对于区间对于区间a,b 上连续不断、且上连续不断、且f(a)f(b)0的函数的函数y=f(x)
9、,通过不断地通过不断地把函数把函数f(x)的零点所在的区间一分的零点所在的区间一分为二,使区间的两个端点逐步逼近为二,使区间的两个端点逐步逼近零点,进而得到零点近似值的方法零点,进而得到零点近似值的方法叫做叫做二分法二分法.第15页/共76页 解决问题解决问题 第四步第四步,若若f(a)f(m)7时时)第21页/共76页解解:y与与x之间的函数关系为之间的函数关系为:(当当0 x7时时)(当当x7时时)求该函数值的算法分析求该函数值的算法分析:第一步第一步:输入每月用水量输入每月用水量x;第二步第二步:判断判断x是否不超过是否不超过7.若是若是,则则y=1.2x;若否若否,则则y=1.9x-4
10、.9.第三步第三步:输出应交纳的水费输出应交纳的水费y.第22页/共76页计算机解决任何问题都要依赖计算机解决任何问题都要依赖于算法于算法.只有将解决问题的过程分只有将解决问题的过程分解为解为若干个明确的步骤若干个明确的步骤,即即算法算法,并并用用计算机能够接受的计算机能够接受的“语言语言”准准确地描述出来确地描述出来,计算机才能够解决计算机才能够解决问题问题.第23页/共76页1.1.2 程序框图程序框图 第24页/共76页问题提出问题提出1.1.算法的含义是什么?算法的含义是什么?在数学中,按照一定规则解决某一在数学中,按照一定规则解决某一类问题的明确和有限的步骤称为算法类问题的明确和有限
11、的步骤称为算法.2.2.算法是由一系列明确和有限的计算步算法是由一系列明确和有限的计算步骤组成的,我们可以用自然语言表述一骤组成的,我们可以用自然语言表述一个算法,但往往过程复杂,缺乏简洁性,个算法,但往往过程复杂,缺乏简洁性,因此,我们有必要探究使算法表达得更因此,我们有必要探究使算法表达得更加直观、准确的方法,这个想法可以通加直观、准确的方法,这个想法可以通过程序框图来实现过程序框图来实现.第25页/共76页知识探究(一):算法的程序框图知识探究(一):算法的程序框图思考思考1:1:“判断整数判断整数n n(n n2 2)是否为质数)是否为质数”的的算法步骤如何?算法步骤如何?第一步第一步
12、,给定一个大于,给定一个大于2 2的整数的整数n n;第二步第二步,令,令i=2i=2;第三步第三步,用,用i i除除n n,得到余数,得到余数r r;第四步第四步,判断,判断“r=0”r=0”是否成立是否成立.若是,则若是,则n n 不是质数,结束算法;否则,将不是质数,结束算法;否则,将i i 的值增加的值增加1 1,仍用,仍用i i表示;表示;第五步第五步,判断,判断“i i(n-1)”(n-1)”是否成立,若是,是否成立,若是,则则n n是质数,结束算法;否则,返回是质数,结束算法;否则,返回 第三步第三步.第26页/共76页开始输入ni=2求n除以i的余数ri的值增加1仍用i表示in
13、或r=0?n不是质数结束是是否否是是n是质数否否r=0?i=i+1 思考思考2:为了使算法为了使算法的程序或步的程序或步骤表达得更骤表达得更为直观为直观,我们我们更经常地用更经常地用图形方式图形方式来来表示它表示它.第27页/共76页程序框图程序框图又称又称流程图流程图,是一种用规定的图形、是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的指向线及文字说明来准确、直观地表示算法的图形图形.通常通常,程序框图由程序框图由程序框程序框和和流程线流程线组成组成.一个或几个程序框的组合一个或几个程序框的组合表示算法中的表示算法中的一个步骤一个步骤;流程线流程线是是方向箭头方向箭头,按照算法进
14、行的顺序将程序按照算法进行的顺序将程序框连接起来框连接起来.第28页/共76页思考思考3:基本的程序框和它们各自表示的功能?基本的程序框和它们各自表示的功能?图形符号图形符号名称名称功能功能终端框终端框(起止框起止框)表示一个算法的起始表示一个算法的起始和结束和结束输入、输输入、输出框出框表示一个算法输入和表示一个算法输入和输出的信息输出的信息处理框处理框(执行框执行框)判断某一条件是否成立判断某一条件是否成立,成立成立时在出口处标明时在出口处标明“是是”或或“Y”;不;不”成立时标明成立时标明“否否”或或“N”.判断框判断框赋值、计算赋值、计算流程线流程线连接程序框连接程序框连接点连接点连接
15、程序框图的两部分连接程序框图的两部分第29页/共76页开始输入ni=2求n除以i的余数ri的值增加1仍用i表示in或r=0?n不是质数结束是是否否是是n是质数否否r=0?设n是一个大于2的整数.一般用i=i+1表示.i=i+1说明说明:i表示从表示从2(n-1)的所有正整数的所有正整数,用以用以判断例判断例1步骤步骤2是否终是否终止止,i是一个计数变量是一个计数变量,有了这个变量有了这个变量,算法算法才能依次执行才能依次执行.逐步逐步考察从考察从2(n-1)的所的所有正整数中是否有有正整数中是否有n的因数存在的因数存在.第30页/共76页思考思考4:通过上述算法的两种不同表达方式的比:通过上述
16、算法的两种不同表达方式的比较较,你觉得用程序框图来表达算法有哪些特点你觉得用程序框图来表达算法有哪些特点?用程序框图表示的算法更加简练用程序框图表示的算法更加简练,直观直观,流向清楚流向清楚.第31页/共76页开始输入ni=2求n除以i的余数ri=i+1in或r=0?n不是质数结束是是否否是是n是质数否否r=0?顺序结构思考思考:5:用程序框图来表示:用程序框图来表示算法,有几种不同的基本逻算法,有几种不同的基本逻辑结构?辑结构?条件结构循环结构第32页/共76页知识探究(二):算法的顺序结构知识探究(二):算法的顺序结构思考思考1:1:任何一个算法各步骤之间都有明确的任何一个算法各步骤之间都
17、有明确的顺序性,在算法的程序框图中,由若干个依顺序性,在算法的程序框图中,由若干个依次执行的步骤组成的逻辑结构,称为次执行的步骤组成的逻辑结构,称为顺序结顺序结构构,用程序框图可以表示为:,用程序框图可以表示为:步骤步骤n步骤步骤n+1在顺序结构中可能在顺序结构中可能会用到哪几种程序会用到哪几种程序框和流程线?框和流程线??第33页/共76页思考思考2:2:若一个三角形的三条边长分别为若一个三角形的三条边长分别为a a,b b,c c,令,令 ,则三角形的面积,则三角形的面积 .你能利用这个公式你能利用这个公式设计一个计算三角形面积的算法步骤吗?设计一个计算三角形面积的算法步骤吗?第一步,输入
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法与程序框图 算法 程序 框图
限制150内