人教版高一数学 1.1.2程序框图 课件1 新人教A必修3.ppt
1.1.2 程序框图程序框图2021/8/9 星期一1上节课例上节课例1:任意给定一个大于任意给定一个大于1的整数的整数n,试设计一个试设计一个算法判定算法判定n是否为质数是否为质数.算法分析:算法分析:1.判断判断n是否等于是否等于2,如果如果n=2,则则 n为质数为质数,若若n2,则执行第则执行第2步步.2.依次从依次从2到到n-1检验是不是检验是不是n的因数的因数(即是否整除即是否整除n).若存在这样若存在这样的数的数,则则n不是质数不是质数,若不存在这样的数若不存在这样的数,则则n为质数为质数.以上是用自然语言描述一个算法以上是用自然语言描述一个算法.为了使得算法的描述更为直观和为了使得算法的描述更为直观和步骤化步骤化,下面介绍另一种描述算法的方法下面介绍另一种描述算法的方法:流程图流程图.流程图的通俗解释流程图的通俗解释:由一些图框和有向箭头构成由一些图框和有向箭头构成,表示算法按一表示算法按一定的顺序执行定的顺序执行.上例算法的流程图上例算法的流程图(见下页)复习复习:2021/8/9 星期一2流程图的图形符号流程图的图形符号:观察右边的流程图观察右边的流程图:(1)有箭头指向的线有箭头指向的线.(2)不同形状的框图不同形状的框图.结束结束开始开始Flag=1n2?d=2输入输入nd=n-1且且flag=1?N不是质数不是质数n是质数是质数d整除整除n?Flag=0Flag=1?d=d+1是是是是是是否否否否是是否否否否(1)(2)否否2021/8/9 星期一3算法中从上一步算法中从上一步骤指向下一步骤骤指向下一步骤流程线流程线用来根据给定的条件用来根据给定的条件是否满足决定执行两是否满足决定执行两条路径中的某一路径条路径中的某一路径判断框判断框赋值、运算赋值、运算执行框执行框表示输入输出表示输入输出操作操作输入输入,输出框输出框表示一个算法的表示一个算法的起始与结束起始与结束起止框起止框含义名 称图形符号2021/8/9 星期一42.对程序框 表示的功能描述正确的一项是:().A.表示算法的起始和结束.B.表示算法输入和输出的信息.C.赋值、计算.D.按照算法顺序连接程序图框.1.流程图的功能是:.().A.表示算法的起始和结束.B.表示算法的输入和输出信息.C.赋值、运算.D.按照算法顺序连接程序图框.答案答案:D,B练习:2021/8/9 星期一5Flag=1输入输入n否否d2?是是条件结构条件结构条件结构条件结构顺序结构顺序结构循环结构循环结构算法三种基本逻辑结构算法三种基本逻辑结构开始开始结束结束2021/8/9 星期一6算法三种基本逻辑结构算法三种基本逻辑结构(顺序结构、条件结构、循环结构顺序结构、条件结构、循环结构)流程图表示,实例流程图表示,实例,程序演示:程序演示:顺序、条件、循序、条件、循环三种基本的三种基本的逻辑结构:构:1.顺序序结构构:最最简单的算法的算法结构,框与框之构,框与框之间从上到下从上到下进行。行。任何算法都离不开任何算法都离不开顺序序结构。构。A B2021/8/9 星期一7 实例:例:三角形三角形ABC的底的底BC为4,高高AD为2,求三角形求三角形ABC的面的面积S,试设计该问题的算法和流程的算法和流程图.解解:算法如下算法如下:1.底底BC为a=4,高高AD为b=2.2.S=1/2ab3.输出出S.流程图流程图:开始 a=4,b=2 S=1/2ab输出输出S结束结束2021/8/9 星期一8练习练习:利用梯形的面积公式计算上底为利用梯形的面积公式计算上底为2,下底为下底为4,高为高为5的梯形面积的梯形面积.试设计该问题的算法和流程图试设计该问题的算法和流程图.解解:算法如下算法如下:1.a=2,b=4,h=5;2.S=(a+b)*h/2 3.输出输出S.流程图流程图:开开 始始a=2 b=4 h=5.输出输出S.结结 束束程序实现:main()int a,b,h,s;a=2,b=4,h=5;s=(a+b)*h/2printf(“s=%d”,s);输出:15 注:txmz.cS=(a+b)*h/22021/8/9 星期一9(2).条件结构条件结构:一个算法的执行过程中会遇到一些条件的一个算法的执行过程中会遇到一些条件的判断判断,算法的流程根据条件是否成立有不同的流向算法的流程根据条件是否成立有不同的流向.如图:P A B是是(1)否否(2)2021/8/9 星期一10设计求一个数x的绝对值y=的算法并画出相应的流程图:练习:分析:根据根据绝对值的定的定义,当当x0,y=x;当当x=0)y=x;else y=-x;printf(“%fn”,y);输入输入:5 -10输出输出:5 10 注注:jdzhi.c 开始开始输输入入 x y=xy=-x输出输出y 结束结束是是否否x0?2021/8/9 星期一12例:例:联邦快递公司规定甲、乙两地之间物品的托运费联邦快递公司规定甲、乙两地之间物品的托运费用根据下面的方法计算:用根据下面的方法计算:其中其中f f(单位:元)为托运费,(单位:元)为托运费,为托运物品的重量为托运物品的重量(单位:千克),(单位:千克),试画出计算费用试画出计算费用f f的程序框图。的程序框图。2021/8/9 星期一13自然语言是:自然语言是:第一步:输入物品重量第一步:输入物品重量;第二步:如果第二步:如果=50=50,那么,那么f=0.53,f=0.53,否则否则f=500.53+(-50)0.85;f=500.53+(-50)0.85;第三步:输出托运费第三步:输出托运费f.f.2021/8/9 星期一142021/8/9 星期一15(3)循环结构:需要重复执行同一操作的结构称为循环需要重复执行同一操作的结构称为循环结构结构.即从某处开始按照一定的条件反复执行某一处理步即从某处开始按照一定的条件反复执行某一处理步骤骤.反复执行处理的步骤称为循环体反复执行处理的步骤称为循环体.注:循环结构一定包含条件结构.实例:1+2+3+4+5+6+7+.+100=?分析:只需要一个累加变量sum和计数变量i.将累加变量sum初值赋为0,计数变量i从1到100变化.算法分析算法分析:(见下页见下页)2021/8/9 星期一161.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=0 i=i+1Sum=sum+i i=1输出输出sum 结束结束i=100第一次循环第一次循环sum=第二次循环第二次循环sum=第三次循环第三次循环sum=分析分析:初值初值sum=0,i=10+1=1,i=21+2=3,i=33+3=6Sum=1Sum=1+2Sum=1+2+3 Sum=1+2+3+100是是否否2021/8/9 星期一17练习习:1+3+5+7+31=?分析分析:只需要一个累加变量只需要一个累加变量sum和计数变量和计数变量i.将累加将累加变量变量sum初值赋为初值赋为0,计数变量计数变量i从从1到到31变化变化.算法分析算法分析:(见下页)2021/8/9 星期一18开始开始 Sum=0 i=i+1Sum=sum+i i=1输输 出出sum 结束结束i=100i=31开始开始Sum=0 i=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()int sum,i;sum=0;i=1;for(i2d=2输入nd2)for(d=2;d=n-1&flag=1;d+)if(n%d=0)flag=0;if(flag=1)printf(%d,n);printf(shi ge su shun);elseprintf(%d,n);printf(bu shi yi ge su shun);注注:sushu.c 2021/8/9 星期一22再再见2021/8/9 星期一23