您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 浅谈算法问题里的循环结构
浅谈算法问题里的循环结构江苏省江都市大桥高级中学陆平如果算法问题里涉及的运算进行了许多次重复的操作,且先后参与运算的数之间有相同的规律,就可引入变量循环参与运算(我们称之为循环变量),应用于循环结构。循环结构是算法问题里的难点,循环结构有当型结构(前测试)与直到型结构(后测试)两种,前者是先判断后操作,即在满足条件时进行循环体,否则跳过循环体,后者是直接操作,然后进行判断,如果满足条件,则退出循环,否则继续循环。这两种算法结构分别可用流程图表示为:一,当型循环与直到型循环是可以相互转化的。如对描述解决问题“求使12+32+52+…+n21000成立的最大正整数n的值”的算法,用当型循环结构可以表示为下面的左图,而用直到型循环结构则可以表示为上面的右图;但要注意输出值的确定。如上面的两种算法,为什么最后输出结果的表达式不同?这里的输出结果既与n的初始值有关,也与循环结构有关。如对于当型循环,退出循环时对应的ApNY前测试的当型循环结构后测试的直到型循环结构ApNYS0n1SS+n2S≥1000Y输出n结束开始nn+2nn-2NS0n1SS+n2S1000S1000Y输出n结束开始nn+2nn-4NS其实是第一个使S≥1000的那个S,而这个S值得到后又对n的值增加了2,所以,为了输出使S1000成立的最大的n,就要将退出循环时的n的值减去4。为了准确写出输出的n值,可以使用“追踪法”。如上述当型循环,可以将1000改小一点,如30,即求使S30成立的最大正整数n,可由S=0,n=1S=1,n=3;S=12+32=10,n=5;S=12+32+52=35;n=7;满足S30的最大n为3,而退出循环时的n为7,故输出的结果应为7-3。二.在循环结构中,还要注意根据条件设计合理的计数变量、累加和累乘变量及其个数等,特别要求条件的表述要恰当、精确。例:指出下列两个算法,最后的计算结果各上是什么(可以用式子表达)?算法一:第一步:使p=1;第二步:使i=3;第三步:p←p×i;第四步:i←i+2;第五步:若i≤29,则返回第三步,并继续执行后面第四,第五步,否则算法结束。算法二:第一步:使p=10;第二步:使i=20;第三步:p←p+i;第四步:i←i+10;第五步:若i﹤100,则返回第三步,并继续执行后面第四,第五步,否则算法结束。解析:算法一中的第五步是i≤29,包含29,因而最后一个因数不是27而是29。而算法二中的第五步i﹤100,最后一个数不是100而是90,在设计算法时,要使语言尽量接近计算机能够读懂的语句,语句表达必须准确,是小于就是小于,是小于等于就是小于等于,两者的含义要区分好。语句中的一点点错误都会导致算法的错误,计算机若执行你的算法程序,最后就得不到你所期望的或预期的结果;再比如算法一中的第四步,若误写为i←i+1则最后输出的结果将是1+3+4+…+29,而不是1+3+5+…+29。因此在设计算法时必须高度细心,每一个语句都必须仔细斟酌,力争不出一点差错,否则将会一着不慎,满盘皆输。因为它不同于解题过程,做对几步得几步的分,计算机只认指令行事,只认最后的结果。累加变量的值初始值一般取成0,而累乘变量的初始值一般取成1。开始三.循环结构的箭头不能随意乱标。如下面图1和图2中:图1中循环的箭头从图2中的在第二个处理框的下面改成了在第一个处理框的下面,这样T的值就改变了此题图1图2I←2T←1T←T*II5NY输出T结束开始I←I+1I←①T←②T←T*I④NY结束开始I←③输出T11、若函数2(1)fx的定义域为[2,1),则函数()fx的定义域为[1,5];13、y=f(x)是关于x=3对称的奇函数,f(1)=1,32cossin5xx,则15sin2[]cos()4xfx=-1;14、已知方程2(1)40xaxa的两根为12,xx,且1201xx,则a的取值范围是(4,3);15、在△ABC中,a、b、c分别为∠A、∠B、∠C的对边,若a、b、c成等差数列,sinB=45且△ABC的面积为32,则b=2.16、若对终边不在坐标轴上的任意角x,不等式sincosxx22tancotmxx恒成立,则实数m的取值范围是[2,2];15、如图,一条螺旋线是用以下方法画成:ΔABC是边长为1的正三角形,曲线CA1,A1A2,A2A3分别以A、B、C为圆心,AC、BA1、CA2为半径画的弧,曲线CA1A2A3称为螺旋线。旋转一圈.然后又以A为圆心AA3为半径画弧…,这样画到第n圈,则所得螺旋线的长度nl.(用π表示即可)16.已知函数)(|2|)(2Rxbaxxxf,给出下列命题:①)(xf不可能为偶函数;②当f(0)=f(2)时,)(xf的图象必关于直线1x对称③),[)(,02axfba在区间则若上是增函数;④)(xf有最小值2ab;其中正确命题的序号是.13.若函数14455axyax的图象关于直线yx对称,则a=。14.点A在以原点为圆心的圆周上依逆时钟方向做匀速圆周运动,已知点A从X轴正半轴出发1min转过(0)角,2min到达第三象限,14min回到原来的位置,则=.A3A2A1CAB15.某游乐场有一个按逆时针方向旋转的大风车,如图所示。已知某人从点A处上风车,离地面的高度h(米)与它登上大风车后运行的时间t(分钟)满足函数关系2212.510cos()153ht,且5分钟后到达顶点B.⑴此人登上大风车开始运行时的点A距地面的高度为;⑵点A转到点B所走过的弧度数为;三、解答题:本大题共6小题,共75分.解答应写出文字说明,证明过程或演算步骤.13.在直角坐标平面内,已知点列1(1P,)2奎屯王新敞新疆2(2P,)22奎屯王新敞新疆3(3P,)23,…,nPn(,)2n,……如果k为正偶数,则向量kkPPPPPPPP1654321的坐标(用k表示)为________奎屯王新敞新疆14.在ABC中,120A,3BC,则ABC面积最大值为15.有如下四个命题:①已知函数21()xxbxfxe(b为实常数,e是自然对数的底数),若()fx在区间1,内为减函数,则b的取值范围是0,.②已知点1122(,),(,)AxyBxy是函数sin(0)yxx图象上的两个不同点,则一定有12121(sinsin)sin22xxxx;③已知xf是定义在R上的不恒为零的函数,且对于任意的Rba,,满足:(2)()()(),(2)2,()2nnnffabafbbfafanN,则数列na一定为等差数列④已知O是ABC所在平面上一定点,动点P满足:[),0,coscosABACOPOAABBACCll骣÷ç÷ç÷ç=++??÷ç÷ç÷ç÷÷ç桫uuuruuuruuuruuruuuruuur.则P点的轨迹一定通过ABC的重心其中正确命题的序号为AB数学练习1、若函数2(1)fx的定义域为[2,1),则函数()fx的定义域为_________________2.、已知方程2(1)40xaxa的两根为12,xx,且1201xx,则a的取值范围是________________3.在△ABC中,a、b、c分别为∠A、∠B、∠C的对边,若a、b、c成等差数列,sinB=45且△ABC的面积为32,则b=_______________4.、y=f(x)是关于x=3对称的奇函数,f(1)=1,32cossin5xx,则15sin2[]cos()4xfx=_______________5若函数14455axyax的图象关于直线yx对称,则a=_____________6.过曲线32yxx上一点(1,3)的切线方程是___________7.水平地面上有一个球,现用如下方法测量球的大小,用锐角45的等腰直角三角板的斜边紧靠球面,P为切点,一条直角边AC紧靠地面,并使三角板与地面垂直,如果测得PA=5cm,则球的半径等于--------------.8..在ABC中,120A,3BC,则ABC面积最大值为9若对终边不在坐标轴上的任意角x,不等式sincosxx22tancotmxx恒成立,则实数m的取值范围是;10.某游乐场有一个按逆时针方向旋转的大风车,如图所示。已知某人从点A处上风车,离地面的高度h(米)与它登上大风车后运行的时间t(分钟)满足函数关系2212.510cos()153ht,且5分钟后到达顶点B.⑴此人登上大风车开始运行时的点A距地面的高度为;⑵点A转到点B所走过的弧度数为;PACAB7.在一次珠宝展览会上,某商家展出一套珠宝首饰,第一件首饰是1颗珠宝,第二件首饰是由6颗珠宝(图中圆圈表示珠宝)构成如图1所示的正六边形,第三件首饰如图2,第四件首饰如图3,第五件首饰如图4,以后每件首饰都在前一件上,按照这种规律增加一定数量的珠宝,使它构成更大的正六变形,依此推断第6件首饰上应有_______________颗珠宝,第n件首饰所用珠宝总数为_________________颗.
本文标题:浅谈算法问题里的循环结构
链接地址:https://www.777doc.com/doc-2317117 .html