资源描述
1.1.2程序框图与算法的基本逻辑结构(二)1.程序框图(即算法流程图)如下图所示,其输出结果是 ()A.110B.118C.127D.132解析:由题图可知,a的值依次为1,3,7,15,31,63,127.答案:C2.在如图所示的程序框图中,输出S的值为()A.11B.12C.13D.15解析:S=3+4+5=12.答案:B3.某地区有荒山2200亩,从2009年开始每年年初在荒山上植树造林,第一年植树100亩,以后每年比上一年多植树50亩.如图,某同学设计了一个程序框图计算到哪一年可以将荒山全部绿化(假定所植树全部成活),则程序框图A处应填上.答案:s2200?4.以下是某次考试中某班15名同学的数学成绩:72,91,58,63,84,88,90,55,61,73,64,77,82,94,60.要求将80分以上的同学的平均分求出来,画出该问题算法的程序框图.解:程序框图如图所示:5.斐波那契数列表示的是这样一列数0,1,1,2,3,5,后一个数等于前两个数的和.设计一个算法,输出这个数列的前50个数,并画出该算法的程序框图.解:算法步骤如下:第一步,A=0,B=1,输出A,B,i=3.第二步,C=A+B,输出C,A=B,B=C,i=i+1.第三步,判断i是否大于50.若是,结束算法;否则,转到第二步.程序框图如图所示:6.设计求1+2+4+7+46的算法,并画出相应的程序框图.解:算法步骤如下:第一步,p=0.第二步,i=1.第三步,t=0.第四步,p=p+i.第五步,t=t+1.第六步,i=i+t.第七步,如果i不大于46,返回重新执行第四步、第五步、第六步,否则跳出循环,最后得到的就是1+2+4+7+46的值.根据以上算法,画出算法程序框图如下图所示:7.如图所示的程序框图运行的结果为s=132,那么判断框中应填入的关于k的判断条件是()A.k7?B.k8?C.k9?D.k10?解析:根据题意,结合程序框图特点,判断框内填入的是实现循环体正确循环次数的k值,故应对已知程序框图进行试运行,逐步验证k的范围.又根据循环体知表示的运算为s=1211,而132=1211,故可确定k10.故应填“k10?”.答案:D8.如图所示的算法功能是;输出的结果为i=,i+2=.解析:从条件及输出的内容确定算法功能.答案:求积为624的两个相邻正偶数24269.(2012湖南高考,文14)如图所示的程序框图,输入x=4.5,则输出的数i=.解析:i=1时,x=4.5-1=3.5;i=1+1=2时,x=3.5-1=2.5;i=2+1=3时,x=2.5-1=1.5;i=3+1=4时,x=1.5-1=0.5;0.51,输出i=4.答案:410.如果执行如图所示的程序框图,输入N=5,那么输出的数是多少?解:第一次运行N=5,k=1,S=0,S=0+,15成立,进入第二次运行;k=2,S=,25成立,进入第三次运行;k=3,S=,35成立,进入第四次运行;k=4,S=,45成立,进入第五次运行;k=5,S=1-,55不成立,此时退出循环,输出S=.11.下列四个图是为了计算22+42+62+1002而绘制的算法程序框图,根据程序框图回答后面的问题:图(1)图(2)图(3)图(4)(1)其中正确的程序框图有哪几个?错误的程序框图有哪几个?错在哪里?(2)错误的程序框图中,按程序框图所蕴涵的算法,能执行到底吗,若能执行到底,最后输出的结果是什么?解:(1)正确的程序框图只有图(4).图(1)有三处错误.第一处错误,第二图框中i=42,应该是i=4,因为本程序框图中的计数变量是i,不是i2,指数都是2,而底数2,4,6,8,100是变化的,但前后两项的底数相差2,因此计数变量是顺加2.第二处错误,第三个图框中的内容错误,累加的是i2而不是i,故应改为p=p+i2.第三处错误,第四个图框中的内容,其中的指令i=i+1,应改为i=i+2,原因是底数前后两项相差2.图(2)所示的程序框图中共有四处错误.第一处错误,流程线没有箭头显示程序的执行顺序.第二处错误,第三个图框中的内容p=p+i错,应改为p=p+i2.第三处错误,判断框的流程线上没有标明是或否.应在向下的流程线上标注“是”,在向右的流程线上标注“否”.第四处错误,在第三个图框和判断过程中漏掉了在循环体中起主要作用的框图,内容即为i=i+2,使程序无法退出循环,应在第三个图框和判断框间添加图框i=i+2.图(3)所示的程序框图中有一处错误,即判断框中的内容错误.应将框内的内容“i100?”,且判断框下面的流程线上标注的“是”和“否”互换.(2)图(1)虽然能进行到底,但执行的结果不是所期望的结果,按照这个程序框图最终输出的结果是p=22+42+(42+1)+(42+2)+(42+84).图(2)程序框图无法进行到底.图(3)虽然能使程序进行到底,但最终输出的结果不是预期的结果,而是22+42+62+982,少了1002.12.1+2+3+()10000,这个问题的答案不唯一,我们只要确定出满足条件的最小正整数n0,括号内填写的数字只要大于或等于n0即可.试写出寻找满足条件的最小正整数n0的算法,并画出相应的程序框图.解:第一步,p=0.第二步,i=0.第三步,i=i+1.第四步,p=p+i.第五步,如果p10000,则输出i;否则执行第六步.第六步,回到第三步,重新执行第三步,第四步,第五步.该算法的程序框图如图所示:7
展开阅读全文