11算法与程序框图_第1页
11算法与程序框图_第2页
11算法与程序框图_第3页
11算法与程序框图_第4页
11算法与程序框图_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、主备人:主备人:向姸燕向姸燕 王廷伟王廷伟 唐强唐强审核:审核:牟必继牟必继 随着计算科学和信息技术的飞速发展,随着计算科学和信息技术的飞速发展,算法思想算法思想已经渗透到社会的方方面面在以已经渗透到社会的方方面面在以前的学习中,虽然没有出现前的学习中,虽然没有出现算法算法这个名词,这个名词,但实际上在数学学习中已经渗透了大量的算但实际上在数学学习中已经渗透了大量的算法思想,如四则运算的过程、求解方程的步法思想,如四则运算的过程、求解方程的步骤等等完成这些工作都需要骤等等完成这些工作都需要一系列程序化一系列程序化的步骤的步骤,这就是算法的思想,这就是算法的思想 1.1.1 1.1.1 算法的概

2、念算法的概念先算括号里面先算括号里面再乘除再乘除后加减后加减什么是算法呢?什么是算法呢?1. 6+5(4-2) 要把大象装冰箱,分几步?要把大象装冰箱,分几步?答:分三步:答:分三步:第一步:打开冰箱门第一步:打开冰箱门第二步:把大象装冰箱第二步:把大象装冰箱第三步:关上冰箱门第三步:关上冰箱门问:问:问题问题2 广义地说,算法就是解决广义地说,算法就是解决问题的程序或步骤问题的程序或步骤。什么是算法呢?什么是算法呢?问题问题3: “鸡兔同笼鸡兔同笼”是我国隋朝时期的数学著是我国隋朝时期的数学著作作孙子算经孙子算经中的一个有趣而具有深远影响的中的一个有趣而具有深远影响的题目:题目: “今有鸡兔

3、同笼,上有十七头,下有四十今有鸡兔同笼,上有十七头,下有四十八足,问:鸡兔各几只?八足,问:鸡兔各几只?” 解:算术方法:如果没有小兔,那么小鸡解:算术方法:如果没有小兔,那么小鸡应为应为17只,总的腿数应为只,总的腿数应为217=34条,条,但现在有但现在有48条腿,造成腿的数目不够是由条腿,造成腿的数目不够是由于小兔的数目为于小兔的数目为0,每有一只小兔便会增,每有一只小兔便会增加两条腿,故应有加两条腿,故应有(48172) 2=7只小只小兔。相应的,小鸡有兔。相应的,小鸡有10只。只。代数方法:设有代数方法:设有x只小鸡,只小鸡,y只小兔只小兔. 则则172448xyxy第一步第一步,

4、,(消元)(消元)-2,得,得 2y=14 2y=14 第二步第二步, , (解一元一次方程)(解一元一次方程)解得解得y=7第三步第三步, ,(代入求解)代入求解)将将 y=7 代入代入,得得x=10法一法一写出解第二个写出解第二个方程组的算法:方程组的算法:第一步第一步, ,第二步第二步, ,第三步第三步, ,解,得 21122112a ca cya ba b变一变变一变111222a x b y ca x b y c1 22 1(0)aba bb2-b1 ,得(a1b2-a2b1)x=b2c1-b1c2 第四步第四步, , 解,得12212112babacbcbx第五步第五步, ,方程组

5、的解为1221122112212112babacacaybabacbcbx2 11 22 11 2()a ba bya ca c得a2-a1 ,算法的概念算法的概念12世世纪的纪的算法算法指的是用阿拉伯数字进行指的是用阿拉伯数字进行_的过的过程程数学数学中的中的算法算法通常是指按照通常是指按照_解决某一类问解决某一类问题的题的_和和_的步骤的步骤现代现代算法算法通常可以编成通常可以编成_,让计算机执,让计算机执行并解决问题行并解决问题一定规则明确有限计算机程序算术运算算法的要求算法的要求(1)写出的算法写出的算法,必须能解决一类问题必须能解决一类问题(例如解任例如解任意一个二元一次方程组意一个

6、二元一次方程组),并且能重复使用并且能重复使用;(2) 算法过程要能一步一步执行算法过程要能一步一步执行,每一步执行的每一步执行的操作操作,必须确切必须确切,不能含混不清不能含混不清,而且在有限步之而且在有限步之内完成后能得出结果内完成后能得出结果.例例1(1)设计一个算法设计一个算法,判断判断7是否为质数是否为质数;(1)(1)第一步第一步, ,用用2除除7,得到余数得到余数1.因为余数不为因为余数不为0,所以所以2不能整除不能整除7.第二步第二步, ,用用3除除7,得到余数得到余数1.因为余数不为因为余数不为0,所以所以3不能整除不能整除7.第三步第三步, ,用用4除除7,得到余数得到余数

7、3.因为余数不为因为余数不为0,所以所以4不能整除不能整除7.第四步第四步, ,用用5除除7,得到余数得到余数2.因为余数不为因为余数不为0,所以所以5不能整除不能整除7.第五步第五步, ,用用6除除7,得到余数得到余数1.因为余数不为因为余数不为0,所以所以6不能整除不能整除7.因此因此,7是质数是质数.(2)设计一个算法设计一个算法,判断判断35是否为质数是否为质数. 第一步第一步, ,用2除35,得到余数1.因为余数不为0,所以2不能整除35.第二步第二步, ,用3除35,得到余数2.因为余数不为0,所以3不能整除35.第三步第三步, ,用4除35,得到余数3.因为余数不为0,所以4不能

8、整除35.第四步第四步, ,用5除35,得到余数0.因为余数为0,所以5能整除35.因此,35不是质数.例例2 2:设计一个算法,判断设计一个算法,判断19971997是否为质数是否为质数 第一步:用第一步:用2 2除除19971997得到余数不是得到余数不是0 0,所以不能被,所以不能被2 2整除整除第二步:用第二步:用3 3除除19971997得到余数不是得到余数不是0 0,所以不能被,所以不能被3 3整除整除第三步:用第三步:用4 4除除19971997得到余数不是得到余数不是0 0,所以不能被,所以不能被4 4整除整除第一九九五步:用第一九九五步:用19961996除除19971997

9、得到余数不是得到余数不是0 0,所以,所以 不能被不能被19961996整除。整除。因此因此,1997是质数是质数.是不确定是不确定的,与算法的确的,与算法的确定性矛盾,所以定性矛盾,所以他不表示算法他不表示算法例例2 2:设计一个算法,判断设计一个算法,判断19971997是否为质数是否为质数 第一步:令第一步:令i=2i=2第二步:用第二步:用i i除除19971997得余数得余数r r第三步:判断第三步:判断“r=0”“r=0”是否成立,若是则是否成立,若是则19971997不是不是质质 数,结束算法,否则将数,结束算法,否则将i i的值增加的值增加1 1,仍用,仍用 i i表示表示第四

10、步:判断第四步:判断“i1996”“i1996”是否成立,若是则是否成立,若是则19971997是质是质数数 结束算法,否则返回第二步结束算法,否则返回第二步探究能你写出能你写出”判断整数判断整数n(n2)是否为质数是否为质数”的算法吗的算法吗? 第一步第一步, ,给定大于2的整数n. 第二步第二步, ,令i=2. 第三步第三步, ,用i除n,得到余数r. 第四步第四步, ,判断”r=0”是否成立.若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示. 第五步第五步, ,判断”i(n-1)”是否成立.若是,则n是质数,结束算法;否则,返回第三步.算法的基本特征算法的基本特征: :明确

11、性明确性: :算法对每一个步骤都有确切的、非二算法对每一个步骤都有确切的、非二义性的规定义性的规定, ,即每一步对于利用算法解决问题的即每一步对于利用算法解决问题的人或计算机来说都是可读的、可执行的人或计算机来说都是可读的、可执行的, ,而不需而不需要计算者临时动脑筋要计算者临时动脑筋. . 有效性有效性: :算法的每一个步骤都能够通过基本运算法的每一个步骤都能够通过基本运算有效地进行算有效地进行, ,并得到确定的结果;对于相同的并得到确定的结果;对于相同的输入输入, ,无论谁执行算法无论谁执行算法, ,都能够得到相同的最终都能够得到相同的最终结果结果有限性有限性: :算法应由有限步组成算法应

12、由有限步组成, ,至少对某些输入至少对某些输入, ,算法应在有限多步内结束算法应在有限多步内结束, ,并给出计算结果并给出计算结果信息输出信息输出:一个算法至少要有一个有效的信一个算法至少要有一个有效的信息输出息输出,这就是问题求解的结果这就是问题求解的结果.不唯一性不唯一性:求解某一个题的解法不一定是唯求解某一个题的解法不一定是唯一的一的, 对于一个问题可以有不同的算法对于一个问题可以有不同的算法.算法的描述算法的描述: : 描述算法可以有不同的方式描述算法可以有不同的方式, ,常用的有常用的有自自然语言、程序框图、程序设计语言、伪代码然语言、程序框图、程序设计语言、伪代码等等. .数据输入

13、数据输入: :算法一定要根据输入的初始数据或算法一定要根据输入的初始数据或给定的初值才能正确执行它的每一步骤给定的初值才能正确执行它的每一步骤. . 自然语言就是人们日常使用的语言自然语言就是人们日常使用的语言, ,可以是可以是汉语、英语或数学语言等汉语、英语或数学语言等. .用自然语言描述算法用自然语言描述算法的优点是通俗易懂的优点是通俗易懂, ,当算法中的操作步骤都是顺当算法中的操作步骤都是顺序执行时比较容易理解序执行时比较容易理解. .缺点是如果算法中包含缺点是如果算法中包含判断和转向判断和转向, ,并且操作步骤较多时并且操作步骤较多时, ,就不那么直就不那么直观清晰了观清晰了. .(1

14、)(1)自然语言自然语言(2)(2)程序框图程序框图(3)(3)程序设计语言程序设计语言1.1.21.1.2程序框图程序框图中讲解中讲解1.21.2基本算法语句基本算法语句中讲解中讲解 例3 写出用“二分法”求方程 近似解的算法)0(022xx二分法:把满足 的函数 的零点所在的区间 “一分为二”为区间 根据 是否成立,找出零点所在的区间,仍记做 对所得的区间重复以上步骤,直到包含零点的区间 “足够小”,那么此区间 内的数即为方程的近似解 0)()( bfaf)(xf,ba,bmma0)()( mfaf,ba,ba,ba例3 写出用“二分法”求方程 近似解的算法)0(022 xx第一步:令,

15、2)(2 xxf给定精确度d第三步:取区间中点2bam .,ba含零点的区间为.,bm第四步:若( )()0,f af m则含零点的区间为;,ma否则,将新得到的含零点的区间仍记为第二步:确定区间满足0)()( bfaf,ba第五步:判断,ba的长度是否小于d或f(m)是否等0若是,则m是方程的近似值;否则,返回第三步例如:P4练习1.1.下列关于算法的说法中正确的是下列关于算法的说法中正确的是( ) ( ) D. .算法可以无限的操作下去不停止。算法可以无限的操作下去不停止。B. .算法执行后可以不产生确定的结果。算法执行后可以不产生确定的结果。C. .解决某一类问题的算法不是唯一的。解决某

16、一类问题的算法不是唯一的。A. .算法就是某个问题的解题过程。算法就是某个问题的解题过程。D2.2.下面对算法的特征描述准确的一项是下面对算法的特征描述准确的一项是( ) ( ) A.明确明确 B.B.有效有效 C.C.步骤有限步骤有限 D.D.以上都对以上都对C3.3.下面四种叙述能称为算法的是下面四种叙述能称为算法的是( ) ( ) A.吃饭吃饭 B.B.做饭做饭 C C.步骤有限步骤有限 D.D.先买菜,再做饭,再吃饭,最后刷碗先买菜,再做饭,再吃饭,最后刷碗D4.4.下列说法不是算法的是下列说法不是算法的是( )( ) A.解方程解方程3x-9=0的过程就移项再把系数化成的过程就移项再

17、把系数化成1B.B.从西华到北京先坐汽车到郑州再坐火车从西华到北京先坐汽车到郑州再坐火车C.解不等式解不等式2x-10A.利用公式利用公式S=r2计算半径为计算半径为3的圆的面积就是的圆的面积就是 计算计算32C算法算法1 1:第一步:取第一步:取n=100n=100;第二步:计算第二步:计算(1)2n n第三步:写出运算结果第三步:写出运算结果写出求写出求1+2+3+ +1001+2+3+ +100的一个算法的一个算法你会了吗?你会了吗?21.p5练习第一步:计算1+2,得3;第二步:将第一步中的运算结果3与3相加得6;第三步:将第二步中的运算结果6与4相加得10;第九十九步:将第九十八步中

18、的运算结果4950与100 相加得5050.算法2.第一步:令i=1,s=0第二步:将s+i的值重新赋值给s,i的值加1第三步:判断i100是否成立,如成立,则输出s 的值,结束算法;否则返回第二步。3、y与与x之间的函数关系为之间的函数关系为:1.2 ,1.94.9xyx(当当0 x7时时)(当当x7时时)写出函数值的算法写出函数值的算法:第一步第一步:输入每月用水量输入每月用水量x;第二步第二步:判断判断x是否不超过是否不超过7.若是若是,则则y=1.2x;若否若否,则则y=1.9x-4.9.第三步第三步:输出应交纳的水费输出应交纳的水费y.1.1.2 程序框图与算法的基本逻辑结构 1.

19、在数学中,算法通常是指按照一定规则 解决某一类问题的明确和有限的步骤.温故知新2. 算法的特征:有限性明确性普适性 不唯一性逻辑性任意给定一个大于2的整数n,试设计一个算法对n是否为质数做出判定.算法分析:前面我们知道:算法可以用自然语言来描述.第一步,给定大于第一步,给定大于2的整数的整数n第二步,令第二步,令i=2第三步,用第三步,用i除除n,得到余数,得到余数r第四步,判断第四步,判断“r=0”是否成立,若是,则是否成立,若是,则n不不 是质数,结束算法;否则令是质数,结束算法;否则令i=i+1第五步,判断第五步,判断“i(n-1)”是否成立,若是,则是否成立,若是,则n是质数,结束算法

20、;否则返回第三步是质数,结束算法;否则返回第三步算法步骤有明确的顺序,有的步骤只有在一定算法步骤有明确的顺序,有的步骤只有在一定的条件下执行,有的步骤会重复执行。所以的条件下执行,有的步骤会重复执行。所以用程序框图表示的算法更加简练用程序框图表示的算法更加简练,直观直观,流向清流向清楚楚程序框图程序框图又称流程图又称流程图,是一种用程序框、流是一种用程序框、流程线及文字说明来准确、直观地表示算法的图程线及文字说明来准确、直观地表示算法的图形形.一个或几个程序框的组合表示算法中的一个步骤一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来带有方向箭头的流程线将程序框连

21、接起来,表示表示算法步骤的执行顺序算法步骤的执行顺序.图形符号图形符号名称名称功能功能终止框终止框(起止框起止框)输入、输出框输入、输出框处理框处理框(执行框执行框)流程线流程线连接点连接点表示一个算法的起始和结束表示一个算法输入和输出的信息 赋值、计算判断某一条件是否成立,成立时在出口处标明“是”或“Y”; 不成立时标明“否”或“N”连接程序框连接程序框图的两部分判断框判断框注:1、每个程序框图都必须要有起止框2、判断框有一个入口两个出口,其它的都只有一个入口一个出口。开始开始输入输入ni=2求求n除以除以i的余数的余数ri的值增加的值增加1仍用仍用i表示表示in-1或或r=0?输出输出“n

22、不是质数不是质数”结束结束是是否否是是输出输出“n是质数是质数”否否r=0?设设n是一个大是一个大于于2的整数的整数.一般用一般用i=i+1表示表示. i=i+1也可以用也可以用图形方式图形方式来表示来表示(程序框(程序框图)图)思考思考?通过上述算法的两种不同表达方式的比通过上述算法的两种不同表达方式的比较较,你觉得用程序框图来表达算法有哪些特点你觉得用程序框图来表达算法有哪些特点?用程序框图表示的算法更加简练用程序框图表示的算法更加简练,直观直观,流向清流向清楚楚.(1 1)使用标准的图形符号。)使用标准的图形符号。(2 2)框图一般按从上到下,从左到右的方向画。)框图一般按从上到下,从左

23、到右的方向画。 (3 3)除判断框外,大多数流程图符号只有一个)除判断框外,大多数流程图符号只有一个进入点和一个退出点。判断框具有超过一个退出进入点和一个退出点。判断框具有超过一个退出点的唯一符号。点的唯一符号。 (4 4)判断框分两大类,一类判断框)判断框分两大类,一类判断框“是是”与与“否否”两分支的判断,而且又且仅有两个结果;两分支的判断,而且又且仅有两个结果;(5 5)在图形符号内描述的语言要非常简练)在图形符号内描述的语言要非常简练清楚。清楚。 开始开始输入输入ni=2求求n除以除以i的余数的余数ri=i+1in-1或或r=0?结束结束是是否否是是否否r=0?顺序结构用程序框图来表示

24、算法, 有三种不同的基本逻辑结构:条件结构循环结构输出输出“n不是质数不是质数”输出输出“n是质数是质数”程序框图的三种基本的逻辑结构程序框图的三种基本的逻辑结构顺序结构顺序结构条件结构条件结构循环结构循环结构1 1 顺序结构顺序结构任何一个算法各步骤之间都有明确的顺序性,在算法的程序框图中,由若干个依次执行的步骤组成的逻辑结构,称为顺序结构.这是任何一这是任何一个算法都离不开的基本结构个算法都离不开的基本结构用程序框图可以表示为:步骤n步骤n+1【例1】 已知一个三角形三条边的边长分别为a,b,c,利用海伦-秦九韶公式设计一个计算三角形面积的算法, 并画出程序框图表示.算法分析:第二步:计算

25、p的值.第三步:由海伦-秦九韶公式求出三角形的面积S.第四步:输出S的值.第一步:输入三角形三条边的边长a,b,c已知三角形的三边长a,b,c,画出求它的面积的程序框图.开始开始2a b cp ()()()Sp papbpc输出输出S结束结束输入输入a,b,c,已知三角形三边长分别为已知三角形三边长分别为a,b,c,则三角则三角形的面积为形的面积为其中其中 这个公式被称为海伦这个公式被称为海伦秦九韶公式秦九韶公式.()()()Sp papbpc2abcp课堂练习课堂练习 1.已知已知x=4,y=2,先写出,先写出w=3x+4y的值的算法,然后画出程序框图。的值的算法,然后画出程序框图。2.写出

26、一个将变量写出一个将变量x,y的值互换的一的值互换的一个算法,并画出程序框图个算法,并画出程序框图3.流程图的判断框,有一个入口和流程图的判断框,有一个入口和n个出个出 口,则口,则n的值为()的值为() (A)1 (B) 2 (C) 3 (D) 44.下列图形符号表示输入输出框的是()下列图形符号表示输入输出框的是() (A)矩形框矩形框 (B)平行四边形框平行四边形框 (C)圆角矩形框圆角矩形框 (D)菱形框菱形框5.阅读下面的流程图阅读下面的流程图, 当当输入输入y=1时,输出的时,输出的结果是结果是 _.开始开始输入输入y输出输出x结束结束12 yt4logxt2 2 条件结构条件结构

27、 在某些问题的算法中,有些步骤只有在一定条件下才会被执行,算法的流程因条件是否成立而变化. 在算法的程序框图中,由若干个在一定条件下才会被执行的步骤组成的逻辑结构,称为条件结构,用程序框图可以表示为下面两种形式:步骤A步骤B是步骤A是否否满足条件?满足条件?否否判断框里面要有一个“?”例2:任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在.画出这个算法的程序框图.算法分析:第一步:输入3个正实数a,b,c;第二步:判断a+bc,a+cb,b+ca是否同时成立,若是,则能组成三角形;若否,则组不成三角形.程序框图:开始开始输入输入a,b,ca+bc,a+cb,b+c

28、a是否是否同时成立同时成立?是是存在这样的存在这样的三角形三角形不存在这样的不存在这样的三角形三角形否否结束结束例3:为了加强居民的节水意识,某市制订了以下生活用水收费标准:每户每月用水未超过7m3时,每立方米收费1.0元,并加收0.2元的城市污水处理费;超过7m3的部分,每立方米收费1.5元,并加收0.4元的城市污水处理费,请你写出某户居民每月应交纳的水费y(元)与用水量x(m3)之间的函数关系,然后设计一个求该函数值的算法,并画出程序框图.解:y与x之间的函数关系为:1.2 ,1.94.9xyx(当0 x7时)(当x7时)解:y与x之间的函数关系为:1.2 ,1.94.9xyx(当0 x7

29、时)(当x7时)算法分析:第一步:输入每月用水量x;第二步:判断x是否不超过7.若是,则y=1.2x;若否,则y=1.9x-4.9.第三步:输出应交纳的水费y.开始输入用水量x0 x7?是y=1.2x否y=1.9x-4.9输出y结束程序框图例例4.画程序框图画程序框图,对于输入的对于输入的x值值,输出相应的输出相应的y值值.0(0)1(01)(1)xyxx x开始开始程序框图程序框图x0?是是y=0否否0 x1?是是y=1否否y=x输出输出y结束结束输入输入x 例例5 5 设计一个求解一元二次方程设计一个求解一元二次方程ax2+bx+c=0的的算法,并画出程序框图表示算法,并画出程序框图表示.

30、 . 算法步骤:算法步骤:第一步,输入第一步,输入3 3个系数个系数a a,b b,c.c.第二步,计算第二步,计算=b2-4ac.第四步,判断第四步,判断=0=0是否成立是否成立. .若是,则输出若是,则输出 x1=x2=p,否则,计算,否则,计算x1=p+q,x2=p-q, 并输出并输出x1,x2. . 第三步,判断第三步,判断0 0是否成立是否成立. .若是,则计若是,则计 算算 ;否则,输出;否则,输出“方方程没有程没有 实数根实数根”,结束算法,结束算法. .,22bpqaa 开始开始程序框图程序框图:输入输入a,b,c= b2- -4ac0?=0?否否x1= p + q输出输出x1

31、,x2结束结束否否是是x2= p - q输出输出p是是输出输出“方程没有方程没有实数根实数根”2bpa 2qa是是练习练习1.设计一个求任意数的绝对值的算法设计一个求任意数的绝对值的算法,并画并画出程序框图出程序框图.(0)|(xxxxx当时当 x B. x cC. c b D. b c是是否否开始开始输入输入a,b,cx=abx输出输出x结束结束x=bx=c否否是是3. 循环结构 在一些算法中,经常会出现从某处开始,按照一定的条件反复执行某些步骤的情况, 这就是循环结构. 反复执行的步骤称为循环体.注意:循环结构不能是永无终止的“死循环”,一定要在某个条件下终止循环,这就需要条件结构来作出判

32、断。 因此,循环结构中一定包含条件结构。满足条件?是循环体否 这个循环结构有如下特征:在执行了一次循环体后,对条件进行判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环. 因此, 这种循环结构称为直到型循环结构.(1)直到型循环结构 (反复执行循环体反复执行循环体,直到条件满足直到条件满足)循环体满足条件?是是否(2)当型循环结构 除直到型循环结构外,右图表示的也是常见的循环结构,它有如下特征:在每次执行循环体前,对条件进行判断,如果条件满足,就执行循环体,否则终止循环. 因此,这种循环结构称为当型循环结构.(当条件满足时反复执行循环体当条件满足时反复执行循环体)例5:设计一个计算

33、1+2+3+100的值的算法,并画出程序框图.算法分析:第1步:0+1=1; 第2步:1+2=3;第3步:3+3=6; 第4步:6+4=10第100步:4950+100=5050.第(i-1)步的结果+i=第i步的结果各步骤有共同的结构:为了方便有效地表示上述过程,我们引进一个累加变量S来表示每一步的计算结果,从而把第i步表示为 S=S+iS的初始值为0,i依次取1,2,100,由于i既是累加的数值又同时记录了循环的次数,所以i称为计数变量.例5:设计一个计算1+2+3+100的值的算法,并画出程序框图.算法分析:第1步:0+1=1; 第2步:1+2=3;第3步:3+3=6; 第4步:6+4=

34、10第100步:4950+100=5050.第一步:令n=1,s=0第二步:将s+n的值重新赋值给s,n的值加1第三步:判断n100是否成立,如成立,则输出s的值,结束算法;否则返回第二步。程序框图:开始i=1S=0S=S+ii=i+1i100?是输出S结束否直到直到型循型循环结环结构构开始i=1S=0i100?是S=S+ii=i+1否输出S结束当型循环结构说明说明:一般地一般地,循环体中都有一个循环体中都有一个计数变量计数变量(i)和和累累加变量加变量(S). 计数变量计数变量用于用于记录循环次数记录循环次数,同时它的同时它的取值取值还用于判断循环是否终止还用于判断循环是否终止, 累加变量累

35、加变量用于用于输出结果输出结果.累加变量累加变量和和计数变量计数变量一般是一般是同步执行同步执行的的,累加一次累加一次,就记数一次就记数一次.思 考 如何用自然语言表述上图中的算法?改进这一算法,表示输出1, 1+2, 1+2+3, ., 1+2+3+.+(n-1)+n(nN*)的过程.结束输出Si=0,S=0开始i = i + 1S=S + iin-1?否是输入n【例6】某工厂2005年的年生产总值为200万元,技术革新后预计以后每年的年生产总值都比上一年增长5%, 设计一个程序框图,输出预计年生产总值超过300万元的最早年份.算法分析:算法分析:第一步,输入第一步,输入2005年的年生产总

36、值。年的年生产总值。第二步,计算下一年的年生产总值。第二步,计算下一年的年生产总值。第三步,判断所得的结果是否大于第三步,判断所得的结果是否大于300.若是,若是,则输出该年的年份;否则,返回第二步则输出该年的年份;否则,返回第二步 由于“第二步”是重复操作的步骤,所以可以用循环结构来实现。我们按照“确定循环体” “初始化变量” “设定循环控制条件”的顺序来构造循环结构。(2)初始化变量:若将)初始化变量:若将2005年的年生产总值堪称计算的年的年生产总值堪称计算的起始点,则起始点,则n的初始值为的初始值为2005,a的初始值为的初始值为200.(3)设定循环控制条件:当)设定循环控制条件:当“年生产总值超过年生产总值超过300万元万元”时时终止循环,所以可通过判断终止循环,所以可通过判断“a300”是否成立来控制循环。是否成立来控制循环。(1)确定循环体:设)确定循环体:设a为某年的年生产总值,为某年的年生产总值,t为年生为年生产总值的年增长量,产总值的年增长量,n为年份,则循环体为为年份,则循环

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论