您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 高二数学课件11算法流程图高二数学课件
作者:冯建成单位:广宁中学日期:2004年4月1日联系:13822649360制作软件:PowerPoint2002[XPE-mail:zqxiaofeng@163.comHomepage:任意给定一个大于1的整数n,试设计一个算法判定n是否为质数.算法分析:1.判断n是否等于2,如果n=2,则n为质数,若n2,则执行第2步.2.依次从2到n-1检验是不是n的因数(即是否整除n).若存在这样的数,则n不是质数,若不存在这样的数,则n为质数.以上是用自然语言描述一个算法.为了使得算法的描述更为直观和步骤化,下面介绍另一种描述算法的方法:流程图.流程图的通俗解释:由一些图框和有向箭头构成,表示算法按一定的顺序执行.上例算法的流程图(见下页)复习:流程图的图形符号:观察右边的流程图:(1)有箭头指向的线.(2)不同形状的框图.结束8开始Flag=1n2?d=2输入nd=n-1且flag==1?d整除n?Flag=0Flag==1?d=d+1是是是否否是否否(1)(2)否算法中从上一步骤指向下一步骤流程线用来根据给定的条件是否满足决定执行两条路径中的某一路径判断框赋值、运算执行框表示输入输出操作输入,输出框表示一个算法的起始与结束起止框含义名称图形符号2.对程序框表示的功能描述正确的一项是:…().A.表示算法的起始和结束.B.表示算法输入和输出的信息.C.赋值、计算.D.按照算法顺序连接程序图框.1.流程图的功能是:…………………..().A.表示算法的起始和结束.B.表示算法的输入和输出信息.C.赋值、运算.D.按照算法顺序连接程序图框.答案:D,B练习:Flag=1输入n否d=n-1且flag==1?d整除n?Flag=0d=d+1是是否(1)(2)Flag==1?是否d=2否n2?是条件结构顺序结构循环结构算法三种基本逻辑结构开始结束算法三种基本逻辑结构(顺序结构、条件结构、循环结构)流程图表示,实例,程序演示:顺序、条件、循环三种基本的逻辑结构:1.顺序结构:最简单的算法结构,框与框之间从上到下进行。任何算法都离不开顺序结构。AB实例:三角形ABC的底BC为4,高AD为2,求三角形ABC的面积S,试设计该问题的算法和流程图.解:算法如下:1.底BC为a=4,高AD为b=2.2.S=1/2ab3.输出S.流程图:开始a=4,b=2S=1/2ab输出S结束练习:利用梯形的面积公式计算上底为2,下底为4,高为5的梯形面积.试设计该问题的算法和流程图.解:算法如下:1.a=2,b=4,h=5;2.S=(a+b)*h/23.输出S.流程图:开始a=2b=4h=5.输出S.结束程序实现:main(){inta,b,h,s;a=2,b=4,h=5;s=(a+b)*h/2printf(“s=%d”,s);}输出:15注:txmz.cS=(a+b)*h/2(2).条件结构:一个算法的执行过程中会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向.如图:PAB是(1)否(2)设计求一个数x的绝对值y=x的算法并画出相应的流程图:练习:分析:根据绝对值的定义,当x≥0,y=x;当x0时,y=-x,所以当给出一个自变量x的值,求它所对应的y值时必需先判断x的范围,所以要用到条件结构.解:算法分析:1.输入x.2.如果x≥0,y=x,否则y=-x..3.输出y.流程图:程序实现:main(){floatx,y;scanf(“%f%f”,&a,&b);if(x=0)y=x;elsey=-x;printf(“%f\n”,y);}输入:5-10输出:510注:jdzhi.c开始输入xy=xy=-x输出y结束是否x≥0?例:联邦快递公司规定甲、乙两地之间物品的托运费用根据下面的方法计算:其中f(单位:元)为托运费,ω为托运物品的重量(单位:千克),试画出计算费用f的程序框图。0.5350f=500.53500.8550自然语言是:第一步:输入物品重量ω;第二步:如果ω≦50,那么f=0.53ω,否则f=50×0.53+(ω-50)×0.85;第三步:输出托运费f.(3)循环结构:需要重复执行同一操作的结构称为循环结构.即从某处开始按照一定的条件反复执行某一处理步骤.反复执行处理的步骤称为循环体.注:循环结构一定包含条件结构.实例:1+2+3+4+5+6+7+…..+100=?分析:只需要一个累加变量sum和计数变量i.将累加变量sum初值赋为0,计数变量i从1到100变化.算法分析:(见下页)1.sum=0;2.i=1;3.sum=sum+i;4.i=i+1;5.如果i小于等于100,返回重新执行第3步,第4步,第5步,否则结束,得到sum值.sum=1+2+3+4+5+6+........+100.流程图:开始Sum=0i=i+1Sum=sum+ii=1输出sum结束i=100第一次循环sum=第二次循环sum=第三次循sum=分析:初值sum=0,i=140+1=1,i=21+2=3,i=33+3=6Sum=1Sum=1+2Sum=1+2+3……Sum=1+2+3+…100是否练习:1+3+5+7+……+31=?分析:只需要一个累加变量sum和计数变量i.将累加变量sum初值赋为0,计数变量i从1到31变化.算法分析:(见下页)开始Sum=0i=i+1Sum=sum+ii=1输出sum结束i=100i=31开始Sum=0i=1输出sum结束流程图:Sum=sum+i算法分析:(1).sum=0;(2).i=1;(3).sum=sum+i;(4).i=i+2;(5).如果i小于等于31,返回重新执行第3步,第4步,第5步,否则结束,得到sum的值,sum=1+3+5+7+……+31.i=i+2mian(){intsum,i;sum=0;i=1;for(i=31){sum=sum+i;i=i+2;}printf(“%d\n”,sum);}注:ljia.c程序实现:第二次循环sum=第三次循sum=4+5=9…..sum=1+3+5+…+31初值sum=0,i=160+1=1第一次循环sum=,i=31+3=4,i=5是否任意给定一个大于1的整数n,试设计一个算法判定n是否为质数.并用程序实现。三种结构的综合应用:(1)n=5开始Flag=1n2d=2输入nd=n-1且flag=1?d整除n?Flag=0Flag=1?结束d=d+1是是是否否是否否(1)(2)(2)n=48否程序实现:main(){intflag,n,d;scanf(%d\n,&n);flag=1;if(n2)for(d=2;d=n-1&&flag==1;d++){if(n%d==0)flag=0;}if(flag==1){printf(%d,n);printf(shigesushu\n);}else{printf(%d,n);printf(bushiyigesushu\n);}}注:sushu.c
本文标题:高二数学课件11算法流程图高二数学课件
链接地址:https://www.777doc.com/doc-5887937 .html