《高一数学必修三序程框图与算法的基本逻辑结构》由会员分享,可在线阅读,更多相关《高一数学必修三序程框图与算法的基本逻辑结构(36页珍藏版)》请在金锄头文库上搜索。
1、Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 算法步骤有明确的顺序性,而且有些步骤只算法步骤有明确的顺序性,而且有些步骤只有在一定条件下才会被执行,有些步骤在一定条有在一定条件下才会被执行
2、,有些步骤在一定条件下会被重复执行件下会被重复执行. .算法可以用自然语言来描述,算法可以用自然语言来描述,但为了使算法的程序或步骤表达得更为直观、准但为了使算法的程序或步骤表达得更为直观、准确,我们更经常地用图形方式来表示它。确,我们更经常地用图形方式来表示它。 程序框图又称流程图,是一种用程序框、流程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形程线及文字说明来表示算法的图形 一个程序框图包括以下几部分:表示相应操一个程序框图包括以下几部分:表示相应操作的程序框;带箭头的流程线;程序框外必要的作的程序框;带箭头的流程线;程序框外必要的文字说明。文字说明。1.程序框图Ev
3、aluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.图形符号图形符号名名 称称功功 能能终端框(起止框)终端框(起止框)一个算法的起始和结束一个算法的起始和结束输入、输出框输入、输出框一个算法输入和输
4、出的信息一个算法输入和输出的信息处理框(执行框)处理框(执行框)赋值、计算赋值、计算判断框判断框判断某一条件是否成立,出判断某一条件是否成立,出口成立标口成立标“是是”不成立标不成立标“否否”流程线流程线连接程序框连接程序框连接点连接点连接程序框图的两部分连接程序框图的两部分或或构成程序框的图形符号及其作用构成程序框的图形符号及其作用Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Cr
5、eated with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.N不是质数是否判断整数n(n2)是否为质数程序框图范例:开始输入ni=2求n除以i的余数ri的值增加1,仍用i表示in-1或r=0?r=0?N是质数结束是否设n是一个大于2的整数一般用i=i+1表示Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose
6、 Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.开始开始求求n除以除以i的余数的余数ri=2输入输入ni in-1n-1?r=0?输输出出“n是是 质质 数数”是是i的值增加的值增加1,仍用仍用i表示表示否否输输出出“n不不是质数是质数”是是结束结束否否Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2
7、.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 学习这部分知识的时候,要掌握各个图形的形状、作用及使用规则,画程序框图的规则如下:1、使用标准的图形符号。2、框图一般按从上到下、从左到右的方向画。3、除判断框外,大多数流程图符号只有一个进入 点和一个退出点。判断框是具有超过一个退出 点的唯一符号。4、判断框分两大类,一类判断框是“是”与
8、“否”两分 支的判断,而且有且仅有两个结果;另一类是 多分支判断,有几种不同的结果。5、在图形符号内描述的语言要非常简练清楚。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.练 习1、下列关于
9、程序框图的说法正确的是 ( )A、程序框图是描述算法的语言B、程序框图可以没有输出框,但必须要有输入框给变量赋值C、程序框图可以描述算法,但不如自然语言描述算法直观D、程序框图和流程图不是一个概念2、下列功能“ ”没有功能的是 ( )A、赋值 B、计算 C、判断 D、 以上都不对Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for
10、 .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.开始输入ni=2求n除以i的余数ri的值增加1,仍用i表示in-1或r=0?r=0?N不是质数N是质数结束是否是否开始结束求n除以i的余数ri的值增加1,仍用i表示in-1或r=0?是否r=0?N不是质数N是质数是否输入ni=2顺序结构循环结构条件结构2.2.算法的三种基本逻辑结构:顺序结构、条件结构、循环结构。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.
11、0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.求n除以i的余数ri的值增加1,仍用i表示in-1或r=0?是否r=0?N不是质数N是质数是否输入ni=2顺序结构循环结构条件结构 算法千差万别,但都是由这三种基本逻辑结构构成的.你能说出这三种基本逻辑结构的特点吗?条件结构与循环结构有什么区别和联系?Evaluation only.Creat
12、ed with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.(1 1)顺序结构)顺序结构 顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法
13、结构。 顺序结构在程序框图中的体现就是用流程线将程序框自上而下地连接起来,按顺序执行算法步骤。步骤n步骤n1Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 例3、已知一个三角形的三边分别为a
14、、b、c,利用海伦公式设计一个算法,求出它的面积,并画出算法的程序框图。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.开始输入a,b,c结束pS输出SEvaluation only.Crea
15、ted with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.例4、已知两个变量A和B的值,试设计一个交换这两个变量的值的算法,并画出程序框图。第一步、输入A、B第二步、令X=A第三步、令A=B第四步、令B=X第五步、输出A、BEvaluatio
16、n only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.练 习1 1、已知摄氏温度、已知摄氏温度C C与华氏温度与华氏温度F F之间的关系为之间的关系为F=1.8C+32F=1.8C+32。设计一个由摄氏温度求华氏温度
17、。设计一个由摄氏温度求华氏温度的算法,并画出相应的程序框图。的算法,并画出相应的程序框图。算法步骤:算法步骤: 第一步:输入摄氏温度第一步:输入摄氏温度C C; 第二步:计算第二步:计算1.8C+321.8C+32,并,并 将这个值记为华氏温度将这个值记为华氏温度F F; 第三步:输出华氏温度第三步:输出华氏温度F F。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created w
18、ith Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.练 习2 2、已知变量、已知变量A A、B B、C C的值,试设计一个算法的值,试设计一个算法程序框图,使得程序框图,使得A A为为B B的值,的值,B B为为C C的值,的值,C C为为A A的值。的值。第一步、输入A、B、C第二步、令X=A第三步、令A=B第四步、令B=C第五步、令C=X第六步、输出A、B、C的值Evaluation only.Created with Aspose.Slides for .NET
19、3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.(2 2)条件结构)条件结构 在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向.条件结构就是处理这种过程的结构. 分类是算法中经常发生的事情,条件结构的主要作用就是表示分类. 条件结构可用程序框图表示为下面两种形式.步
20、骤A步骤B满足条件?否是步骤A满足条件?否是Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 例4 任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在.画出这个算法
21、的程序框图. 条件结构 算法步骤如下:第一步,输入3个正实数a,b,c.第二步,判断a+bc,a+cb,b+ca是否同时成立.若是,则存在这样的三角形;否则,不存这样的三角形.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011
22、 Aspose Pty Ltd.条件结构Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.例5 设计一个求解一元二次方程的算法,并画出程序框图表示.Evaluation only.Created
23、 with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.开 始输入a,b,c= 4ac0?0?输出 ,结 束方程无实数根输出x否是是否例5程序框图也可设计为Evaluation only.Created with Aspose.Slides fo
24、r .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.例6、设计一个算法计算分段函数 , 的函数值,并画出程序框图。第一步、输入x第二步、判断“x0”是否成立,若是,则输出y=0,否则执行第三步;第三步、判断“x3,则费用为m= 5(x-3)1.2=1.2x+1.4;若x3,则费用为m5
25、. 第三步,输出m.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.开始输入a1,b1,c1, a2 。b2, c2输出“x= ”; ,“y= ”;a1b2a2b10?x=(c2b1 c1b2
26、)/(a1b2 a2b1)y=(c2b1 c1b2)/(a1b2 a2b1)结束N NY Y输出“输入数据不合题意P.20 习题习题1.1B组第组第1题题算法步骤:第一步,输入a1,b1,c1, a2,b2,c2.第二步,计算x=(c2b1 c1b2)/(a1b2 a2b1)y=(c2b1 c1b2)/(a1b2 a2b1)第三步,输出x,yEvaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation onl
27、y.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.(3)循环结构循环结构指的是按照一定的条件反复执行的某些算法步骤.反复执行的步骤称为循环体.循环体满足条件?否是循环体满足条件?否是 执行一次循环体后,对条件进行判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环. 在每次执行循环体前,对条件进行判断,当条件满足,执行循环体,否则终止循环.Evaluation only.Created with Aspose.Slides for .N
28、ET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 例7 设计一个计算1+2+3+100的值的算法,并画出程序框图.第一步:确定首数a,尾数b,项数n;第二步:利用公式“S=n (a+b) /2”求和;第三步:输出求和结果。算法1:开始结束输入a,b,nS=n (a+b) /2输出SEval
29、uation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.开始i=1S=0i=i+1S=S+ii100?输出S结束否是 例7 设计一个计算1+2+3+100的值的算法,并画出程序框图.第1步,011.第2步,1
30、23.第3步,336.第4步,6410.第100步,49501005050.算法2: 第一步,令i1,S0. 第二步,若i 100成立,则执行第三步;否则,输出S,结束算法. 第三步,SSi. 第四步,i=i+1,返回第二步.当型循环结构(1)确定循环体:i=i+1 s=s+i(2)初始化变量:i=1 s=0(3)循环控制条件:i100Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.C
31、reated with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.结束s = s+ii=i+1i100?输出S否是i=0;S=0开始结束输出Si=0;S=0开始S=s+ii=i+1i100?否是循环结构直到型结构当型结构 例7 设计一个计算1+2+3+100的值的算法,并画出程序框图.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004
32、-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.s = s + ii=i+ 1 解决方法就是加上一个判断,判断是否已经加到了100,如果加到了则退出,否则继续加。直到型结构当型结构s=s+ii=i+1是否s =s+ii=i+1否是i i100?100?i100?i100?请填上判断的条件。 在解题的过程中,用累加变量S表示每一步的计算结果,即把S+i的结果仍记为S,从而把第i
33、步表示为S=Si,其中S的初始值为0,i依次取1,2,100.由于i同时记录了循环的次数,所以也称为计数变量. 循环结构中都有一个计数变量和累加变量,计数变量用以记录循环次数,同时它的取值还用于判断循环是否终止,累加变量用于输出结果,累加变量和计数变量一般是同步执行的,累加一次,计数一次.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slide
34、s for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 例8 某工厂2005年的年生产总值为200万元,技术革新后预计以后每年的年生产总值都比上一年增长5.设计一个程序框图,输出预计年生产总值超过300万元的最早年份.算法步骤:第一步,输入2005年的年生产总值.第二步,计算下一年的年生产总值. 第三步,判断所得的结果是否大于300.若是,则输出该年的年份;否则,返回第二步.结束开始输出na=200t=0.05a a=a+tn=n+1a300?Y Yn=2005N N(1)确定循环体:设a为某年的年生产
35、总值,t为年生产总值的年增长量,n为年份,则循环体为t=0.05a,a=a+t,n=n+1.(2)初始化变量: n=2005, a=200.(3)循环控制条件: a300Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 As
36、pose Pty Ltd.结束开始输入na=200t=0.05aa=a+tn=n+1a300?Y Yn=2005N N结束开始输入na=200t0.05aaa+tnn+1a300?N Nn=2005Y Y直到型当型Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
37、Copyright 2004-2011 Aspose Pty Ltd.小结1、循环结构的特点2、循环结构的框图表示3、循环结构该注意的问题避免死循环的出现,设置好进入(结束)循环体的条件。当型和直到型重复同一个处理过程Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.
38、0.Copyright 2004-2011 Aspose Pty Ltd.1. 对任意正整数n,的值,并画出程序框图.结束开始输入一个正整数n输出S的值S=0i=1S=S+1/ii=i+1inY YN N设计一个算法求练练 习习Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5
39、.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 2.设计一算法,求积:123100,画出流程图.结束输出Si=0,S=1开始i = i + 1S=S*ii100?否是练练 习习Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
40、Copyright 2004-2011 Aspose Pty Ltd.求 的值解:算法步骤: 第一步,令i=1,s=0. 第二步,若成立,则执行第三步,否则,输出s. 第三步,计算s=s+i2 第四步,计算i=i+1,返回第二步.开始i=1S=0i=i+1S=S+i2i100?输出S结束否是当型循环结构3、P.20习题习题A组第组第2题题Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.
41、Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.开始输入50米跑成绩rr6.8n9?结束NYYNP.20习题习题1.1B组第组第2题题 算法步骤: 第一步,令计算变量n1. 第二步,输入一个成绩r,判断r与6.8的大小,若r6.8,则执行下一步;若r6.8,则输出r,并执行下一步. 第三步,令nn1. 第四步,判断计数变量n与成绩个数9的大小,若n9,则返回第二步,若n9,则结束算法.n1nn1输出rEvaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.