算法与程序框图习题(含答案)(21页).doc
-算法与程序框图习题(含答案)-第 14 页算法与程序框图 习题(含答案)一、单选题1执行如图所示的程序框图输出的结果是( )A B C D 2已知某程序框图如图所示,则执行该程序后输出的结果是A B C D 3下图是把二进制的数化成十进制数的一个程序框图,则判断框内应填入的条件是( )A B C D 4我国元朝著名数学家朱世杰在四元玉鉴中有一首待:“我有一壶酒,携着游春走,遇店添一倍,逢有饮一斗,店友经三处,没有壶中酒,借问此壶中,当原多少酒?”用程序框图表达如图所示,即最终输出的,问一开始输入的( )A B C D 5中国有个名句“运筹帷幄之中,决胜千里之外”.其中的“筹”原意是指孙 子算经中记载的算筹,古代是用算筹来进行计算,算筹是将几寸长的小竹棍摆在平面上进行运算,算筹的摆放形式有纵横两种形式,如下表:表示一个多位数时,像阿拉伯计数一样,把各个数位的数码从左到右排 列,但各位数码的筹式需要纵横相间,个位,百位,万位用纵式表示,十位,千位,十万位用横式表示,以此类推,例如2268用算筹表示就是=|丄|.执行如图所示程序框 图,若输人的x=1, y = 2,则输出的S用算筹表示为A B C D 6在中,边的四等分点分别为, 靠近,执行下图算法后结果为( )A 6 B 7 C 8 D 97宋元时期名著算学启蒙中有关于“松竹并生”的问题:松长五尺,竹长五尺,若输入的分别是5,2,则输出的=( )A B C D 8如图所示的程序框图,输出的A 18 B 41C 88 D 1839执行图1所示的程序框图,则S的值为( )图1A 16 B 32C 64 D 128二、填空题10我国南北朝时期的数学家张丘建是世界数学史上解决不定方程的第一人,他在张丘建算经中给出一个解不定方程的百鸡问题,问题如下:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一百钱买百鸡,问鸡翁母雏各几何?用代数方法表述为:设鸡翁、鸡母、鸡雏的数量分别为,则鸡翁、鸡母、鸡雏的数量即为方程组的解其解题过程可用框图表示如下图所示,则框图中正整数的值为 _11运行如图所示的程序,若输入的是,则输出的值是_12下图给出的伪代码运行结果是_ .13如图是一个算法的流程图,则输出的的值是_.14执行如图所示的程序框图,输出的值为_15如图所示是一算法的伪代码,执行此算法时,输出的结果是 16执行如图所示的程序框图,若输出的a值大于2 015,那么判断框内的条件应为_17如图程序框图的算法思路源于我国古代数学名著九章算术中“更相减损术”执行该程序框图,若输入的a,b分别为98、63,则输出的=_18执行如图所示的程序框图,若,则输出的_;若输出的,则整数 _三、解答题19编写一个程序,求满足的的最小值20在空间直角坐标系中,已知O (0,0,0) ,A(2,1,3),B(2,1,1).(1)求|AB|的长度;(2)写出A、B两点经此程序框图执行运算后的对应点A0,B0的坐标,并求出在方向上的投影. 21按右图所示的程序框图操作:()写出输出的数所组成的数集()如何变更A框内的赋值语句,使得根据这个程序框图所输出的数恰好是数列的前7项? ()如何变更B框内的赋值语句,使得根据这个程序框图所输出的数恰好是数列的前7项?22已知函数y,编写一个程序求函数值.23在音乐唱片超市里,每张唱片售价25元,顾客购买5张(含 5张)以上但不足10张唱片,则按九折收费,顾客购买10张以上(含10张)唱片,则按八五折收费,编写程序,输入顾客购买唱片的数量a,输出顾客要缴纳的金额C.并画出程序框图24图C16所示的程序框图表示了一个什么样的算法?试用当型循环写出它的算法并画出相应的程序框图2525以下是某次考试中某班15名同学的数学成绩:72,91,58,63,84,88,90,55,61,73,64,77,82,94,60.要求将80分以上的同学的平均分求出来画出程序框图26函数y=试写出给定自变量x,求函数值y的算法.27求函数的值的程序框图如图所示. (1)指出程序框图中的错误,并写出算法;(2)重新绘制解决该问题的程序框图,并回答下面提出的问题要使输出的值为正数,输入的x的值应满足什么条件?要使输出的值为8,输入的x值应是多少?要使输出的y值最小,输入的x值应是多少?参考答案1A【解析】【分析】根据程序框图循环结构运算,依次代入求解即可。【详解】根据程序框图和循环结构算法原理,计算过程如下: 所以选A【点睛】本题考查了程序框图的基本结构和运算,主要是掌握循环结构在何时退出循环结构,属于基础题。2A【解析】【分析】由已知中的程序框图可知,该程序的功能是利用循环结构计算并输出变量的值,模拟程序的运行过程,即可得到答案【详解】代入,则,;再次代入得,;继续代入得,;不难发现出现了循环,周期为3则当时,跳出循环得到故选【点睛】本题主要考查的是程序框图,在循环结构中找出其循环规律,即可得出结果,较为基础3C【解析】【分析】由题意输出的S=1+1×2+1×22+1×23+1×24,按照程序运行,观察S与i的关系,确定判断框内的条件即可.【详解】由题意输出的S=1+1×2+1×22+1×23+1×24,按照程序运行:S=1,i=1;S=1+1×2,i=2;S=1+1×2+1×22,i=3;S=1+1×2+1×22+1×23,i=4;S=1+1×2+1×22+1×23+1×24,i=5,此时跳出循环输出结果,故判断框内的条件应为i4.故选C.【点睛】本题主要考查的是程序框图,考查了进位制,本题是程序框图中的循环结构,是先进行了一次判断,实则是直到型性循环,这是一道基础题.首先将二进制数化为十进制数,得到十进制数的数值,然后假设判断框中的条件不满足,执行算法步骤,待累加变量的值为时,算法结束,此时判断框中的条件要满足,即可得到答案.4C【解析】【分析】遇店添一倍,逢友饮一斗,意思是碰到酒店把壶里的酒加1倍,碰到朋友就把壶里的酒喝一斗,店友经三处,意思是每次都是遇到店后又遇到朋友,一共是3次,等量关系为:第一次加酒1+(2×一遇店和朋友后剩的酒量1)+(2×二遇店和朋友后剩的酒量1)=0,把相关数值代入即可求解【详解】由题意,解方程:22(2x1)11=0,解得x=,故选:C【点睛】考查用一元一次方程解决古代数学问题,得到酒的数量为0的等量关系是解决本题的关键,难点是理解题意5C【解析】【分析】模拟执行程序框图,只要按照程序框图规定的运算方法逐次计算,直到达到输出条件即可得到输出的值,再利用表格中的对应关系可得结果.【详解】第一次循环,;第二次循环,第三次循环,;第四次循环,满足,推出循环,输出,因为对应,故选C.【点睛】本题主要考查程序框图的循环结构流程图,属于中档题. 解决程序框图问题时一定注意以下几点:(1) 不要混淆处理框和输入框;(2) 注意区分程序框图是条件分支结构还是循环结构;(3) 注意区分当型循环结构和直到型循环结构;(4) 处理循环结构的问题时一定要正确控制循环次数;(5) 要注意各个框的顺序,(6)在给出程序框图求解输出结果的试题中只要按照程序框图规定的运算方法逐次计算,直到达到输出条件即可.6D【解析】【分析】根据程序框图进行运行,得到不满足条件的取值,即可得到结论【详解】中,则由余弦定理可得 则 ,三次运行的结果是 故选D【点睛】本题主要考查程序框图的应用和识别,根据向量积的定义和运算性质,以及余弦定理是解决本题的关键,综合性较强,难度较大7C【解析】【分析】根据程序框图,模拟程序的运行过程,分析循环中各变量值的变化情况,可得答案【详解】当时,满足进行循环的条件当时,满足进行循环的条件当时,满足进行循环的条件当时,不满足进行循环的条件故输出的的值为故选【点睛】本题主要考查的是程序框图,只要按照程序图内的计算即可求出结果,较为基础8C【解析】执行程序知:,不符合,返回;,不符合,返回;,不符合,返回;,不符合,返回;,符合,输出88故选:C点睛:本题的实质是累加满足条件的数据,可利用循环语句来实现数值的累加(乘)常分以下步骤:(1)观察S的表达式分析,确定循环的初值、终值、步长;(2)观察每次累加的值的通项公式;(3)在循环前给累加器和循环变量赋初值,累加器的初值为0,累乘器的初值为1,环变量的初值同累加(乘)第一项的相关初值;(4)在循环体中要先计算累加(乘)值,如果累加(乘)值比较简单可以省略此步,累加(乘),给循环变量加步长;(5)输出累加(乘)值9D【解析】分析:模拟程序框图运行即得解. 详解:模拟程序的运行,可得i=1,S=1,执行循环体,S=2,i=2,满足条件i4,执行循环体,S=8,i=4满足条件i4,执行循环体,S=128,i=8此时,不满足条件i4,退出循环,输出S的值为128故答案为:D点睛:(1)本题主要考查程序框图,意在考查学生对程序框图等基础知识的掌握能力.(2)模拟程序运行时,要注意把好输出关,在输出时,看清条件.104【解析】分析:由得y=25x,结合x=4t,可得框图中正整数m的值详解:由得:y=25x,故x必为4的倍数,当x=4t时,y=257t,由y=257t0得:t的最大值为3,故判断框应填入的是t4?,即m=4,故答案为:4点睛: 本题考查的知识点是程序框图,根据已知分析出y与t的关系式及t的取值范围,是解答的关键112018【解析】分析:直接按照算法计算输出的值.详解:因为-20180,所以x=-(-2018)=2018,故输出的值为2018.故答案为:2018.点睛:本题主要考查算法语句,意在考查学生对该基础知识的掌握水平.1216【解析】【分析】模拟执行程序,依次写出每次循环得到的x,i的值,当i=10时不满足条件,退出循环,输出x的值为16【详解】模拟程序的运行,可得i=1,x=4满足条件i10,执行循环体,x=5,i=4满足条件i10,执行循环体,x=9,i=7满足条件i10,执行循环体,x=16,i=10此时,不满足条件i10,退出循环,输出x的值为16故答案为:16【点睛】本题主要考查了程序代码和循环结构,依次写出每次循环得到的x,i的值是解题的关键,属于基本知识的考查13【解析】由程序框图,得运行过程如下:;,结束循环,即输出的的值是7.14【解析】分析:模拟程序运行,观察运行中变量的值,判断是否结束程序运行即可.详解:程序运行中变量值依次为:,满足循环条件,满足循环条件,满足循环条件,满足循环条件,满足循环条件,不满足循环条件,退出循环,结束程序,输出,故答案为.点睛:本题考查程序框图中的循环结构,解题时只要模拟程序运行,观察变量值,判断循环条件即可得出结论,如果循环的次数较多,就需要归纳程序的功能,寻找规律.153【解析】根据题中的程序框图,可得该程序经过第一次循环,因为s=0<15,所以得到新的S=0+6=6,n=5;然后经过第二次循环,因为s=6<15,所以得到新的S=6+5=11,n=4;然后经过第三次循环,因为s=11<15,所以得到新的S=11+4=15,n=3;接下来判断:因为s=15,不满足s<15,所以结束循环体并输出最后的n,综上所述,可得最后输出的结果是3故答案为:316【解析】模拟程序框图的运行过程,如下; ,满足条件,执行循环体, 满足条件,执行循环体, 满足条件,执行循环体, 满足条件,执行循环体, 满足条件,执行循环体, 由题意,此时应该不满足条件,退出循环,输出故判断框内的条件应为即答案为【点睛】本题考查程序框图的应用问题,解题时应模拟程序框图的运行过程,以便得出正确的结论,17 7【解析】【分析】模拟执行程序框图,只要按照程序框图规定的运算方法逐次计算,直到达到输出条件即可得到输出的值.【详解】由程序框图可知:, ,则,因此输出的为,故答案为7.【点睛】本题主要考查程序框图的循环结构流程图,属于中档题. 解决程序框图问题时一定注意以下几点:(1) 不要混淆处理框和输入框;(2) 注意区分程序框图是条件分支结构还是循环结构;(3) 注意区分当型循环结构和直到型循环结构;(4) 处理循环结构的问题时一定要正确控制循环次数;(5) 要注意各个框的顺序,(6)在给出程序框图求解输出结果的试题中只要按照程序框图规定的运算方法逐次计算,直到达到输出条件即可.18 2 3【解析】分析:先根据循环,列出n,s值,再根据条件确定对应结果,详解: 时, 当时出来,故点睛:算法与流程图的考查,侧重于对流程图循环结构的考查.先明晰算法及流程图的相关概念,包括选择结构、循环结构、伪代码,其次要重视循环起点条件、循环次数、循环终止条件,更要通过循环规律,明确流程图研究的数学问题,是求和还是求项.19见解析【解析】试题分析:叠加法求和,设计一个累加变量即可,可用WHILE语句,也可用UNTIL语句.试题解析:用WHILE语句编写的程序如下:S=1n=1WHILE S<=10n=n+1S=S+1/nWENDPRINT nEND用UNTIL语句编写的程序如下:S=1n=1DOn=n+1S=S+1/nLOOP UNTIL S>10PRINT nEND20(1);(2)=(2,1,3),=(2,1,3);【解析】试题分析:(1)有空间两点间的距离可得AB两点的距离.本小题关键是考查空间中两点的距离公式,本公式类似平面中两点的距离公式.(2)由程序框图可知对空间坐标中的z要求符合一个不等式.通过循环结构即可求得符合要求的z的值.根据向量在另一向量的投影即为该向量的模长与这两向量夹角的余弦值的乘积.本小题通过向量知识与立几知识的交汇,难度不大.有新意.试题解析:在空间直角坐标系中,已知O (0,0,0) ,A(2,1,3),B(2,1,1). (1) (2)A(2,1,3)满足 22+(1)232输出A0(2,1,3)B(2,1,1)不满足22+1212z=z+1=2(2,1,2)不满足22+1222z=z+1=3(2,1,3)满足22+1232输出B0(2,1,3)=(2,1,3),=(2,1,3)在方向上的投影等于 考点:1.空间中两点的距离.2.程序框图.3.空间中的直线关系.21详见解析【解析】试题分析:()由程序框图可知,本题求一个数量的前7项,且这个数量的首项为1,后面每一项比前面多2,所以可得输出的数组成的集合,并且此数列恰为首项为1,公差为2的等差数列,再用等差数列通项公式即可求出数列的通项公式;()要想使根据这个程序框图所输出的数恰好是数列的前7项,则前7项应为2,4,6,8,10,12,14,所以只需将框内的语句改为“”即可;()要想根据这个程序框图所输出的数恰好是数列的前7项,则前7项应为1,4,7,10,13,16,19,只需将框内的语句改为“”试题解析:() 当时,满足进行循环的条件,输出1后,;当时,满足进行循环的条件输出3后,当时,满足进行循环的条件,输出5后,;当时,满足进行循环的条件,输出7后,;当时,满足进行循环的条件,输出9后,;当时,满足进行循环的条件,输出11后,;当时,满足进行循环的条件,输出13后,;当时,不满足进行循环的条件,所以输出的数组成的集合为()将A框内的语句改为“a2”即可()将B框内的语句改为“aa3”即可考点: 程序框图的应用22见解析【解析】试题分析:本题是分段函数而且是三段,应该选择IF-THEN-ELSE语句,利用两个IF语句嵌套即可试题解析:程序如下:INPUT xIF x<1 THENyx21ELSEIF x>1 THENySQR(3点睛:本题考查的设计算法程序框图,解决实际问题,设计程序时,一般先要将算法用语言描述出来,计划好先后的顺序,然后再将汉字语言转化为程序中的语言即可.23【解析】试题分析:根据题意写出分段函数,根据分段函数写出程序框图,注意分段函数需要条件分支结构实现,根据框图再写出程序.试题解析:由题意得C程序框图,如图所示:程序如下:24见解析【解析】【分析】根据图中的流程图表示的算法可知这是一个计算个数的平均数的算法,根据当型循环结构的特点,先判断是否小于等于,再执行运算,由此写出当型循环的算法并画出流程图【详解】这是一个计算个数的平均数的算法当型循环的算法如下:第一步,.第二步,.第三步,如果小于等于,执行第四步;否则,转第七步第四步,输入.第五步,第六步,返回第三步第七步,.第八步,输出.程序框图如图【点睛】本题是一道关于设计流程图的题目,解答本题的关键是理解流程图的功能,属于中档题。25见解析【解析】试题分析:根据算法的三种结构的特点,结合本题的要求,我们可以用条件结构来判断成绩是否高于80分,用循环结构控制输入的次数,同时引进两个累加变量,分别计算高于80分的成绩的总和和人数试题解析:用条件结构来判断成绩是否高于80分,用循环结构控制输入的次数,同时引进两个累加变量S、m,分别计算高于80分的成绩的总和S和人数m.程序框图如图所示:点睛:本题的实质是累加满足条件的数据,可利用循环语句来实现数值的累加(乘)常分以下步骤:(1)观察S的表达式分析,确定循环的初值、终值、步长;(2)观察每次累加的值的通项公式;(3)在循环前给累加器和循环变量赋初值,累加器的初值为0,累乘器的初值为1,环变量的初值同累加(乘)第一项的相关初值;(4)在循环体中要先计算累加(乘)值,如果累加(乘)值比较简单可以省略此步,累加(乘),给循环变量加步长;(5)输出累加(乘)值视频26见解析【解析】试题分析:本题考查的知识点是设计程序框图解决实际问题,我们根据题目已知中分段函数的解析式y=,然后根据分类标准,设置两个判断框的并设置出判断框中的条件,再由函数各段的解析式,确定判断框的“是”与“否”分支对应的操作,由此即可写出算法试题解析:因为函数是分段函数,故要先输入变量值,再进行判断,分别进行不同的计算.算法如下:第一步,输入x.第二步,若x>0,则令y=-x+1后执行第五步;否则执行第三步.第三步,若x=0,则令y=0后执行第五步;否则执行第四步.第四步,令y=x+1.第五步,输出y的值.点睛:分析题意,解答此类问题,可以依据已知的分段函数,将x的取值范围作为条件设计算法;联系题设,依据不同x的取值范围下对应不同的函数式结合算法的概念写出算法过程.27(1)见解析;(2) 程序框图见解析,x2; x=4; x2【解析】试题分析:(1)程序框图上的一段流程线缺少表达程序执行顺序的箭头,求分段函数的函数值,输出的函数值的计算方法取决于输入的x值所在的范围,所以必须引入判断框,应用条件结构;(2)据(1)画出程序框图,模拟程序计算可得到输入的x满足x2即可试题解析:(1)题中程序框图上的一段流程线缺少表达程序执行顺序的箭头;再者由于是求分段函数的函数值,输出的函数值的计算方法取决于输入的x值所在的范围,所以必须引入判断框,应用条件结构正确的算法步骤如下:第一步,输入x第二步,如果x2,那么y2;否则,yx22x第三步,输出y(2)根据以上算法步骤,可以画出如图所示的程序框图要使输出的值为正数,则x22x0,x2或x0(舍去)故当输入的x2时,输出的函数值为正数要使输出的值为8,则x22x8,x4或x2(舍去)故输入x的值应为4. 当x2时,yx22x0,当x2时,y2,又20,故要使输出的y值最小,只要输入的x满足x2即可