资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,1.1算法与程序框图习题课,算法与程序框图,算 法,程序框图,算法的三种基本逻辑,结构和框图表示,循环结构,条件分支结构,顺序结构,知识回顾:,四种图框类型,输入、输出框,处 理 框,判 断 框,起 止 框,语句,A,语句,B,知识再现,顺序结构,条件结构,满足条件?,步骤,A,步骤,B,是,否,满足条件?,步骤,A,是,否,循环结构:,循环体,满足条件?,是,否,(,1,),While,(当型)循环,(,2,),Until,(直到型)循环,循环体,满足条件?,是,否,开始,程序框图,x5?,是,结束,否,输出,A,如图所示的程序框图,运行该,程序,输出的第,3,个数是,-1,求,1+2+3+.+100,的算法,结束,S=S+i,i=i+1,i100?,输出,S,否,是,i=1,,,S=0,开始,结束,输出,S,i=1,,,S=0,开始,S=S+i,i=i+1,i100?,否,是,步骤,A,步骤,B,思考,:,将步骤,A,和步骤,B,交换位置,结果会怎样?能达到预期结果吗?为什么?要达到预期结果,还需要做怎样的修改?,答:达不到预期结果;当,i=100,时,退出循环,,i,的值未能加入到,S,中;修改的方法是将判断条件改为,i100?,否,是,2,、对任意正整数,n,的值,并画出程序框图,.,开始,输入正整数,n,输出,S,结束,S=0,i=1,S=S+1/i,i=i+1,in?,否,是,设计一个算法求,练习巩固,2,、设计一算法输出,11000,以内能被,3,整除的整数,结束,i=i+1,i22?,否,是,结束,输出,i-1,i=1,,,s=0,开始,s=s+i,i=i+1,s22?,否,是,区别在哪?,教材,P19,、用二分法求解方程,求关于,x,的方程,x,2,2,0,的根,精确到,0.005,算法描述,第一步,令,f(x)=x,2,-2,,因为,f(1)0,,,所以设,x,1,=1,,,x,2,=2,第二步,令,m=(x,1,+x,2,)/2,,判断,f(m),是否为,0,,若是,则,m,为所求,否则,则继续判断,f(x,1,)f(m),大于,0,还是小于,0,。,第三步,若,f(x,1,)f(m)0,则令,x,1,=m,,否则,x,2,=m,。,第四步,判断,|x,1,-x,2,|0.005,是否成立?若是则,x,1,、,x,2,之间的任意值均为满足条件的近似值;否则返回第二步。,开始,x,1,=1,:,x,2,=2,f,(,x,)=,x,2,2,x,1,=,m,x,2,=,m,m,=(,x,1,+,x,2,)/2,x,1,=,m,x,2,=,m,f,(,m,)=0?,f,(,x,1,),f,(,m,),0,|,x,1,-,x,2,|,0.005,结束,输出所求的近似根,m,m,=(,x,1,+,x,2,)/2,是,否,否,是,否,是,流程图表示,第一步,令,f(x)=x,2,-2,,因为,f(1)0,,所以设,x,1,=1,,,x,2,=2,第二步,令,m=(x,1,+x,2,)/2,,判断,f(m),是否为,0,,若是,则,m,为所求,否则,则继续判断,f(x,1,)f(m),大于,0,还是小于,0,。,第三步,若,f(x,1,)f(m)0,则令,x,1,=m,,否则,x,2,=m,。,第四步,判断,|x,1,-x,2,|0.005,是否成立?若是则,x,1,、,x,2,之间的任意值均为满足条件的近似值;否则返回第二步。,小结,1,、循环结构的特点,2,、循环结构的框图表示,3,、循环结构有注意的问题,避免死循环的出现,设置好进入(结束)循环体的条件。,当型和直到型,重复同一个处理过程,程序框图的画法,一般地,一个算法的程序框图有以下几个步骤:,第一步:用自然语言表述算法步骤,.,第二步:确定每一个算法步骤所包含的逻辑结构,并用相应的程序框图表示,得到该步骤的程序框图,.,第三步:将所有步骤的程序框图用流程线连接起 来,并加上终端框,得到表示整个算法的程序框图,.,
展开阅读全文