1、1.1.2 程序框图程序框图上节课例上节课例1:任意给定一个大于任意给定一个大于1的整数的整数n,试设计一个试设计一个算法判定算法判定n是否为质数是否为质数.算法分析:算法分析:1.判断判断n是否等于是否等于2,如果如果n=2,则则 n为质数为质数,若若n2,则执行第则执行第2步步.2.依次从依次从2到到n-1检验是不是检验是不是n的因数的因数(即是否整除即是否整除n).若存在这样若存在这样的数的数,则则n不是质数不是质数,若不存在这样的数若不存在这样的数,则则n为质数为质数.以上是用自然语言描述一个算法以上是用自然语言描述一个算法.为了使得算法的描述更为直观和为了使得算法的描述更为直观和步骤
2、化步骤化,下面介绍另一种描述算法的方法下面介绍另一种描述算法的方法:流程图流程图.流程图的通俗解释流程图的通俗解释:由一些图框和有向箭头构成由一些图框和有向箭头构成,表示算法按一表示算法按一定的顺序执行定的顺序执行.上例算法的流程图上例算法的流程图(见下页)复习复习:流程图的图形符号流程图的图形符号:观察右边的流程图观察右边的流程图:(1)有箭头指向的线有箭头指向的线.(2)不同形状的框图不同形状的框图.结束结束开始开始Flag=1n2?d=2输入输入nd=n-1且且flag=1?N不是质数不是质数n是质数是质数d整除整除n?Flag=0Flag=1?d=d+1是是是是是是否否否否是是否否否否
3、(1)(2)否否算法中从上一步算法中从上一步骤指向下一步骤骤指向下一步骤流程线流程线用来根据给定的条件用来根据给定的条件是否满足决定执行两是否满足决定执行两条路径中的某一路径条路径中的某一路径判断框判断框赋值、运算赋值、运算执行框执行框表示输入输出表示输入输出操作操作输入输入,输出框输出框表示一个算法的表示一个算法的起始与结束起始与结束起止框起止框含义名 称图形符号2.对程序框 表示的功能描述正确的一项是:().A.表示算法的起始和结束.B.表示算法输入和输出的信息.C.赋值、计算.D.按照算法顺序连接程序图框.1.流程图的功能是:.().A.表示算法的起始和结束.B.表示算法的输入和输出信息
4、.C.赋值、运算.D.按照算法顺序连接程序图框.答案答案:D,B练习:Flag=1输入输入n否否d2?是是顺序结构顺序结构循环结构循环结构算法三种基本逻辑结构算法三种基本逻辑结构开始开始结束结束算法三种基本逻辑结构算法三种基本逻辑结构(顺序结构、条件结构、循环结构顺序结构、条件结构、循环结构)流程图表示,实例流程图表示,实例,程序演示:程序演示:顺序、条件、循环三种基本的逻辑结构:顺序、条件、循环三种基本的逻辑结构:1.顺序结构顺序结构:最简单的算法结构,框与框之间从上到下进行。最简单的算法结构,框与框之间从上到下进行。任何算法都离不开顺序结构。任何算法都离不开顺序结构。A B设计求一个数x的
5、绝对值y=x的算法并画出相应的流程图:练习:分析:根据绝对值的定义根据绝对值的定义,当当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?例:例:联邦快递公司规定甲、乙两地之间物品的托运费联邦快递公司规定甲、乙两地之间物品的托运费用根据下面的方法计算:用根据下面的方法计算:其中其中f f(单位:元)为托运费,(单位:元)为托运费,为托运物品的重量为托运物品的重量(单位:千克),(单位:千克),试画出计算费用试画出计算费用f
6、f的程序框图。的程序框图。0.5350f=50 0.53500.8550(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
7、.如果如果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是是否否练习习:1+3+5+7+31=?分析分析:只需要一个累加变量只需要一个累
8、加变量sum和计数变量和计数变量i.将累加将累加变量变量sum初值赋为初值赋为0,计数变量计数变量i从从1到到31变化变化.算法分析算法分析:(见下页)开始开始 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
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。