算法的基本逻辑结构-条件结构、循环结构

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

§1.1.2算法的基本逻辑结构条件结构、循环结构第一章算法初步课前复习算法在数学中,按照一定规则解决某一类问题的明确和有限的步骤称为算法.我们可以用自然语言表述一个算法,但往往过程复杂,缺乏简洁性,因此,我们有必要探究使算法表达得更加直观、准确的方法,可以通过程序框图来实现.图形符号名称功能终端框(起止框)输入、输出框处理框(执行框)判断框流程线表示一个算法的起始和结束表示一个算法输入和输出的信息赋值、计算判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”连接程序框,表示算法步骤的执行顺序图形符号名称功能图形符号名称功能终端框(起止框)输入、输出框处理框(执行框)判断框流程线表示一个算法的起始和结束表示一个算法输入和输出的信息赋值、计算判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”连接程序框,表示算法步骤的执行顺序算法的基本逻辑结构:开始r=0?输出“n不是质数”求n除以i的余数i=2输入ni的值增加1,仍用i表示in-1或r=0?是是结束否否输出“n是质数”顺序结构循环结构条件结构开始r=0?输出“n不是质数”求n除以i的余数i=2输入ni的值增加1,仍用i表示in-1或r=0?是是结束否否输出“n是质数”开始开始r=0?r=0?输出“n不是质数”输出“n不是质数”求n除以i的余数求n除以i的余数求n除以i的余数i=2i=2i=2输入n输入n输入ni的值增加1,仍用i表示i的值增加1,仍用i表示i的值增加1,仍用i表示in-1或r=0?in-1或r=0?in-1或r=0?是是是是结束结束结束否否否否输出“n是质数”输出“n是质数”顺序结构循环结构条件结构1:任何一个算法各步骤之间都有明确的顺序性,在算法的程序框图中,由若干个依次执行的步骤组成的逻辑结构,称为顺序结构,用程序框图可以表示为:步骤n步骤n+1步骤n步骤n+1课前复习1.在某些问题的算法中,有些步骤只有在一定条件下才会被执行,算法的流程因条件是否成立而变化.在算法的程序框图中,由若干个在一定条件下才会被执行的步骤组成的逻辑结构,称为条件结构,用程序框图可以表示为下面两种形式:知识探究(一):算法的条件结构满足条件?步骤A步骤B是否满足条件?步骤A是否满足条件?步骤A步骤B是否满足条件?步骤A步骤B是否满足条件?步骤A是否满足条件?步骤A是否请画出这个算法的程序框图。2.例2:判断“以任意给定的3个正实数为三条边边长的三角形是否存在”的算法步骤如何设计?第二步,判断a+bc,b+ca,c+ab是否同时成立.若是,则存在这样的三角形;否则,不存在这样的三角形.第一步,输入三个正实数a,b,c.开始开始输入a,b,c输入a,b,ca+bc,b+ca,c+ab是否同时成立?a+bc,b+ca,c+ab是否同时成立?是存在这样的三角形是存在这样的三角形结束结束否不存在这样的三角形否不存在这样的三角形3.练习题(0)(0)xxyxx画出求函数的函数值的程序框图.算法分析:第一步,输入三个系数a,b,c.第二步,计算△=b2-4ac.例3设计一个求解一元二次方程ax2+bx+c=0的算法,并画出程序框图表示.第三步,判断△≥0是否成立.若是,则计算;否则,输出“方程没有实数根”,结束算法.,22bpqaa第三步,判断△≥0是否成立.若是,则计算;否则,输出“方程没有实数根”,结束算法.,22bpqaa第四步,判断△=0是否成立.若是,则输出x1=x2=p,否则,计算x1=p+q,x2=p-q,并输出x1、x2.理论迁移程序框图:开始否是输入a,b,c输入a,b,c△=b2-4ac△=b2-4ac△≥0?△≥0?是2bpa是2bpa2qa2qa△=0?△=0?△=0?否x1=p+q否x1=p+qx2=p-qx2=p-q输出x1,x2输出x1,x2输出x1=x2=p输出x1=x2=p输出“方程没有实数根”输出“方程没有实数根”结束结束练习题0(0)1(01)(1)xyxxx画出求函数的函数值的程序框图.思考1:在算法的程序框图中,由按照一定的条件反复执行的某些步骤组成的逻辑结构,称为循环结构,反复执行的步骤称为循环体,那么循环结构中一定包含条件结构吗?知识探究(二):算法的循环结构思考2:某些循环结构用程序框图可以表示为:循环体满足条件?是否循环体满足条件?是否这种循环结构称为直到型循环结构,你能指出直到型循环结构的特征吗?在执行了一次循环体后,对条件进行判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环.思考3:还有一些循环结构用程序框图可以表示为:循环体满足条件?是否循环体满足条件?是否在每次执行循环体前,对条件进行判断,如果条件满足,就执行循环体,否则终止循环.这种循环结构称为当型循环结构,你能指出当型循环结构的特征吗?第1步,0+1=1.第2步,1+2=3.第3步,3+3=6.第4步,6+4=10.……第100步,4950+100=5050.思考4:计算1+2+3+…+100的值可按如下过程进行:我们用一个累加变量S表示每一步的计算结果,即把S+i的结果仍记为S,从而把第i步表示为S=S+i,其中S的初始值为0,i依次取1,2,…,100,通过重复操作,上述问题的算法如何设计?第一步,令i=1,S=0.第二步,计算S+i,仍用S表示.第三步,计算i+1,仍用i表示.第四步,判断i100是否成立.若是,则输出S,结束算法;否则,返回第二步.算法分析:思考5:用直到型循环结构,上述算法的程序框图如何表示?开始i=1i100?是输出S结束S=0i=i+1S=S+i否i=1结束输出S否是S=0S=S+ii≤100?i=i+1思考6:用当型循环结构,上述算法的程序框图如何表示?开始第一步,输入2005年的年生产总值.第二步,计算下一年的年生产总值.算法分析:例4:某工厂2005年的年生产总值为200万元,技术革新后预计以后每年的年生产总值都比上一年增长5%.设计一个程序框图,输出预计年生产总值超过300万元的最早年份.第三步,判断所得的结果是否大于300.若是,则输出该年的年份;否则,返回第二步.(3)控制条件:当“a300”时终止循环.(2)初始值:n=2005,a=200.循环结构:(1)循环体:设a为某年的年生产总值,t为年生产总值的年增长量,n为年份,则t=0.05a,a=a+t,n=n+1.开始n=2005a=200t=0.05aa=a+tn=n+1a300?结束输出n是否程序框图:(2)条件结构的程序框图各有两种形式.条件结构的程序框图的基本特征:小结(1)程序框图中必须有两个起止框,穿插输入、输出框和处理框,一定有判断框.(2)循环结构的程序框图各有两种形式.循环结构的程序框图的基本特征:小结(1)循环结构中包含条件结构,条件结构中不含循环结构.

1 / 25
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功