算法与程序框图_第1页
算法与程序框图_第2页
算法与程序框图_第3页
算法与程序框图_第4页
算法与程序框图_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.1算法与程序框图编辑ppt问题的提出

有一个农夫带一条狼狗、一只羊和一筐白菜过河。如果没有农夫看管,则狼狗要吃羊,羊要吃白菜。但是船很小,只够农夫带一样东西过河。问农夫该如何解此难题?方法和过程:1、带羊到对岸,返回;2、带菜到对岸,并把羊带回;3、带狼狗到对岸,返回;4、带羊到对岸。编辑ppt[问题1]请你写出解二元一次方程组的详细求解过程.编辑ppt解方程第一步,由(1)得第二步,将(3)代入(2)得第三步,解(4)得第四步,将(5)代入(3)得第五步,得到方程组的解得编辑ppt解方程第一步,第二步,第三步,第四步,第五步,得到方程组的解得编辑ppt广义地说:为了解决某一问题而采取的方法和步骤,就称之为算法。在数学中,按照一定规则解决某一类问题的明确和有限的步骤,称为算法。现在,算法通常可以编成计算机程序,让计算机执行并解决问题。这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.算法的概念:没有软件的支持,计算机只是一堆废铁而已;软件的核心就是算法!编辑ppt算法的特征一.确定性:每一步必须有确切的定义。二.有效性:原则上必须能够精确的运行。三.有穷性:一个算法必须保证执行有限步后结束算法的优缺点一.缺点:算法一般是机械的,有时需要进行大量重复的计算.二.优点:算法是一种通法,只要按照步骤去做,总能得到结果.编辑ppt广播操图解是广播操的算法;菜谱是做菜的算法;歌谱是一首歌曲的算法;空调说明书是空调使用的算法等我们身边的算法编辑ppt算法学的发展

随着科学技术的日新月异,算法学也得到了前所未有的发展,现在已经发展到了各个领域.有遗传算法,排序算法,加密算法,蚁群算法等,与生物学,计算机科学等有着很广泛的联系,尤其是在现在的航空航天中,更是有着更广泛的应用.

很多复杂的运算都是借助计算机和算法来完成的,在高端科学技术中有着很重要的地位.编辑ppt科学家王小云主导破解两大密码算法获百万大奖

编辑ppt

杨振宁教授为获得“求是杰出科学家奖”的山东大学特聘教授王小云颁发了获奖证书和奖金100万元人民币,表彰其密码学领域的杰出成就。

编辑ppt

应用举例例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是质数.编辑ppt

应用举例例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不是质数.编辑ppt任意给定一个大于1的整数n,试设计一个程序或步骤对n是否为质数做出判定.第一步:判断n是否等于2.若n=2,则n是质数;若n>2,则执行第二步.第二步:依次从2~(n-1)检验是不是n的因数,即整除n的数,若有这样的数,则n不是质数;若没有这样的数,则n是质数.这是判断一个大于1的整数n是否为质数的最基本算法.用语言描述一个算法,最便捷的方式就是按解决问题的步骤进行描述.每一步做一件事情.编辑ppt

应用举例例2.用二分法设计一个求方程的近似根的算法.编辑ppt

探究解决

对于区间[a,b]上连续不断、且f(a)f(b)<0的函数y=f(x),通过不断地把函数f(x)的零点所在的区间一分为二,使区间的两个端点逐步逼近零点,进而得到零点近似值的方法叫做二分法.编辑ppt

解决问题×第四步,若f(a)·f(m)<0,则含零点的区间为[a,m];第一步,令.给定精确度d.第二步,给定区间[a,b],满足f(a)·f(b)<0.第三步,取中间点.第五步,判断[a,b]的长度是否小于d或者f(m)是否等于0.将新得到的含零点的仍然记为[a,b]

.否则,含零点的区间为[m,b].

若是,则m是方程的近似解;否则,返回第三步.编辑ppt

解决问题abmf(m)d121.50.25111.51.25-0.43750.51.251.51.375-0.1093750.251.3751.51.43750.066406250.1251.3751.43751.40625-0.022460940.06251.406251.43751.4218750.0217285160.031251.406251.4218751.4140625-0.000427250.0156251.41406251.4218751.417968750.0106353760.00781251.41406251.4179691.416015630.005100250.00390625当d=0.05时评析:实际上,上述步骤就是在求的近似值.编辑ppt与一般的解决问题的过程比较,算法有以下特征:①设计一个具体问题的算法时,与过去熟悉地解数学题的过程有直接的联系,但这个过程必须被分解成若干个明确的步骤,而且这些步骤必须是有效的.②算法要“面面俱到”,不能省略任何一个细小的步骤,只有这样,才能在人设计出算法后,把具体的执行过程交给计算机完成.编辑ppt练习一:任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积.算法分析:第一步:输入任意一个正实数r;第二步:计算以r为半径的圆的面积S=πr2;第三步:输出圆的面积.课本5页1编辑ppt练习二:任意给定一个大于1的正整数n,设计一个算法求出n的所有因数.算法分析:第一步:依次以2~(n-1)为除数去除n,判断余数是否为0,若是,则是n的因数;若不是,则不是n的因数.第二步:在n的因数中加入1和n;第三步:输出n的所有因数.课本5页2编辑ppt练习三:为了加强居民的节水意识,某市制订了以下生活用水收费标准:每户每月用水未超过7m3时,每立方米收费1.0元,并加收0.2元的城市污水处理费;超过7m3的部分,每立方米收费1.5元,并加收0.4元的城市污水处理费,请你写出某户居民每月应交纳的水费y(元)与用水量x(m3)之间的函数关系,然后设计一个求该函数值的算法.解:y与x之间的函数关系为:(当0≤x≤7时)(当x>7时)编辑ppt解:y与x之间的函数关系为:(当0≤x≤7时)(当x>7时)求该函数值的算法分析:第一步:输入每月用水量x;第二步:判断x是否不超过7.若是,则y=1.2x;若否,则y=1.9x-4.9.第三步:输出应交纳的水费y.编辑ppt

计算机解决任何问题都要依赖于算法.只有将解决问题的过程分解为若干个明确的步骤,即算法,并用计算机能够接受的“语言”准确地描述出来,计算机才能够解决问题.编辑ppt1.1.2程序框图编辑ppt问题提出1.算法的含义是什么?

在数学中,按照一定规则解决某一类问题的明确和有限的步骤称为算法.

2.算法是由一系列明确和有限的计算步骤组成的,我们可以用自然语言表述一个算法,但往往过程复杂,缺乏简洁性,因此,我们有必要探究使算法表达得更加直观、准确的方法,这个想法可以通过程序框图来实现.编辑ppt知识探究(一):算法的程序框图思考1:“判断整数n(n>2)是否为质数”的算法步骤如何?第一步,给定一个大于2的整数n;第二步,令i=2;第三步,用i除n,得到余数r;第四步,判断“r=0”是否成立.若是,则n 不是质数,结束算法;否则,将i 的值增加1,仍用i表示;第五步,判断“i>(n-1)”是否成立,若是, 则n是质数,结束算法;否则,返回 第三步.编辑ppt开始输入ni=2求n除以i的余数ri的值增加1仍用i表示i≥n或r=0?n不是质数结束是否是n是质数否r=0?i=i+1

思考2

:为了使算法的程序或步骤表达得更为直观,我们更经常地用图形方式来表示它.编辑ppt

程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形.

通常,程序框图由程序框和流程线组成.一个或几个程序框的组合表示算法中的一个步骤;流程线是方向箭头,按照算法进行的顺序将程序框连接起来.编辑ppt思考3:基本的程序框和它们各自表示的功能?图形符号名称功能终端框(起止框)表示一个算法的起始和结束输入、输出框表示一个算法输入和输出的信息处理框(执行框)判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不”成立时标明“否”或“N”.判断框赋值、计算流程线连接程序框连接点连接程序框图的两部分编辑ppt开始输入ni=2求n除以i的余数ri的值增加1仍用i表示i≥n或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的因数存在.编辑ppt思考4:通过上述算法的两种不同表达方式的比较,你觉得用程序框图来表达算法有哪些特点?用程序框图表示的算法更加简练,直观,流向清楚.编辑ppt开始输入ni=2求n除以i的余数ri=i+1i≥n或r=0?n不是质数结束是否是n是质数否r=0?顺序结构思考:5:用程序框图来表示算法,有几种不同的基本逻辑结构?条件结构循环结构编辑ppt知识探究(二):算法的顺序结构思考1:任何一个算法各步骤之间都有明确的顺序性,在算法的程序框图中,由若干个依次执行的步骤组成的逻辑结构,称为顺序结构,用程序框图可以表示为:步骤n步骤n+1在顺序结构中可能会用到哪几种程序框和流程线??编辑ppt思考2:若一个三角形的三条边长分别为a,b,c,令,则三角形的面积

.你能利用这个公式设计一个计算三角形面积的算法步骤吗?第一步,输入三角形三条边的边长 a,b,c.

第二步,计算

.第三步,计算

.第四步,输出S.编辑ppt思考3:上述算法的程序框图如何表示?开始结束输出S输入a,b,c编辑ppt

例1一个笼子里装有鸡和兔共m只,且鸡和兔共n只脚,设计一个计算鸡和兔各有多少只的算法,并画出程序框图表示.顺序结构------理论迁移算法分析:

第一步,输入m,n.第二步,计算鸡的只数.第三步,计算兔的只数y=m-x.第四步,输出x,y.编辑ppt开始结束输出x,y输入m,ny=m-x程序框图:

编辑ppt

例2已知下图是“求一个正奇数的平方加5的值”的程序框图,若输出的数是30,求输入的数n的值.开始结束输入正整数n输出yy=x2+5x=2n-1编辑ppt练习:1.就(1)、(2)两种逻辑结构,说出各自的算法功能开始输入a,b结束sum=a+b输出sum开始输入a,b输出结束(1)(2)答案:(1)求直角三角形斜边长;(2)求两个数的和.编辑ppt2.已知梯形上底为2,下底为4,高为5,求其面积,设计出该问题的流程图.开始输出结束编辑ppt顺序结构的程序框图的基本特征:顺序结构知识小结(2)各程序框从上到下用流程线依次连接.(1)必须有两个起止框,穿插输入、输出框和处理框,没有判断框.(3)处理框按计算机执行顺序沿流程线依次排列.编辑ppt条件结构r=0?N不是质数n是质数是否知识探究(三):算法的条件结构编辑ppt条件结构---在一个算法中,经常会遇到一些条件的判断,算法的流向根据条件是否成立有不同的流向.条件结构就是处理这种过程的结构.满足条件?是否步骤A步骤B满足条件?是否步骤A编辑ppt课本例4:任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在.画出这个算法的程序框图.算法分析:第一步:输入3个正实数a,b,c;第二步:判断a+b>c,a+c>b,b+c>a是否同时成立,若是,则能组成三角形;若否,则组不成三角形.编辑ppt程序框图:开始输入a,b,ca+b>c,a+c>b,b+c>a是否同时成立?是存在这样的三角形不存在这样的三角形否结束编辑ppt练习1城区一中学生数学模块学分认定由模块成绩决定,模块成绩由模块考试成绩和平时成绩构成,各占50%,若模块成绩大于或等于60分,获得2学分,否则不能获得学分(为0分),设计一算法,通过考试成绩和平时成绩计算学分,并画出程序框图编辑ppt开始结束输入a,bS>=60?学分=2学分=0否是S=(a+b)*0.5输出学分编辑ppt算法步骤如下(课本例5):编辑ppt开始输入a,b,cX1=p+qX2=p-q输出x1,x2输出“方程没有实数根”输出p结束否是否是编辑ppt是练习2:设计一个求任意数的绝对值的算法,并画出程序框图.算法分析:第一步:输入数x;第二步:判断x≥0是否成立?若是,则|x|=x;若否,则|x|=-x.程序框图:开始输入xx≥0?输出x否输出-x结束编辑ppt练习3:画程序框图,对于输入的x值,输出相应的y值.开始程序框图x<0?是y=0否0≤x<1?是y=1否y=x输出y结束输入x编辑ppt练习4:为了加强居民的节水意识,某市制订了以下生活用水收费标准:每户每月用水未超过7m3时,每立方米收费1.0元,并加收0.2元的城市污水处理费;超过7m3的部分,每立方米收费1.5元,并加收0.4元的城市污水处理费,请你写出某户居民每月应交纳的水费y(元)与用水量x(m3)之间的函数关系,然后设计一个求该函数值的算法,并画出程序框图.解:y与x之间的函数关系为:(当0≤x≤7时)(当x>7时)编辑ppt解:y与x之间的函数关系为:(当0≤x≤7时)(当x>7时)算法分析:第一步:输入每月用水量x;第二步:判断x是否不超过7.若是,则y=1.2x;若否,则y=1.9x-4.9.第三步:输出应交纳的水费y.开始输入x0<x≤7?是y=1.2x否y=1.9x-4.9输出y结束程序框图编辑ppt练习5:1.就逻辑结构,说出其算法功能.开始结束输入xx>3?y=x-2输出yy=4-x否是开始max=a输入bmax>b?输出max结束max=b是否2.此为某一函数的求值程序图,则满足该流程图的函数解析式为()(不能写成分段函数).3.求函数的值的算法流程图.开始输入xX<2?y=-2输出y结束否是答案:1.求两个数中的最大值.答案:2.y=|x-3|+1.编辑ppt作业:P20页A组1;(画出程序框图)作业:设计房租收费的算法,其要求是:住房面积80平方米以内,每平方米收费3元,住房面积超过80平方米时,超过部分,每平方米收费5元.输入住房面积数,输出应付的房租.编辑ppt作业:设计房租收费的算法,其要求是:住房面积80平方米以内,每平方米收费3元,住房面积超过80平方米时,超过部分,每平方米收费5元.输入住房面积数,输出应付的房租.算法分析:第一步:输入住房面积S第二步:根据面积选择计费方式:如果S小于或等于80,则租金为M=s×3,否则为M=240+(S-80)×5第三步:输出房租M的值。开始结束输入面积S输出租金MS<=80M=3*SM=240+5*(S-8)否是编辑ppt课本50页1(1)课堂讲评开始程序框图x<0?是y=0否0≤x<1?是y=1否y=x输出y结束输入x上交作业:课本P50页A组1(2),(画出程序框图)编辑pptP:50页A组T1(2)开始程序框图x<0?是y=(x+2)2否x=0?是y=4否输出y结束输入xy=(x-2)2编辑ppt循环结构i=i+1i>n-1,或r=0?否是求n除以i的余数r

循环结构---在一些算法中,也经常会出现从某处开始,按照一定条件,反复执行某一步骤的情况,这就是循环结构.反复执行的步骤称为循环体.知识探究(四):算法的循环结构编辑ppt引例:设计一算法,求和:1+2+3+…+100第一步:确定首数a,尾数b,项数n;第二步:利用公式“总和=(首数+尾数)×项数/2”求和;第三步:输出求和结果。算法1:开始结束输入a,b,nS=(a+b)*n/2输出S编辑ppt课本例6:设计一个计算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来表示每一步的计算结果,从而把第i步表示为S=S+iS=0S=S+1S=S+2S=S+3…S=S+100编辑ppt求和:1+2+3+…+100S=S+i怎么用程序框图表示呢?思考1:i有什么作用?S呢?i=i+1S=S+iS=0S=S+1S=S+2S=S+3…S=S+100累加变量S来表示每一步的计算结果,从而把第i步表示为S=S+iS的初始值为0,i依次取1,2,…,100,由于i同时记录了循环的次数,所以i称为计数变量.编辑ppti=i+1S=S+i解决方法就是加上一个判断,判断是否已经加到了100,如果加到了则退出,否则继续加。试分析两种流程的异同点直到型结构当型结构S=S+ii=i+1是否S=S+ii=i+1否是i<=100?i>100?请填上判断的条件。编辑ppt程序框图:开始i=1S=0S=S+ii=i+1i>100?是输出S结束否直到型循环结构开始i=1S=0i≤100?是S=S+ii=i+1否输出S结束当型循环结构编辑ppt思考2:若将“i=1”改成“i=0”,则程序框图怎么改?开始结束输出SS=0否是i=0S=S+ii=i+1i>=100?开始结束输出Sum否是S=0i=0S=S+ii=i+1i<100?直到型循环结构当型循环结构编辑ppt结束S=S+ii=i+1i<=100?输出S否是i=1,S=0开始步骤A步骤B

思考:3:将步骤A和步骤B交换位置,结果会怎样?能达到预期结果吗?为什么?要达到预期结果,还需要做怎样的修改?

答:达不到预期结果;当i=100时,没有退出循环,i的值为101加入到S中;修改的方法是将判断条件改为i<100编辑ppt是循环体满足条件?否Until(直到型)循环说明(1)循环结构分为两种------当型和直到型.当型循环在每次执行循环体前对循环条件进行判断,当条件满足时执行循环体,不满足则停止;(当条件满足时反复执行循环体)直到型循环在执行了一次循环体之后,对控制循环条件进行判断,当条件不满足时执行循环体,满足则停止.(反复执行循环体,直到条件满足)循环体满足条件?是否While(当型)循环编辑ppt(2)注

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论