收藏 分享(赏)

算法与程序框图_ppt.ppt

上传人:微传9988 文档编号:3478159 上传时间:2018-11-03 格式:PPT 页数:39 大小:360.50KB
下载 相关 举报
算法与程序框图_ppt.ppt_第1页
第1页 / 共39页
算法与程序框图_ppt.ppt_第2页
第2页 / 共39页
算法与程序框图_ppt.ppt_第3页
第3页 / 共39页
算法与程序框图_ppt.ppt_第4页
第4页 / 共39页
算法与程序框图_ppt.ppt_第5页
第5页 / 共39页
点击查看更多>>
资源描述

1、1.1算法与程序框图,问题的提出,有一个农夫带一条狼狗、一只羊和一筐白菜过河。如果没有农夫看管,则狼狗要吃羊,羊要吃白菜。但是船很小,只够农夫带一样东西过河。问农夫该如何解此难题?,方法和过程:,1、带羊到对岸,返回;,2、带菜到对岸,并把羊带回;,3、带狼狗到对岸,返回;,4、带羊到对岸。,广义地说:为了解决某一问题而采取的方法和步骤,就称之为算法。,在数学中,按照一定规则解决某一类问题的明确和有限的步骤,称为算法。,现在,算法通常可以编成计算机程序,让计算机执行并解决问题。这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.,算法的概念:,没有软件的支持,计算机只是一堆废铁而已;,

2、软件的核心就是算法 !,算法的特征,一.确定性:每一步必须有确切的定义。 二.有效性:原则上必须能够精确的运行。 三.有穷性:一个算法必须保证执行有限步 后结束,算法的优缺点,一.缺点:算法一般是机械的,有时需要进行大量重复的计算. 二.优点:算法是一种通法,只要按照步骤去做,总能得到结果.,广播操图解是广播操的算法; 菜谱是做菜的算法; 歌谱是一首歌曲的算法; 空调说明书是空调使用的算法等,我们身边的算法,应用举例,例1.(1)设计一个算法判断7是否为质数.,第一步, 用2除7,得到余数1.因为余数不为0,所以2不能整除7.,第二步, 用3除7,得到余数1.因为余数不为0,所以3不能整除7.

3、,第三步, 用4除7,得到余数3.因为余数不为0,所以4不能整除7.,第四步, 用5除7,得到余数2.因为余数不为0,所以5不能整除7.,第五步, 用6除7,得到余数1.因为余数不为0,所以6不能整除7.因此,7是质数.,应用举例,例1.(2)设计一个算法判断49是否为质数.,第一步, 用2除49,得到余数1.因为余数不为0,所以2不能整除49.,第二步, 用3除49,得到余数1.因为余数不为0,所以3不能整除49.,第三步, 用4除49,得到余数1.因为余数不为0,所以4不能整除49.,第四步, 用5除49,得到余数4.因为余数不为0,所以5不能整除49. 第五步,用6除49,得余数为1,因

4、为余数不为0,所以6不能整除49. 第六步,用7除49,得余数为0,因此49不是质数。,任意给定一个大于1的整数n,试设计一个程序或步骤对n是否为质数做出判定.,第一步:判断n是否等于2.若n=2,则n是质数;若n2,则执行第二步.,第二步:依次从2(n1)检验是不是n的因数,即整除n的数,若有这样的数,则n不是质数;若没有这样的数,则n是质数.,这是判断一个大于1的整数n是否为质数的最基本算法. 用语言描述一个算法,最便捷的方式就是按解决问题的步骤进行描述.每一步做一件事情.,应用举例,探究解决,对于区间a,b 上连续不断、且 f(a)f(b)0的函数y=f(x),通过不断地 把函数f(x)

5、的零点所在的区间一分 为二,使区间的两个端点逐步逼近 零点,进而得到零点近似值的方法 叫做二分法.,解决问题,第四步, 若f(a) f(m) 0,则含零点的区间为a,m;,第一步, 令 .给定精确度d.,第二步, 给定区间a,b,满足f(a) f(b)0,第三步, 取中间点 ,第五步, 判断a,b的长度是否小于d或者 f(m)是否等于.,将新得到的含零点的仍然记为a,b .,否则,含零点的区间为m, b.,若是,则m是方程的近似 解;否则,返回第三步,解决问题,当d=0.05时,评析:实际上,上述步骤就是在求 的近似值.,与一般的解决问题的过程比较,算法有以下特征: 设计一个具体问题的算法时,

6、与过去熟悉地解数学题的过程有直接的联系,但这个过程必须被分解成若干个明确的步骤,而且这些步骤必须是有效的. 算法要“面面俱到”,不能省略任何一个细小的步骤,只有这样,才能在人设计出算法后,把具体的执行过程交给计算机完成.,练习一:任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积.,算法分析:,第一步:输入任意一个正实数r; 第二步:计算以r为半径的圆的面积S=r2; 第三步:输出圆的面积.,课本5页 1,练习二:任意给定一个大于1的正整数n,设计一个算法求出n的所有因数.,算法分析:,第一步:依次以2(n-1)为除数去除n,判断余数是否为0,若是,则是n的因数;若不是,则不是n的因数

7、. 第二步:在n的因数中加入1和n; 第三步:输出n的所有因数.,课本5页 2,计算机解决任何问题都要依赖于算法.只有将解决问题的过程分解为若干个明确的步骤,即算法,并用计算机能够接受的“语言”准确地描述出来,计算机才能够解决问题.,1.1.2 程序框图,从上节课我们知道:算法可以用自然语言来描述.如例1,为了使算法的程序或步骤表达得更为直观,我们更经常地用图形方式来表示它.,i=i+1,程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形.,通常,程序框图由程序框和流程线组成.,一个或几个程序框的组合表示算法中的一个步骤;,流程线是方向箭头,按照算法进行的顺序

8、将程序 框连接起来.,基本的程序框和它们各自表示的功能如下:,终端框(起止框),表示一个算法的起始和结束,输入、输出框,表示一个算法输入和输出的信息,处理框(执行框),判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不”成立时标明“否”或“N”.,判断框,赋值、计算,流程线,连接程序框,连接点,连接程序框图的两部分,设n是一个大于2的整数.,一般用i=i+1表示.,i=i+1,说明:i表示从2(n-1)的所有正整数,用以判断例1步骤2是否终止,i是一个计数变量,有了这个变量,算法才能依次执行.逐步考察从2(n-1)的所有正整数中是否有n的因数存在.,思考?通过上述算法的两种不同表达方式

9、的比较,你觉得用程序框图来表达算法有哪些特点?,用程序框图表示的算法更加简练,直观,流向清楚.,顺序结构,用程序框图来表示算法,有三种不同的基本逻辑结构:,条件结构,循环结构,程序框图的三种基本的逻辑结构,顺序结构,条件结构,循环结构,(1)顺序结构-是由若干个依次执行的处理步骤组成的.这是任何一个算法都离不开的基本结构.,例1:已知一个三角形的三边边长分别为2,3,4,利用海伦-秦九韶公式设计一个算法,求出它的面积,画出算法的程序框图.,算法分析:,第一步:计算p的值.,第二步:由海伦-秦九韶公式求出三角形的面积S.,第三步:输出S的值.,(1)顺序结构-是由若干个依次执行的处理步骤组成的.

10、这是任何一个算法都离不开的基本结构.,例1:已知一个三角形的三边边长分别为2,3,4,利用海伦-秦九韶公式设计一个算法,求出它的面积,画出算法的程序框图.,算法分析:,第一步:计算p的值.,第二步:由海伦-秦九韶公式求出三角形的面积S.,第三步:输出S的值.,程序框图:,开始,输出S,结束,画出:已知三角形的三边长a,b,c,求它的面积的程序框图.,开始,输出S,结束,输入a,b,c,已知三角形三边长分别为a,b,c,则三角形的面积为其中 这个公式被称为海伦秦九韶公式.,返回,(2)条件结构-在一个算法中,经常会遇到一些条件的判断,算法的流向根据条件是否成立有不同的流向.条件结构就是处理这种过

11、程的结构.,例2:任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在.画出这个算法的程序框图.,算法分析:,第一步:输入3个正实数a,b,c;,第二步:判断a+bc,a+cb,b+ca是否同时成立,若是,则能组成三角形;若否,则组不成三角形.,程序框图:,开始,输入a,b,c,a+bc,a+cb,b+ca是否 同时成立?,是,存在这样的 三角形,不存在这样的 三角形,否,结束,课本50页1(1),开始,程序框图,x0?,是,y=0,否,0x1?,是,y=1,否,y=x,输出y,结束,输入x,作业: 课本P50页A组1(2), (画出程序框图),(3)循环结构-在一些

12、算法中,也经常会出现从某处开始,按照一定条件,反复执行某一步骤的情况,这就是循环结构.,反复执行的步骤称为循环体.,注意:循环结构不能是永无终止的“死循环”,一定要在某个条件下终止循环,这就需要条件结构来作出判断,因此,循环结构中一定包含条件结构.,例3:设计一个计算1+2+3+100的值的算法,并画出程序框图.,算法分析:,第1步:0+1=1; 第2步:1+2=3; 第3步:3+3=6; 第4步:6+4=10 第100步:4950+100=5050.,第(i-1)步的结果+i=第i步的结果,各步骤有共同的结构:,为了方便有效地表示上述过程,我们引进一个累加变量S来表示每一步的计算结果,从而把

13、第i步表示为 S=S+i,S的初始值为0,i依次取1,2,100,由于i同时记录了循环的次数,所以i称为计数变量.,程序框图:,开始,i=1,S=0,S=S+i,i=i+1,i100?,是,输出S,结束,否,直到型循环结构,开始,i=1,S=0,i100?,是,S=S+i,i=i+1,否,输出S,结束,当型循环结构,说明:,循环结构分为两种-当型和直到型.,当型循环在每次执行循环体前对循环条件进行判断,当条件满足时执行循环体,不满足则停止; (当条件满足时反复执行循环体)(WHILE),直到型循环在执行了一次循环体之后,对控制循环条件进行判断,当条件不满足时执行循环体,满足则停止. (反复执行循环体,直到条件满足)(UNTIL),作业:,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 实用文档 > 教育范文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报