1、汇报人:时间:2020本模板有完整的思路及框架,更贴近实用编程学习中如何画流程图(PPT36页)算法的描述算法的描述 自然语言自然语言 流程图流程图 伪代码伪代码 程序设计语言程序设计语言 程序框图程序框图 程序框图(流程图)是一种用程序框、流程序框图(流程图)是一种用程序框、流程线及文字说明来表示算法的图。程线及文字说明来表示算法的图。构成流程图的图形符号及其作用构成流程图的图形符号及其作用程序框名称功能起止框(终端框)表示一个算法的起始和结束,是任何流程图不可少的.输入、输出框表示一个算法输入和输出的信息,可用在算法中任何需要输入、输出的位置.处理框(执行框)赋值、计算,算法中处理数据需要
2、的算式、公式等分别写在不同的用以处理数据的处理框内.判断框判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”.流程线连接程序框连接点连接程序框图的两部分 例1:计算以任意正实数为半径的圆的面积。算法:S1,输入r.S2,S=*r*rS3,输出S.开始结束输入r输出SS=*r*r 画程序框图的规则画程序框图的规则 1)框图一般按从上到下、从左到右的方向画。)框图一般按从上到下、从左到右的方向画。2)使用标准的图形符号。)使用标准的图形符号。3)程序框一般只有一个进入点和一个退出点。)程序框一般只有一个进入点和一个退出点。4)判断框有两个退出点,)判断框有两个退出点
3、,用用“是是”与与“否否”或或“Y”与与“N”表示判断的两种结果。表示判断的两种结果。5)在图形符号内描述的语言要简练清楚。)在图形符号内描述的语言要简练清楚。知识运用 例2:交换A和B两个变量的值 算法:自然语言描述S1、输入A,BS2、C=A;S3、A=B;S4、B=C。S5、输出A,B输入A,B结束输出A,B开始C=AA=BB=C输入A,B结束输出A,B开始C=AA=BB=C顺序结构 顺序结构在程序框图中的体现就是用流程线将程序框自上而下地连接起来,按顺序执行算法步骤。如在示意图中,A框和B框是依次执行的,只有在执行完A框指定的操作后,才能接着执行B框所指定的操作。AB 例3:设计求任意
4、设计求任意3个整数个整数a,b,c的最大的最大值的算法。值的算法。算法:令max代表三个数中的最大值S1,输入a、b、c三个数;S2,令max=a;S3,如果bmax,则max=b;S4,如果cmax,则max=c;S5,输出maxmax=a输入a,b,c结束输出max开始bmax?cmax?max=bmax=c是否否是程序框图1:开始结束输入a,b,c输出max bmax?是否max=amax=bmax=ccmax?否是程序框图2:条件结构 条件结构是指在算法中通过对条件的判断,根据条件是否成立而选择不同流向的算法结构。满足条件?语句是否满足条件?语句语句是否 例例4、设计一个求解一元二次方
5、程、设计一个求解一元二次方程ax2+bx+c=0(a0)的算法,并画出程序框图表示)的算法,并画出程序框图表示.算法:求根公式算法:求根公式S1:输入3个系数a、b、c;S2:d=b2-4ac;S3:若d 0,则输出“方程没有实数根”,结束算法;S4:p=-,q=S5:x1=p+q,x2=p-q;S6:输出x1,x2.ad2ab2开始结束输入a,b,cd=b*b-4acd 100,则输出S,算法结束.S3:S=S+i.S4:i=i+1,S5:转到S2.开始 结束i=1输出Si 100?否是S=0i=i+1S=S+i 开始 结束i=1输出Si100?否是S=0i=i+1S=S+i循环结构循环结构
6、 循环结构:从某处开始,按照一定的条件一定的条件反复执行反复执行某些步骤。循环体:反复执行的步骤称为循环体。循环条件 控制反复执行的条件称为循环条件。循环结构一:当型循环循环结构一:当型循环 当型循环(while)每次执行循环体前,对条件进行判断;当条件满足时,执行循环体,否则终止循环。满足条件?循环体是否满足条件?循环体是否当型当型满足条件?循环体否是直接转换成当型直接转换成当型满足条件?循环体否是循环结构二:直到型循环循环结构二:直到型循环 直到型循环(until)先执行一次循环体,然后对条件进行判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环。满足条件?循环体是否直到型直到
7、型满足条件?循环体否是直接转换成直到型当型循环和直到型循环的区别当型循环和直到型循环的区别 当型循环先判断,后执行先判断,后执行(循环体),循环体可能一次都不执行;直到型循环先执行先执行(循环体),后判断后判断,循环体至少执行一次。当型循环当条件满足时执行循环;直到型循环当条件满足时终止循环。当型循环和直到型循环可以相互表示。当型循环和直到型循环可以相互表示。解题时,按自然、简洁的标准选用循环结解题时,按自然、简洁的标准选用循环结构。构。讨论:如何计算下面两个问题 S=1+3+5+99 S=2+4+6+100累加器总结 累加器构件 1.初值 S=0;i=1 S=?;i=?2.循环控制条件(由循
8、环变量 i 控制)3.计算公式 S=S+i S=S 第第i项项 4.步长k i=i+1 i=i k 扩展:S=1+1/2+1/3+1/100 S=1*2*3*4*100 开始 结束i=1输出Si100?否是S=0i=i+1S=S+i 开始 结束i=1输出Si100?否是S=0i=i+1S=S+i思考:上面两个流程图有什么不同?思考:上面两个流程图有什么不同?练习2:如图给出的是计算1/2+1/4+1/20的值的一个程序框图,其中判断框内应填入的条件是 ()A、i10 B、i20 D、i100?否是S=0i=i+1S=S-(-1)i*i方法一方法二 开始 结束i=1输出Si100?否是S=0i=
9、i+1S=S-i(i mod 2)=0?S=S+iYN方法三 开始 结束i=1输出Si100?否是S=0i=i+1S=S+p*ip=1p=-p方法四(n为偶数)开始 结束i=1输出Si100?否是S=0i=i+1i=i+1S=S+iS=S-i方法五(n为偶数)开始结束S=(-1)*100/2输出输出S开始结束S=-n/2输出输出S输入输入nn mod 2=0?S=(n+1)/2YN方法六 开始 结束i=1输出Si100?否是S=0i=i+1(i mod 2)=0?S=-S+iYN输出-S算法的基本逻辑结构算法的基本逻辑结构 顺序结构顺序结构 由若干个依次执行的步骤组成。条件结构条件结构 需要经过条件判断后,才能决定执行哪个操作。循环结构循环结构 从某处开始,按照一定的条件反复执行某些步骤。可以证明:任何一个算法都可以由这三种结构组合而成。可以证明:任何一个算法都可以由这三种结构组合而成。算法的基本结构就是构成算法的积木,这一点在程序框图算法的基本结构就是构成算法的积木,这一点在程序框图中可以清楚看到。中可以清楚看到。感感谢谢聆聆听听感感谢谢聆聆听听