1、算法初步,11算法与程序框图1.1.3程序框图的综合,理解程序框图的三种基本逻辑结构:顺序、条件分支、循环;会运用正确的程序框图符号.,基础梳理,程序框图(又叫流程图)是算法的一种表示形式,具有直观形象、结构清晰和简洁明了的效果,“抓特征,明规则,依步骤”是熟练而准确地画出程序框图的要诀(1)抓特征组成任何一个程序框图的三要素是“四框”、“一线”加“文字说明”,所以首先要抓住它们各自的特征与意义,“四框”的特征与意义:终端框(起止框)的特征是圆角矩形,表示算法的开始和结束,是任何流程不可缺少的;输入、输出框的特征是平行四边形,表示算法中输入和输出的信息,可放在任何需输入、输出的位置;处理框(执
2、行框)的特征是方角矩形,表示赋值和计算等,算法中要处理的数据或计算可分别写在不同的处理框内;判断框的特征是菱形,用在当算法要求对两个不同的结果进行判断时,“一线”的特征与意义:流程线的特征是带有方向箭头的线,用以连接程序框,直观地表示算法的流程,任意两个程序框之间都存在流程线“文字”的特征与意义:在框图内加以说明的文字、算式等,也是每个框图不可缺少的内容(2)明规则程序框图的画法规则是:用标准,即使用标准的框图符号;按顺序,即框图一般从上到下、从左到右的顺序画;看出入,即大多数程序框图的图形符号只有一个入口和一个出口,判断框是唯一具有超过一个出口的符号,条件结构中要在出口处标明“是”或“否”;
3、明循环,即循环结构要注意变量的初始值及循环终止条件;辨流向,即流程线的箭头表示执行的方向,不可缺少;简说明,即在图形符号内的描述语言要简练清晰,(3)依步骤画程序框图的总体步骤是:第一步,先设计算法,因为算法的设计是画程序框图的基础,所以在画程序框图前,首先写出相应的算法步骤,并分析算法需要哪种基本逻辑结构(顺序结构、条件结构、循环结构);第二步,再把算法步骤转化为对应的程序框图,在这种转化过程中往往需要考虑很多细节,是一个将算法“细化”的过程,思考应用,1如何认识条件结构?,解析:条件结构是指算法中,根据条件是否成立作出判断,再决定执行哪一种操作的结构它在程序框图中是用判断框来表示的,判断框
4、内写上条件,它的两个出口分别对应着满足条件和不满足条件时所执行的不同指令在许多算法中,需要对问题的条件作出逻辑判断,判断后依据条件是否成立而进行的处理方式,这就需要用条件结构来实现算法条件结构的一般模式如图1,图2所示,图1所示的条件结构中,包含一个判断框,根据给定的条件P是否成立而选择执行A框或B框请注意,无论条件P是否成立,只能执行A框或B框之一,不可能既执行A框又执行B框,也不可能A框,B框都不执行无论走哪一条路径,在执行完A或B之后,都要脱离本选择结构A或B两个框中,可以有一个是空的(如图2),即不执行任何操作还有更复杂的由多个判断框的条件嵌套组成的条件结构,其一般模式如图3所示 图3
5、,2两种循环结构有何不同?,解析:循环结构是指在算法中从某处开始,按照一定的条件,反复执行某一处理步骤的结构反复执行的处理步骤称为循环体显然,循环结构中有关于条件的判断,因此,循环结构中必包含条件结构在程序框图中它也是利用判断框表示,判断框内写上条件,它的两个出口分别对应着满足条件和不满足条件时所执行的不同指令,其中一个要指向循环体,然后再从循环体回到判断框的入口处循环结构分为两种当型和直到型当型循环在执行循环体前对控制循环条件进行判断,当条件满足时循环,不满足停止;直到型循环在执行了一次循环体之后,对控制循环条件进行判断,当条件不满足时循环,满足则停止,两种循环结构的区别:当型循环是先判断后
6、循环;直到型循环是先执行一次循环体,然后再判断是否继续循环当型循环是在条件满足时才执行循环体,而直到型循环是在条件不满足时才执行循环体因此在掌握使用这两种循环时必须注意区分,3如何看待三种结构之间的关系?,解析:任何一种算法都是由三种基本逻辑结构组成的,它们分别是顺序结构、条件结构、循环结构用这三种基本结构表述的算法及其框图,整齐美观,容易阅读和理解顺序结构是最简单、最基本的结构,是任何一个算法都离不开的基本结构,它表示语句和语句之间,框与框之间是按从上到下的顺序进行的在框图中是用流程线将程序框自上而下连接起来一般说来,这三种结构贯穿于程序中,相互结合,使程序更完美但在一个算法中,这三种结构不
7、一定同时存在,可能会有一种或两种不存在,但顺序结构是必不可少的,自测自评,1下列框图属于直到型循环结构的是( ),解析:先进入循环体再判断,而且一旦“是”就退出答案:D,2下列框图属于当型循环结构的是(),解析:先判断再循环,而且“是”时继续循环答案:A,3下面程序框图运行结果为_,4如果a2,b4,下面程序框图运行结果为_,4.2,5下面的结论正确的是( )A起止框有入口也有出口B输入可包含运算C输出不能包含运算D程序框图必须包含结束框,D,推断程序框图的运行结果,下面程序框图1运行结果为_,解析:第一次:S10,i9;第二次:S19,i8;第三次:S27,i7;第四次:S34,i6;此时退
8、出循环答案:6,图1,跟踪训练,1如果执行下面的程序框图2,输入n6, m4,那么输出的p等于()A720B360C240 D120,图2,解析:p13456360.答案:B,补充处理框,根据条件把流程图补充完整,求1到1000内所有奇数的和(1)处填_(2)处填_,SSi ii2,跟踪训练,2下图是求x1,x2,x10的乘积S的程序框图,图中空白框中应填入的内容为( )ASS*(n1) BSS*xn1CSS*n DSS*xn,D,补充判断框,程序框图如下:,如果上述程序运行的结果为S132,那么判断框中应填入()Ak10?Bk10?Ck11? Dk11?解析:第一次进入循环算出的S12,k1
9、1,第二次循环算出S1211132,k10,此时应该退出,所以选A.答案:A,跟踪训练,3一个算法的程序框图如图所示,若该程序输出的结果为 ,则判断框中应填入的条件是_,设计算法、画程序框图,已知函数f(x) ,设计一个求函数值的算法,并画出其程序框图,解析:算法如下:第一步:输入x的值;第二步:判断x与0的大小关系,如果x0,则f(x)x21,如果x0,则f(x)2x1;第三步:输出函数f(x)的值程序框图如右:,跟踪训练,4画出计算2122232425的程序框图,解析:程序框图如下:,1看循环框图重点是看第一次运算是否符合条件以及最后一次运算是否是正确2条件框图主要是看清是与否的方向3同一个变量可以反复赋值4画框图注意正确使用不同形状的框5每一个框图都有开始框和结束框,祝,您,学业有成,