算法与程序框图全小节课件

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

算法与程序框图全小节课件1.1算法与程序框图1.1.1算法的概念学习目标:1.理解算法是描述处理有有限多个步骤的问题的方法的一种“语言”;2.会用自然语言描述解方程组等数学问题的算法。学习重点:能从整体上把握具体问题的解题步骤。学习难点:会用明确的语言描述算法的每一个步骤。[问题1]请你写出解二元一次方程组的详细求解过程.2121xyxy①②第一步:②×2+①得:5x=1③第二步:解③得:x=1/5第三步:将x=1/5代入①得:y=3/5第四步:得到方程组的解为:x=1/5y=3/5这些步骤就构成了解二元一次方程组的算法,我们可以根据这一算法编制计算机程序,教会计算机来解二元一次方程组.一般地,按照一定规则解决某一类问题的明确和有限的步骤称为算法.它是解决某一类问题的程序或步骤.1.算法的概念算法分析:第一步:判断n是否等于2.若n=2,则n是质数;若n2,则执行第二步.第二步:依次检验2~(n-1)这些整数是不是n的因素,即是不是整除n的数.若有这样的数,则n不是质数;若没有这样的数,则n是质数.说明:用语言描述一个算法,最便捷的方式就是按解决问题的步骤进行描述.每一步做一件事情.例1:任意给定一个大于1的整数n,试设计一个程序或步骤对n是否为质数做出判定练习2:任意给定一个大于1的正整数n,设计一个算法求出n的所有因数.算法:第一步:给定一个大于1的整数n第二步:i=1第三步:用i除n,得到余数r第四步:判断”r=0”是否成立,若是,则i是n的因数;(输出)若不是,则i不是n的因数.第五步:i=i+1第五步:判断”in”是否成立,若是,结束算法;否则,返回第三步.若是,则m为所求;例2:用二分法设计一个求方程x2–2=0的近似根的算法.算法分析:设所求近似根与精确解的差的绝对值不超过ε=0.005.第一步:令f(x)=x2–2.因为f(1)0,f(2)0,所以设a=1,b=2.第二步:令,2abm判断f(m)是否为0.若否,则继续判断f(a)f(m)大于0还是小于0.第三步:若f(a)f(m)0,则令a=m;否则,令b=m.第四步:判断|a–b|ε是否成立?若是,则a或b为满足条件的近似根;若否,则返回第二步.点评:上述算法也是求的近似值的算法.2练习:为了加强居民的节水意识,某市制订了以下生活用水收费标准:每户每月用水未超过7m3时,每立方米收费1.0元,并加收0.2元的城市污水处理费;超过7m3的部分,每立方米收费1.5元,并加收0.4元的城市污水处理费,请你写出某户居民每月应交纳的水费y(元)与用水量x(m3)之间的函数关系,然后设计一个求该函数值的算法.解:y与x之间的函数关系为:1.2,1.94.9xyx(当0≤x≤7时)(当x7时)解:y与x之间的函数关系为:1.2,1.94.9xyx(当0≤x≤7时)(当x7时)求该函数值的算法分析:第一步:输入每月用水量x;第二步:判断x是否不超过7.若是,则y=1.2x若否,则y=1.9x–4.9.第三步:输出应交纳的水费y.算法是建立在解法基础上的操作过程,算法不一定要有运算结果,答案可以由计算机解决,算法没有一个固定的模式,但有以下几个基本要求:(1)符合运算规则,计算机能操作;(2)每个步骤都有一个明确的计算任务;(3)对重复操作步骤返回处理;(4)步骤个数尽可能少;(5)每个步骤的语言描述要准确、简明.作业:课本P5页T1,2;步步高P93~94练习1:任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积.算法分析:第一步:输入任意一个正实数r;第二步:计算以r为半径的圆的面积S=πr2;第三步:输出圆的面积.作业订正:练习2:任意给定一个大于1的正整数n,设计一个算法求出n的所有因数.算法分析:第一步:依次从2~(n-1)为除数去除n,判断余数是否为0,若是,则是n的因数;若不是,则不是n的因数.第二步:在n的因数中加入1和n;第三步:输出n的所有因数.1.1.2程序框图(1)学习目标:1.了解程序框图的顺序结构、条件结构的画法及功能;2.能在“人肉计算机”中运行程序框图描述的算法。学习重点:启动“人肉计算机”,运行大量简单程序。学习难点:如何用多重条件结构处理复杂的分类讨论问题。从上节课我们知道:算法可以用自然语言来描述.如例1:为了使算法的程序或步骤表达得更为直观,我们更经常地用图形方式来表示它.任意给定一个大于1的整数n,试设计一个程序或步骤对n是否为质数做出判定。算法分析:第一步:判断n是否等于2.若n=2,则n是质数;若n2,则执行第二步.第二步:依次检验从2到(n-1)这些数能否整除n。若有这样的数,则n不是质数;若没有这样的数,则n是质数。开始输入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的因数存在.思考:比较自然语言和程序框图这两种不同的表达方式,你觉得用程序框图来表达算法有哪些优点?答:更加简洁,直观,执行的流程更清晰。程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形。基本的程序框和它们各自表示的功能如下:图形符号名称功能终端框(起止框)表示算法的起始和结束输入、输出框表示算法输入和输出的信息处理框(执行框)根据某条件是否成立改变程序执行的流向判断框赋值、计算等流程线连接程序框连接点连接程序框图的两部分程序框图的三种基本的逻辑结构顺序结构条件结构循环结构开始输入ni=2求n除以i的余数ri=i+1i≥n或r=0?n不是质数结束是否是n是质数否r=0?顺序结构用程序框图来表示算法,有三种不同的基本逻辑结构:条件结构循环结构(1)顺序结构-----是由若干个依次执行的处理步骤组成的。这是任何一个算法都离不开的基本结构。例1:已知一个三角形的三边边长分别为2,3,4,利用海伦-秦九韶公式设计一个算法,求出它的面积,画出算法的程序框图。已知三角形三边长分别为a,b,c,则三角形的面积为其中这个公式被称为海伦—秦九韶公式.()()()Sppapbpc2abcp算法分析:第二步:计算p的值。第三步:计算S=第四步:输出S的值。(2)(3)(4)pppp程序框图:开始2342p(2)(3)(4)Spppp输出S结束练习:黄皮P937,9,10,11,121.在设计计算机程序时要画出程序运行的程序框图,有了这个程序框图,再去设计程序就有了依据,从而就可以把整个程序用机器语言表述出来,因此程序框图是我们设计程序的基本和开端.2.规范程序框图的表示:(1)使用标准的框图符号;(2)框图一般按从上到下、从左到右的方向画,流程线要规范;(3)除判断框外,其它框图符号只有一个进入点和一个退出点;(4)在图形符号内描述的语言要非常简练、清楚.作业:步步高P95~96(2)条件结构---在一个算法中,经常会遇到一些条件的判断,算法的流向根据条件是否成立有不同的流向.条件结构就是处理这种过程的结构.条件结构用程序框图表示有两种形式:符合条件就执行“步骤A”,否则执行“步骤B”符合条件就执行“步骤A”,否则执行这个条件结构后的步骤.特征:程序框图:开始输入a,b,ca+bc,a+cb,b+ca是否同时成立?是存在这样的三角形不存在这样的三角形否结束算法分析:例1:任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在.画出这个算法的程序框图.第一步:输入3个正实数a,b,c;第二步:判断a+bc,a+cb,b+ca是否同时成立,若是,则能组成三角形;若否,则组不成三角形.例2:为了加强居民的节水意识,某市制订了以下生活用水收费标准:每户每月用水未超过7m3时,每立方米收费1.0元,并加收0.2元的城市污水处理费;超过7m3的部分,每立方米收费1.5元,并加收0.4元的城市污水处理费,请你写出某户居民每月应交纳的水费y(元)与用水量x(m3)之间的函数关系,然后设计一个求该函数值的算法,并画出程序框图.解:y与x之间的函数关系为:1.2,1.94.9xyx(当0≤x≤7时)(当x7时)解:y与x之间的函数关系为:1.2,1.94.9xyx(当0≤x≤7时)(当x7时)算法分析:第一步:输入每月用水量x;第二步:判断x是否不超过7.若是,则y=1.2x;若否,则y=1.9x-4.9.第三步:输出应交纳的水费y.开始输入x0x≤7?是y=1.2x否y=1.9x-4.9输出y结束程序框图练习1:画程序框图,对于输入的x值,输出相应的y值.0(0)1(01)(1)xyxxx开始程序框图x0?是y=0否0≤x1?是y=1否y=x输出y结束输入x是4(备选).设计一个求任意数的绝对值的算法,并画出程序框图.(0)||(xxxxx当时当0时)算法分析:第一步:输入数x;第二步:判断x≥0是否成立?若是,则|x|=x;若否,则|x|=-x.程序框图:开始输入xx≥0?输出x否输出-x结束1.条件结构是程序框图的重要组成部分.其特点是:先判断后执行.2.在利用条件结构画程序框图时要注意两点:一是需要判断条件是什么,二是条件判断后分别对应着什么样的结果.3.设计程序框图时,首先设计算法步骤,再转化为程序框图,待熟练后可以省略算法步骤直接画出程序框图,对于算法中分类讨论的步骤,通常设计成条件结构来解决.作业:步步高P97~98(3)循环结构---在一些算法中,也经常会出现从某处开始,按照一定条件,反复执行某一步骤的情况,这就是循环结构.反复执行的步骤称为循环体.注意:循环结构不能是永无终止的“死循环”,一定要在某个条件下终止循环,这就需要条件结构来作出判断,因此,循环结构中一定包含条件结构.名称结构图特征直到型循环结构先执行循环体后判断条件,若不满足条件则,否则当型循环结构先对条件进行判断,满足时,否则常见的两种循环结构执行循环体终止循环执行循环体终止循环例1:设计一个计算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的初始值为0,i依次取1,2,…,100,由于i同时记录了循环的次数,所以i称为计数变量.程序框图:开始i=1S=0S=S+ii=i+1i100?是输出S结束否直到型循环结构开始i=1S=0i≤100?是S=S+ii=i+1否输出S结束当型循环结构说明:(1)一般地,循环结构中都有一个计数变量和累加变量.计数变量用于记录循环次数,同时它的取值还用于判断循环是否终止,累加变量用于输出结果.累加变量和计数变量一般是同步执行的,累加一次,记数一次.(2)循环结构分为两种------当型和直到型.当型循环在每次执行循环体前对循环条件进行判断,当条件满足时执行循环体,不满足则停止;(当条件满足时反复执行循环体)直到型循环在执行了一次循环体之后,对控制循环条件进行判断,当条件不满足时执行循环体,满足则停止.(反复执行循环体,直到条件满足)程序框图:开始i=1S=0S=S+ii=i+1i100?是输出S结束否直到型循环结构开始i=1S=0i≤100?是S=S+ii=i+1否输出S结束当型循环结构跟踪训练2设计求1×2×3×4×…×2011×2012的值的算法,并画出程序框图.解算法如下:第一步,设M的值为1;第二步,设i的值为2;第三步,如果i≤2012,则执行第四步,否则

1 / 42
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功