《112-113_程序框图与算法的基本逻辑结构(一、二).ppt》由会员分享,可在线阅读,更多相关《112-113_程序框图与算法的基本逻辑结构(一、二).ppt(143页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1.1.2 程序框图与算法的基本逻辑结构 主讲教师 申东课前复习课前复习课前复习课前复习算法算法课前复习课前复习算法算法在数学中,按照一定规则解决某一类问题的明确和有限的步骤称为算法. 课前复习课前复习算法算法在数学中,按照一定规则解决某一类问题的明确和有限的步骤称为算法. 我们可以用自然语言表述一个算法,但往往过程复杂,缺乏简洁性,因此,我们有必要探究使算法表达得更加直观、准确的方法,可以通过程序框图来实现.知识探究(一):算法的程序框图知识探究(一):算法的程序框图1:复习“判断整数n(n2)是否为质数”的算法。知识探究(一):算法的程序框图1:复习“判断整数n(n2)是否为质数”的算法。
2、第一步,给定一个大于2的整数n;知识探究(一):算法的程序框图1:复习“判断整数n(n2)是否为质数”的算法。第一步,给定一个大于2的整数n;第二步,令i=2;知识探究(一):算法的程序框图1:复习“判断整数n(n2)是否为质数”的算法。第一步,给定一个大于2的整数n;第二步,令i=2;第三步,用i除n,得到余数r;知识探究(一):算法的程序框图1:复习“判断整数n(n2)是否为质数”的算法。第一步,给定一个大于2的整数n;第二步,令i=2;第三步,用i除n,得到余数r;第四步,判断“r=0”是否成立.若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示;知识探究(一):算法的程序框
3、图1:复习“判断整数n(n2)是否为质数”的算法。第一步,给定一个大于2的整数n;第二步,令i=2;第三步,用i除n,得到余数r;第四步,判断“r=0”是否成立.若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示;第五步,判断“i(n-1)”是否成立,若是,则n是质数,结束算法;否则,返回第三步2. 我们将上述算法如下表示:2. 我们将上述算法如下表示:开始开始开始开始2. 我们将上述算法如下表示:开始开始开始开始输入输入n输入输入n输入输入n2. 我们将上述算法如下表示:开始开始开始开始输入输入n输入输入n输入输入ni=2i=2i=22. 我们将上述算法如下表示:开始开始开始开始
4、输入输入n输入输入n输入输入ni=2i=2i=2求求n除以除以i的余数的余数求求n除以除以i的余数的余数求求n除以除以i的余数的余数2. 我们将上述算法如下表示:开始开始开始开始输入输入n输入输入n输入输入ni=2i=2i=2求求n除以除以i的余数的余数求求n除以除以i的余数的余数求求n除以除以i的余数的余数i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示2. 我们将上述算法如下表示:开始开始开始开始输入输入n输入输入n输入输入ni=2i=2i=2求求n除以除以i的余数的余数求求n除以除以i的余数的余数求求n除以除以
5、i的余数的余数i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?2. 我们将上述算法如下表示:是是开始开始开始开始输入输入n输入输入n输入输入ni=2i=2i=2求求n除以除以i的余数的余数求求n除以除以i的余数的余数求求n除以除以i的余数的余数i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i in n- -1 1或
6、或r=0r=0?i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?r=0?r=0?2. 我们将上述算法如下表示:是是开始开始开始开始输入输入n输入输入n输入输入ni=2i=2i=2求求n除以除以i的余数的余数求求n除以除以i的余数的余数求求n除以除以i的余数的余数i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?r=0?r=0?输出输出“n不是质数不是质数”输出
7、输出“n不是质数不是质数”是是2. 我们将上述算法如下表示:是是是是开始开始开始开始输入输入n输入输入n输入输入ni=2i=2i=2求求n除以除以i的余数的余数求求n除以除以i的余数的余数求求n除以除以i的余数的余数i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?r=0?r=0?输出输出“n不是质数不是质数”输出输出“n不是质数不是质数”结束结束结束结束结束结束2. 我们将上述算法如下表示:是
8、是是是开始开始开始开始输入输入n输入输入n输入输入ni=2i=2i=2求求n除以除以i的余数的余数求求n除以除以i的余数的余数求求n除以除以i的余数的余数i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?r=0?r=0?输出输出“n不是质数不是质数”输出输出“n不是质数不是质数”否否否否结束结束结束结束结束结束2. 我们将上述算法如下表示:是是是是否否开始开始开始开始输入输入n输入输入n输入输入
9、ni=2i=2i=2求求n除以除以i的余数的余数求求n除以除以i的余数的余数求求n除以除以i的余数的余数i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?r=0?r=0?输出输出“n不是质数不是质数”输出输出“n不是质数不是质数”否否否否结束结束结束结束结束结束2. 我们将上述算法如下表示:是是是是否否开始开始开始开始输入输入n输入输入n输入输入ni=2i=2i=2求求n除以除以i的余数的余数求
10、求n除以除以i的余数的余数求求n除以除以i的余数的余数i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?r=0?r=0?输出输出“n不是质数不是质数”输出输出“n不是质数不是质数”否否否否输出输出“n是质数是质数”输出输出“n是质数是质数”结束结束结束结束结束结束2. 我们将上述算法如下表示:是是是是否否开始开始开始开始输入输入n输入输入n输入输入ni=2i=2i=2求求n除以除以i的余数的余数
11、求求n除以除以i的余数的余数求求n除以除以i的余数的余数i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?r=0?r=0?输出输出“n不是质数不是质数”输出输出“n不是质数不是质数”否否否否输出输出“n是质数是质数”输出输出“n是质数是质数”结束结束结束结束结束结束图形符号图形符号名名 称称功功 能能终端框终端框(起止框)(起止框)输入、输出框输入、输出框处理框处理框(执行框)(执行框)判断框判
12、断框流程线流程线表示一个算法的起始和结束表示一个算法的起始和结束表示一个算法输入和输出的表示一个算法输入和输出的信息信息赋值、计算赋值、计算判断某一条件是否成立,成立判断某一条件是否成立,成立时在出口处标明时在出口处标明“是是”或或“Y”;不成立时标明不成立时标明“否否”或或“N”连接程序框,表示算法步骤的连接程序框,表示算法步骤的执行顺序执行顺序图形符号图形符号名名 称称功功 能能图形符号图形符号名名 称称功功 能能终端框终端框(起止框)(起止框)输入、输出框输入、输出框处理框处理框(执行框)(执行框)判断框判断框流程线流程线表示一个算法的起始和结束表示一个算法的起始和结束表示一个算法输入和
13、输出的表示一个算法输入和输出的信息信息赋值、计算赋值、计算判断某一条件是否成立,成立判断某一条件是否成立,成立时在出口处标明时在出口处标明“是是”或或“Y”;不成立时标明不成立时标明“否否”或或“N”连接程序框,表示算法步骤的连接程序框,表示算法步骤的执行顺序执行顺序算法的基本逻辑结构:算法的基本逻辑结构:开始开始r=0?输出输出“n不是质数不是质数”求求n除以除以i的余数的余数i=2输入输入ni的值增加的值增加1,仍用,仍用i表示表示i in n- -1 1或或r=0r=0?是是是是结束结束否否否否输出输出“n是质数是质数”顺序结构顺序结构循环结构循环结构条件结构条件结构开始开始r=0?输出
14、输出“n不是质数不是质数”求求n除以除以i的余数的余数i=2输入输入ni的值增加的值增加1,仍用,仍用i表示表示i in n- -1 1或或r=0r=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表示表示i in n- -1 1或或r=0r=0?i
15、in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?是是是是是是是是结束结束结束结束结束结束否否否否否否否否输出输出“n是质数是质数”输出输出“n是质数是质数”顺序结构顺序结构循环结构循环结构条件结构条件结构知识探究(二):算法的顺序结构知识探究(二):算法的顺序结构1: 任何一个算法各步骤之间都有明确的顺序性,在算法的程序框图中,由若干个依次执行的步骤组成的逻辑结构,称为顺序结构,用程序框图可以表示为:步骤步骤n步骤步骤n+1步骤步骤n步骤步骤n+1()()()Sp papb pc=-例1 若一个三角形的三条边长分别为a,b,c,令p=(a+b+c)/2,则三角形
16、的面积试用这个公式设计一个计算三角形面积的算法步骤()()()Sp papb pc例1 若一个三角形的三条边长分别为a,b,c,令p=(a+b+c)/2,则三角形的面积试用这个公式设计一个计算三角形面积的算法步骤()()()Sp papb pc()()()Sp papb pc=-第一步,输入三角形三条边的边长第一步,输入三角形三条边的边长a,b,c. 例1 若一个三角形的三条边长分别为a,b,c,令p=(a+b+c)/2,则三角形的面积试用这个公式设计一个计算三角形面积的算法步骤()()()Sp papb pc例1 若一个三角形的三条边长分别为a,b,c,令p=(a+b+c)/2,则三角形的面
17、积试用这个公式设计一个计算三角形面积的算法步骤()()()Sp papb pc()()()Sp papb pc=-第一步,输入三角形三条边的边长第一步,输入三角形三条边的边长a,b,c. 第二步,计算第二步,计算 . . 2abcp+=例1 若一个三角形的三条边长分别为a,b,c,令p=(a+b+c)/2,则三角形的面积试用这个公式设计一个计算三角形面积的算法步骤()()()Sp papb pc例1 若一个三角形的三条边长分别为a,b,c,令p=(a+b+c)/2,则三角形的面积试用这个公式设计一个计算三角形面积的算法步骤()()()Sp papb pc()()()Sp papb pc=-第一
18、步,输入三角形三条边的边长第一步,输入三角形三条边的边长a,b,c. 第二步,计算第二步,计算 . . 2abcp+=第三步,计算第三步,计算 . .()()()Sp pa pb pc=-例1 若一个三角形的三条边长分别为a,b,c,令p=(a+b+c)/2,则三角形的面积试用这个公式设计一个计算三角形面积的算法步骤()()()Sp papb pc例1 若一个三角形的三条边长分别为a,b,c,令p=(a+b+c)/2,则三角形的面积试用这个公式设计一个计算三角形面积的算法步骤()()()Sp papb pc()()()Sp papb pc=-第一步,输入三角形三条边的边长第一步,输入三角形三条
19、边的边长a,b,c. 第二步,计算第二步,计算 . . 2abcp+=第三步,计算第三步,计算 . .()()()Sp pa pb pc=-第四步,输出第四步,输出S S. . 例1 若一个三角形的三条边长分别为a,b,c,令p=(a+b+c)/2,则三角形的面积试用这个公式设计一个计算三角形面积的算法步骤()()()Sp papb pc例1 若一个三角形的三条边长分别为a,b,c,令p=(a+b+c)/2,则三角形的面积试用这个公式设计一个计算三角形面积的算法步骤()()()Sp papb pc3. 将上述算法的用程序框图表示3. 将上述算法的用程序框图表示开始开始开始开始3. 将上述算法的
20、用程序框图表示开始开始开始开始输入输入a,b,c输入输入a,b,c3. 将上述算法的用程序框图表示2abcp+=开始开始开始开始输入输入a,b,c输入输入a,b,c3. 将上述算法的用程序框图表示2abcp+=()()()Sp pa pb pc=-开始开始开始开始输入输入a,b,c输入输入a,b,c3. 将上述算法的用程序框图表示2abcp+=()()()Sp pa pb pc=-开始开始开始开始输入输入a,b,c输入输入a,b,c输出输出S输出输出S3. 将上述算法的用程序框图表示2abcp+=()()()Sp pa pb pc=-结束结束结束结束开始开始开始开始输入输入a,b,c输入输入a
21、,b,c输出输出S输出输出S4.练习:已知下图是“求一个正奇数的平方加5的值”的程序框图,若输出的数是30,求输入的数n的值.开始开始结束结束输入正整数输入正整数n输出输出yy=x2+5x=2n- -1开始开始结束结束输入正整数输入正整数n输出输出yy=x2+5x=2n- -1知识探究(三):算法的条件结构知识探究(三):算法的条件结构1.在某些问题的算法中,有些步骤只有在一定条件下才会被执行,算法的流程因条件是否成立而变化.在算法的程序框图中,由若干个在一定条件下才会被执行的步骤组成的逻辑结构,称为条件结构,用程序框图可以表示为下面两种形式:满足条件?满足条件?步骤步骤A步骤步骤B是是否否满
22、足条件?满足条件?步骤步骤A是是否否满足条件?满足条件?步骤步骤A步骤步骤B是是否否满足条件?满足条件?步骤步骤A步骤步骤B是是否否满足条件?满足条件?步骤步骤A是是否否满足条件?满足条件?步骤步骤A是是否否2例2: 判断“以任意给定的3个正实数为三条边边长的三角形是否存在”的算法步骤如何设计?2例2: 判断“以任意给定的3个正实数为三条边边长的三角形是否存在”的算法步骤如何设计?第一步,输入三个正实数第一步,输入三个正实数a,b,c.2例2: 判断“以任意给定的3个正实数为三条边边长的三角形是否存在”的算法步骤如何设计?第二步,判断第二步,判断a+bc,b+ca,c+ab是是否同时成立否同时
23、成立. 若是,则存在这样的三角若是,则存在这样的三角形;否则,不存在这样的三角形形;否则,不存在这样的三角形.第一步,输入三个正实数第一步,输入三个正实数a,b,c.3请画出这个算法的程序框图。 2例2: 判断“以任意给定的3个正实数为三条边边长的三角形是否存在”的算法步骤如何设计?第二步,判断第二步,判断a+bc,b+ca,c+ab是是否同时成立否同时成立. 若是,则存在这样的三角若是,则存在这样的三角形;否则,不存在这样的三角形形;否则,不存在这样的三角形.第一步,输入三个正实数第一步,输入三个正实数a,b,c.开始开始开始开始开始开始开始开始输入输入a,b,c输入输入a,b,c开始开始开
24、始开始输入输入a,b,c输入输入a,b,ca+bc,b+ca,c+ab是否同时成立?是否同时成立?a+bc,b+ca,c+ab是否同时成立?是否同时成立?开始开始开始开始输入输入a,b,c输入输入a,b,ca+bc,b+ca,c+ab是否同时成立?是否同时成立?a+bc,b+ca,c+ab是否同时成立?是否同时成立?是是存在这样的三角形存在这样的三角形是是存在这样的三角形存在这样的三角形开始开始开始开始输入输入a,b,c输入输入a,b,ca+bc,b+ca,c+ab是否同时成立?是否同时成立?a+bc,b+ca,c+ab是否同时成立?是否同时成立?是是存在这样的三角形存在这样的三角形是是存在这
25、样的三角形存在这样的三角形结束结束结束结束开始开始开始开始输入输入a,b,c输入输入a,b,ca+bc,b+ca,c+ab是否同时成立?是否同时成立?a+bc,b+ca,c+ab是否同时成立?是否同时成立?是是存在这样的三角形存在这样的三角形是是存在这样的三角形存在这样的三角形结束结束结束结束否否不存在这样的三角不存在这样的三角形形否否不存在这样的三角不存在这样的三角形形开始开始开始开始输入输入a,b,c输入输入a,b,ca+bc,b+ca,c+ab是否同时成立?是否同时成立?a+bc,b+ca,c+ab是否同时成立?是否同时成立?是是存在这样的三角形存在这样的三角形是是存在这样的三角形存在这
26、样的三角形结束结束结束结束否否不存在这样的三角不存在这样的三角形形否否不存在这样的三角不存在这样的三角形形3.练习题(0)(0)xxyxx 画画出出求求函函数数的的函函数数值值的的程程序序框框图图. .理论迁移理论迁移理论迁移理论迁移例3 设计一个求解一元二次方程ax2+bx+c=0的算法,并画出程序框图表示. 理论迁移理论迁移算法分析算法分析:例3 设计一个求解一元二次方程ax2+bx+c=0的算法,并画出程序框图表示. 理论迁移理论迁移算法分析算法分析:第一步,输入三个系数a,b,c.例3 设计一个求解一元二次方程ax2+bx+c=0的算法,并画出程序框图表示. 理论迁移理论迁移算法分析算
27、法分析:第一步,输入三个系数a,b,c.第二步,计算=b24ac.例3 设计一个求解一元二次方程ax2+bx+c=0的算法,并画出程序框图表示. 理论迁移理论迁移算法分析算法分析:第一步,输入三个系数a,b,c.第二步,计算=b24ac.例3 设计一个求解一元二次方程ax2+bx+c=0的算法,并画出程序框图表示. 第三步,判断0是否成立.若是,则计算;否则,输出“方程没有实数根”,结束算法.,22bpqaa第三步,判断0是否成立.若是,则计算;否则,输出“方程没有实数根”,结束算法.,22bpqaa理论迁移理论迁移算法分析算法分析:第一步,输入三个系数a,b,c.第二步,计算=b24ac.例
28、3 设计一个求解一元二次方程ax2+bx+c=0的算法,并画出程序框图表示. 第三步,判断0是否成立.若是,则计算;否则,输出“方程没有实数根”,结束算法.,22bpqaa第三步,判断0是否成立.若是,则计算;否则,输出“方程没有实数根”,结束算法.,22bpqaa第四步,判断=0是否成立.若是,则输出x1=x2=p,否则,计算x1=p+q,x2=pq,并输出x1、x2程序框图程序框图:程序框图程序框图:开始开始程序框图程序框图:开始开始输入输入a,b,c输入输入a,b,c程序框图程序框图:开始开始输入输入a,b,c输入输入a,b,c= b2- -4ac= b2- -4ac程序框图程序框图:开
29、始开始输入输入a,b,c输入输入a,b,c= b2- -4ac= b2- -4ac0?0?程序框图程序框图:开始开始输入输入a,b,c输入输入a,b,c= b2- -4ac= b2- -4ac0?0?是是2bpa是是2bpa程序框图程序框图:开始开始输入输入a,b,c输入输入a,b,c= b2- -4ac= b2- -4ac0?0?是是2bpa是是2bpa2qa2qa程序框图程序框图:开始开始输入输入a,b,c输入输入a,b,c= b2- -4ac= b2- -4ac0?0?是是2bpa是是2bpa2qa2qa=0?=0?=0?程序框图程序框图:开始开始输入输入a,b,c输入输入a,b,c=
30、b2- -4ac= b2- -4ac0?0?是是2bpa是是2bpa2qa2qa=0?=0?=0?否否x1=p+q否否x1=p+q程序框图程序框图:开始开始输入输入a,b,c输入输入a,b,c= b2- -4ac= b2- -4ac0?0?是是2bpa是是2bpa2qa2qa=0?=0?=0?否否x1=p+q否否x1=p+qx2=p- -qx2=p- -q程序框图程序框图:开始开始输入输入a,b,c输入输入a,b,c= b2- -4ac= b2- -4ac0?0?是是2bpa是是2bpa2qa2qa=0?=0?=0?否否x1=p+q否否x1=p+qx2=p- -qx2=p- -q输出输出x1,
31、x2输出输出x1,x2程序框图程序框图:开始开始输入输入a,b,c输入输入a,b,c= b2- -4ac= b2- -4ac0?0?是是2bpa是是2bpa2qa2qa=0?=0?=0?否否x1=p+q否否x1=p+qx2=p- -qx2=p- -q输出输出x1,x2输出输出x1,x2结束结束结束结束程序框图程序框图:开始开始是是输入输入a,b,c输入输入a,b,c= b2- -4ac= b2- -4ac0?0?是是2bpa是是2bpa2qa2qa=0?=0?=0?否否x1=p+q否否x1=p+qx2=p- -qx2=p- -q输出输出x1,x2输出输出x1,x2输出输出x1=x2=p输出输出
32、x1=x2=p结束结束结束结束程序框图程序框图:开始开始否否是是输入输入a,b,c输入输入a,b,c= b2- -4ac= b2- -4ac0?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 画画出出求求函函数数的的函函数数值值的的程程序序框框图图. .知识探究(四):算法的循环结构知识探究(四):算法的
33、循环结构思考1:在算法的程序框图中,由按照一定的条件反复执行的某些步骤组成的逻辑结构,称为循环结构,反复执行的步骤称为循环体,那么循环结构中一定包含条件结构吗?思考2:某些循环结构用程序框图可以表示为:循环体循环体满足条件?满足条件?是是否否循环体循环体满足条件?满足条件?是是否否思考2:某些循环结构用程序框图可以表示为:循环体循环体满足条件?满足条件?是是否否循环体循环体满足条件?满足条件?是是否否这种循环结构称为直到型循环结构,你能指出直到型循环结构的特征吗?思考2:某些循环结构用程序框图可以表示为:循环体循环体满足条件?满足条件?是是否否循环体循环体满足条件?满足条件?是是否否这种循环结
34、构称为直到型循环结构,你能指出直到型循环结构的特征吗?在执行了一次循环体后,对条件进行判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环.思考3:还有一些循环结构用程序框图可以表示为:循环体循环体满足条件?满足条件?是是否否循环体循环体满足条件?满足条件?是是否否思考3:还有一些循环结构用程序框图可以表示为:循环体循环体满足条件?满足条件?是是否否循环体循环体满足条件?满足条件?是是否否这种循环结构称为当型循环结构,你能指出当型循环结构的特征吗?思考3:还有一些循环结构用程序框图可以表示为:循环体循环体满足条件?满足条件?是是否否循环体循环体满足条件?满足条件?是是否否在每次执行循
35、环体前,对条件进行判断,如果条件满足,就执行循环体,否则终止循环.这种循环结构称为当型循环结构,你能指出当型循环结构的特征吗?第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的值可按如下过程进行:第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
36、,从而把第,从而把第i步表示为步表示为S=S+i,其中其中S的初始值为的初始值为0,i依次取依次取1,2,100,通过重复操,通过重复操作,上述问题的算法如何设计?作,上述问题的算法如何设计?第一步,令第一步,令i=1,S=0.第一步,令第一步,令i=1,S=0.第二步,计算第二步,计算S+i,仍用,仍用S表示表示.第一步,令第一步,令i=1,S=0.第二步,计算第二步,计算S+i,仍用,仍用S表示表示.第三步,计算第三步,计算i+1,仍用,仍用i表示表示.第一步,令第一步,令i=1,S=0.第二步,计算第二步,计算S+i,仍用,仍用S表示表示.第三步,计算第三步,计算i+1,仍用,仍用i表示
37、表示.第四步,判断第四步,判断i100是否成立是否成立.若是,则输若是,则输出出S,结束算法;否则,返回第二步结束算法;否则,返回第二步.思考5:用直到型循环结构,上述算法的程序框图如何表示?思考5:用直到型循环结构,上述算法的程序框图如何表示? 开始开始思考5:用直到型循环结构,上述算法的程序框图如何表示? 开始开始i=1思考5:用直到型循环结构,上述算法的程序框图如何表示? 开始开始i=1S=0思考5:用直到型循环结构,上述算法的程序框图如何表示? 开始开始i=1S=0S=S+i思考5:用直到型循环结构,上述算法的程序框图如何表示? 开始开始i=1S=0 i=i+1S=S+i思考5:用直到
38、型循环结构,上述算法的程序框图如何表示? 开始开始i=1i100?S=0 i=i+1S=S+i思考5:用直到型循环结构,上述算法的程序框图如何表示? 开始开始i=1i100?是是输出输出SS=0 i=i+1S=S+i思考5:用直到型循环结构,上述算法的程序框图如何表示? 开始开始i=1i100?是是输出输出S结束结束S=0 i=i+1S=S+i思考5:用直到型循环结构,上述算法的程序框图如何表示? 开始开始i=1i100?是是输出输出S结束结束S=0 i=i+1S=S+i否否思考6:用当型循环结构,上述算法的程序框图如何表示?开始开始思考6:用当型循环结构,上述算法的程序框图如何表示?开始开始
39、i=1思考6:用当型循环结构,上述算法的程序框图如何表示?开始开始i=1S=0思考6:用当型循环结构,上述算法的程序框图如何表示?开始开始i=1S=0i100?思考6:用当型循环结构,上述算法的程序框图如何表示?开始开始i=1输出输出S否否S=0i100?思考6:用当型循环结构,上述算法的程序框图如何表示?开始开始i=1结束结束输出输出S否否S=0i100?思考6:用当型循环结构,上述算法的程序框图如何表示?开始开始i=1结束结束输出输出S否否是是S=0S=S+ii100?思考6:用当型循环结构,上述算法的程序框图如何表示?开始开始i=1结束结束输出输出S否否是是S=0S=S+ii100?i=
40、i+1思考6:用当型循环结构,上述算法的程序框图如何表示?例4:某工厂2005年的年生产总值为200万元,技术革新后预计以后每年的年生产总值都比上一年增长5%. 设计一个程序框图,输出预计年生产总值超过300万元的最早年份算法分析算法分析:例4:某工厂2005年的年生产总值为200万元,技术革新后预计以后每年的年生产总值都比上一年增长5%. 设计一个程序框图,输出预计年生产总值超过300万元的最早年份第一步,第一步, 输入输入2005年的年生产总值年的年生产总值.算法分析算法分析:例4:某工厂2005年的年生产总值为200万元,技术革新后预计以后每年的年生产总值都比上一年增长5%. 设计一个程
41、序框图,输出预计年生产总值超过300万元的最早年份第一步,第一步, 输入输入2005年的年生产总值年的年生产总值.第二步,计算下一年的年生产总值第二步,计算下一年的年生产总值.算法分析算法分析:例4:某工厂2005年的年生产总值为200万元,技术革新后预计以后每年的年生产总值都比上一年增长5%. 设计一个程序框图,输出预计年生产总值超过300万元的最早年份第一步,第一步, 输入输入2005年的年生产总值年的年生产总值.第二步,计算下一年的年生产总值第二步,计算下一年的年生产总值.算法分析算法分析:例4:某工厂2005年的年生产总值为200万元,技术革新后预计以后每年的年生产总值都比上一年增长5
42、%. 设计一个程序框图,输出预计年生产总值超过300万元的最早年份第三步,判断所得的结果是否大于第三步,判断所得的结果是否大于300. 若是,则若是,则输出该年的年份;否则,返回第二步输出该年的年份;否则,返回第二步.循环结构循环结构:循环结构循环结构:(1)循环体:设)循环体:设a为某年的年生产总值,为某年的年生产总值,t为年生产总值的年增长量,为年生产总值的年增长量,n为年份,则为年份,则t=0.05a,a=a+t,n=n+1.(2)初始值:)初始值:n=2005,a=200.循环结构循环结构:(1)循环体:设)循环体:设a为某年的年生产总值,为某年的年生产总值,t为年生产总值的年增长量,
43、为年生产总值的年增长量,n为年份,则为年份,则t=0.05a,a=a+t,n=n+1.(3)控制条件:当)控制条件:当“a300”时终止循环时终止循环.(2)初始值:)初始值:n=2005,a=200.循环结构循环结构:(1)循环体:设)循环体:设a为某年的年生产总值,为某年的年生产总值,t为年生产总值的年增长量,为年生产总值的年增长量,n为年份,则为年份,则t=0.05a,a=a+t,n=n+1.程序框图程序框图:开始开始程序框图程序框图:开始开始n=2005程序框图程序框图:开始开始n=2005a=200程序框图程序框图:开始开始n=2005a=200t=0.05a程序框图程序框图:开始开
44、始n=2005a=200t=0.05aa=a+t程序框图程序框图:开始开始n=2005a=200t=0.05aa=a+tn=n+1程序框图程序框图:开始开始n=2005a=200t=0.05aa=a+tn=n+1a300?程序框图程序框图:开始开始n=2005a=200t=0.05aa=a+tn=n+1a300?输出输出n是是程序框图程序框图:开始开始n=2005a=200t=0.05aa=a+tn=n+1a300?结束结束输出输出n是是程序框图程序框图:开始开始n=2005a=200t=0.05aa=a+tn=n+1a300?结束结束输出输出n是是否否程序框图程序框图:顺序结构的程序框图的基
45、本特征:顺序结构的程序框图的基本特征:小 结顺序结构的程序框图的基本特征:顺序结构的程序框图的基本特征:小 结(1)必须有两个起止框,穿插输入、输出框和)必须有两个起止框,穿插输入、输出框和处理框,没有判断框处理框,没有判断框.顺序结构的程序框图的基本特征:顺序结构的程序框图的基本特征:小 结(2)各程序框从上到下用流程线依次连接)各程序框从上到下用流程线依次连接.(1)必须有两个起止框,穿插输入、输出框和)必须有两个起止框,穿插输入、输出框和处理框,没有判断框处理框,没有判断框.条件结构的程序框图的基本特征:小 结条件结构的程序框图的基本特征:小 结(1)程序框图中必须有两个起止框,穿插输入
46、、输出框和处理框,一定有判断框.(2)条件结构的程序框图各有两种形式.条件结构的程序框图的基本特征:小 结(1)程序框图中必须有两个起止框,穿插输入、输出框和处理框,一定有判断框.循环结构的程序框图的基本特征:循环结构的程序框图的基本特征:小 结循环结构的程序框图的基本特征:循环结构的程序框图的基本特征:小 结(1)循环结构中包含条件结构,条件结构)循环结构中包含条件结构,条件结构中不含循环结构中不含循环结构.(2)循环结构的程序框图各有两种形式)循环结构的程序框图各有两种形式.循环结构的程序框图的基本特征:循环结构的程序框图的基本特征:小 结(1)循环结构中包含条件结构,条件结构)循环结构中包含条件结构,条件结构中不含循环结构中不含循环结构.作业作业: : 习案习案