资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,1.1.2,程序框图与算法的基本逻辑结构,主讲人:刘 冬,2012.10.18,1.1.2 程序框图与算法的基本逻辑结构,1,复习引入:,用自然语言表示的,算法步骤有明确的顺序性,但对于在,一定条件下才会被执行的步骤,,以及在,一定条件下会被重复执行的步骤,,自然语言的表示就显得困难,而且,不直观,,,不准确,.,程序框图用图形的方式表达算法,使算法的,结构更清楚,、,步骤更直观,也更,精确,。,复习引入:用自然语言表示的 算法步骤有明确的顺序性,,2,(,1,)程序框图的概念,:,程序框图又称流程图,是一种用,程序框、流程线及文字说明,来准确、直观地表示算法的图形。,在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序。,1,、程序框图,(1)程序框图的概念:1、程序框图,3,图形符号,名 称,功 能,终端框,(,起止框,),输入、输出框,处理框,(,执行框,),判断框,表示一个算法的起始和结束,表示一个算法输入和输出的信息,赋值、计算,判断某一条件是否成立,成立时在出口处标明“是”或“,Y”,不成立时标明“否”或“,N”.,(,2,)构成程序框图的图形符号及其功能,流程线,连接程序框,连结点,连接程序框图的两部分,图形符号名 称功 能终端框输入、输出框处理框(,4,练 习,1,、下列关于程序框图的说法正确的是 (),A,、程序框图是描述算法的语言,B,、程序框图可以没有输出框,但必须要有输入框给变量赋值,C,、程序框图可以描述算法,但不如自然语言描述算法直观,D,、程序框图和流程图不是一个概念,2,、下列功能“”没有功能的是 (),A,、赋值,B,、计算,C,、判断,D,、以上都不对,练 习1、下列关于程序框图的说法正确的是 (),5,知识探究(一):算法的程序框图,“,判断整数,n,(,n,2,)是否为质数”的算法步骤,第一步,,给定一个大于,2,的整数,n,;,第二步,,令,i=2,;,第三步,,用,i,除,n,,得到余数,r,;,第四步,,判断“,r=0”,是否成立,.,若是,则,n,不是质数,结束算法;否则,将,i,的值增加,1,,仍用,i,表示;,第五步,,判断“,i,(n-1)”,是否成立,若是,则,n,是质数,结束算法;否则,返回 第三步,.,知识探究(一):算法的程序框图“判断整数n(n2)是否为质,6,开始,r=0,?,输出“,n,是质数”,输出“,n,不是质数”,求,n,除以,i,的余数,i=2,输入,n,i,的值增加,1,,仍用,i,表示,i,n-1,或,r=0,?,是,是,结束,否,否,开始r=0?输出“n是质数”输出“n不是质数”求n除以i的余,7,终端框(起止框),,表示一个算法的起始和结束,开始,r=0,?,输出“,n,是质数”,输出“,n,不是质数”,求,n,除以,i,的余数,i=2,输入,n,i,的值增加,1,,仍用,i,表示,i,n-1,或,r=0,?,是,是,结束,否,否,终端框(起止框),开始r=0?输出“n是质数”输出“n不是质,8,处理框(执行框),赋值、计算,开始,r=0,?,输出“,n,是质数”,输出“,n,不是质数”,求,n,除以,i,的余数,i=2,输入,n,i,的值增加,1,,仍用,i,表示,i,n-1,或,r=0,?,是,是,结束,否,否,处理框(执行框)开始r=0?输出“n是质数”输出“n不是质数,9,判断框,判断某一条件是否成立,成立时在出口处标明“是”;不成立时标明“否”,开始,r=0,?,输出“,n,是质数”,输出“,n,不是质数”,求,n,除以,i,的余数,i=2,输入,n,i,的值增加,1,,仍用,i,表示,i,n-1,或,r=0,?,是,是,结束,否,否,判断框开始r=0?输出“n是质数”输出“n不是质数”求n除以,10,流程线,连接点,开始,r=0,?,输出“,n,是质数”,输出“,n,不是质数”,求,n,除以,i,的余数,i=2,输入,n,i,的值增加,1,,仍用,i,表示,i,n-1,或,r=0,?,是,是,结束,否,否,流程线连接点开始r=0?输出“n是质数”输出“n不是质数”求,11,顺序结构,循环结构,条件结构,开始,r=0,?,输出“,n,是质数”,输出“,n,不是质数”,求,n,除以,i,的余数,i=2,输入,n,i,的值增加,1,,仍用,i,表示,i,n-1,或,r=0,?,是,是,结束,否,否,顺序结构循环结构条件结构开始r=0?输出“n是质数”输出“n,12,求,n,除以,i,的余数,i,的值增大,1,,仍用,i,表示,in-1,或,r=0?,是,否,in-1,或,r=0?,N,不是质数,N,是质数,是,否,输入,n,i=2,顺序结构,循环结构,条件结构,算法的三种基本逻辑结构,:,顺序结构、条件结构、循环结构。,任何一个算法都可以由这三种基本逻辑结构构成的。,你能说出这三种基本逻辑结构的特点吗?,条件结构与循环结构有什么区别和联系?,求n除以i的余数i的值增大1,仍用i表示in-1或r=0?,13,(,1,)顺序结构,顺序结构是由若干个,依次执行,的步骤组成的。它是任何一个算法都离不开的一种基本算法结构。,步骤,A,步骤,B,示意图,(1)顺序结构 顺序结构是由若干个依次执行的步,14,例,1,写出图中程序框图的运行结果:,开始,输入,a,,,b,a,2,b,4,S,a/b,b/a,输出,S,结束,图中输出,S,;,5/2,例1写出图中程序框图的运行结果:开始输入a,ba2b4,15,例,2,设计一算法:,输入圆的半径,输出圆的面积,并画出流程图,.,算法分析:,第一步:,输入圆的半径,R,第二步:,计算圆的面积,S=,R,2,;,第三步:,输出圆的面积。,(1),在程序框图中,开始框和结束框不可少;,(2),在算法过程中,,输出语句是必不可少的,.,例2 设计一算法:输入圆的半径,输出圆的面积,并画出流程图,16,例,3,:若一个三角形的三条边长分别为,a,,,b,,,c,,令 ,则三角形的面积,.,你能利用这个公式设计一个计算三角形面积的算法步骤吗?,第一步,输入三角形三条边的边长,a,,,b,,,c.,第二步,计算,.,第三步,计算,.,第四步,输出,S.,例3:若一个三角形的三条边长分别为a,b,c,令,17,上述算法的程序框图如何表示?,开始,结束,输出,S,输入,a,,,b,,,c,上述算法的程序框图如何表示?开始结束输出S输入a,b,18,条件结构是指在算法中通过对,某,条件的判断,根据条件是否成立,而选择不同流向的算法结构,.,基本形式,2,(2),条件结构,满足条件,?,步骤,A,否,是,满足条件,?,步骤,A,步骤,B,是,否,基本形式,1,条件结构是指在算法中通过对某条件的判断,根据条件是否,19,例,4,任意给定,3,个正实数,设计一个算法,判断分别以这三个数为三边边长的三角形是否存在,.,画出这个算法的程序框图,.,a+bc,a+cb,b+ca,是否,同时成立,?,开始,存在这样,的三角形,结束,不存在这样,的三角形,否,是,输入,a,b,c,例4 任意给定3个正实数,设计一个算法,判断分别,20,输入,x,开始,x,3,?,y=1.2x+1.4,y=5,输出,y,结束,N,Y,备用题:,P.20,习题,A,组第,3,题,算法步骤:,第一步,输入人数,x,,设收取的卫生费,为,y,元,.,第二步,判断,x,与,3,的大小,若,x3,则,费用为,m=5,(,x-3,),1.2=1.2x+1.4;,若,x,3,则费用为,m,5.,第三步,输出,m.,输入x开始x3?y=1.2x+1.4y=5输出y结束NY备,21,课堂小结:,1,、本节课主要讲述了程序框图的基本知识,包括常用的图形符号、算法的基本逻辑结构,算法的基本逻辑结构有三种,即顺序结构、条件结构和循环结构。,2,、顺序结构:是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。,3,、条件结构:是根据指定打件选择执行不同指令的控制结构。根据给定的条件,P,是否成立而选择执行,A,框或,B,框。无论,P,条件是否成立,只能执行,A,框或,B,框之一,不可能同时执行,A,框和,B,框,也不可能,A,框、,B,框都不执行。,课堂小结:1、本节课主要讲述了程序框图的基本知识,包括常用的,22,课后作业,:,1,、设计一个算法判断任意给定一个整数,N,是奇数还是偶数,并画出程序框图;,2,、已知函数 ,设计一个算法求相应的函数值,并画出程序框图。,3,、设计一个求解一元二次方程,的算法,并画出程序框图表示。,课后作业:1、设计一个算法判断任意给定一个整数N是奇数还是偶,23,设计一个求解一元二次方程,的算法,并画出程序框图表示,.,设计一个求解一元二次方程的算法,并画出程序框图表示.,24,(,3,)循环结构,循环结构指的是按照一定的条件反复执行的某些算法步骤,.,反复执行的步骤称为循环体,.,循环体,满足条件?,否,是,循环体,满足条件?,否,是,执行一次循环体后,对条件进行,判断,如果条件不满足,就继续执行,循环体,直到条件满足时终止循环,.,在每次执行循环体前,对条件进行,判断,当条件满足,执行循环体,否则,终止循环,.,直到型,当型,(3)循环结构循环结构指的是按照一定的条件反复执行的某些算法,25,例,7,设计一个计算,1+2+3+,+100,的值的算法,并画,出程序框图,.,第一步:确定首数,a,,尾数,b,,项数,n,;,第二步:,利用公式,“,S=n(a+b)/2,”,求和;,第三步:,输出求和结果。,算法,1,:,开始,结束,输入,a,b,n,S=n(a+b)/2,输出,S,例7 设计一个计算1+2+3+100的值的算,26,开始,i=1,S=0,i=i+1,S=S+i,i100?,输出,S,结束,否,是,例,7,设计一个计算,1+2+3+,+100,的值的算法,并画出程序框图,.,第,1,步,,0,1,1.,第,2,步,,1,2,3.,第,3,步,,3,3,6.,第,4,步,,6,4,10.,第,100,步,,4950,100,5050.,算法,2,:,第一步,令,i,1,,,S,0.,第二步,若,i,100,成立,则执,行第三步,;,否则,输出,S,,结束算法,.,第三步,,S,S,i.,第四步,,i=i+1,返回第二步,.,当型循环结构,(,1,)确定循环体:,i=i+1 s=s+i,(2),初始化变量:,i=1 s=0,(,3,)循环控制条件:,i100,开始i=1S=0i=i+1S=S+ii100?输出S结束否,27,结束,开始,输入,n,a=200,t=0.05a,a=a+t,n=n+1,a300?,Y,n=2005,N,结束,开始,输入,n,a=200,t,0.05a,a,a+t,n,n+1,a,300?,N,n=2005,Y,直到型,当型,结束开始输入na=200t=0.05aa=a+tn=n+1a,28,
展开阅读全文