资源描述:
《(课件2)1.1算法与程序框图.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、算法流程图上节课例1:任意给定一个大于1的整数n,试设计一个算法判定n是否为质数.算法分析:1.判断n是否等于2,如果n=2,则n为质数,若n>2,则执行第2步.2.依次从2到n-1检验是不是n的因数(即是否整除n).若存在这样的数,则n不是质数,若不存在这样的数,则n为质数.以上是用自然语言描述一个算法.为了使得算法的描述更为直观和步骤化,下面介绍另一种描述算法的方法:流程图.流程图的通俗解释:由一些图框和有向箭头构成,表示算法按一定的顺序执行.上例算法的流程图(见下页)复习:流程图的图形符号:观察右边的流程图:(
2、1)有箭头指向的线.(2)不同形状的框图.结束8开始Flag=1n>2?d=2输入nd<=n-1且flag==1?N不是质数n是质数d整除n?Flag=0Flag==1?d=d+1是是是否否是否否(1)(2)否算法中从上一步骤指向下一步骤流程线用来根据给定的条件是否满足决定执行两条路径中的某一路径判断框赋值、运算执行框表示输入输出操作输入,输出框表示一个算法的起始与结束起止框含义名称图形符号2.对程序框表示的功能描述正确的一项是:…().A.表示算法的起始和结束.B.表示算法输入和输出的信息.C.赋值、计算.D.按照
3、算法顺序连接程序图框.1.流程图的功能是:…………………..().表示算法的起始和结束.表示算法的输入和输出信息.赋值、运算.按照算法顺序连接程序图框.答案:D,B练习:Flag=1输入n否d<=n-1且flag==1?d整除n?Flag=0d=d+1是是否(1)(2)N不是质数n是质数Flag==1?是否d=2否n>2?是条件结构顺序结构循环结构算法三种基本逻辑结构开始结束算法三种基本逻辑结构(顺序结构、条件结构、循环结构)流程图表示,实例,程序演示:顺序、条件、循环三种基本的逻辑结构:顺序结构:最简单的算法结构,
4、框与框之间从上到下进行。任何算法都离不开顺序结构。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(){
5、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≥0,y=x;当x<0时,y=-x,所以当给出一个自变量x的值,求它所对应的y值时必需先判断x的范围,所以要用到条件结构.解:算法分析:输入x.如果x≥0,
6、y=x,否则y=-x..输出y.流程图:程序实现:main(){floatx,y;scanf(“%f%f”,&a,&b);if(x>=0)y=x;elsey=-x;printf(“%f”,y);}输入:5-10输出:510注:jdzhi.c开始输入xy=xy=-x输出y结束是否x≥0?例:联邦快递公司规定甲、乙两地之间物品的托运费用根据下面的方法计算:其中f(单位:元)为托运费,ω为托运物品的重量(单位:千克),试画出计算费用f的程序框图。自然语言是:第一步:输入物品重量ω;第二步:如果ω≦50,那么f=0.5
7、3ω,否则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
8、步,第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