软件水平考试

阅读以下说明和流程图,填写流程图中的空缺,将解答填入答题纸的对应栏内。【说明】设[a1b1],[a2b2],...[anbn]是数轴上从左到右排列的n个互不重叠的区间(a1

题目
阅读以下说明和流程图,填写流程图中的空缺,将解答填入答题纸的对应栏内。【说明】设[a1b1],[a2b2],...[anbn]是数轴上从左到右排列的n个互不重叠的区间(a1

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

阅读以下说明和流程图,回答问题,将解答填入对应栏内。

[流程图]

[说明]

把指定区间上的所有整数分解质因数,每一整数表示为质因数按从小到大顺序排列的乘积形式。如果被分解的数本身是素数,则予以注明。例如,90=2×3× 3×5,91=素数。

下面的流程图描述了分解质因数的过程。对每一个被分解的整数j,赋值给b(以保持判别运算过程中j不变),用K (从2开始递增1取值)试商,若不能整除,打印输出“*k”,b除以k的商赋给b(b=b/k)后继续用k试商(注意,可能有多个k因数),直至不能整除,k增1继续。

将流程图中的(1)~(5)处补充完整。


正确答案:(1)for(j=m; j=n; j++) (2)b=b/k (3) k++ (4) w++ (5) 输出大于j平方根的因数printf (“%1d\n"b)
(1)for(j=m; j=n; j++) (2)b=b/k (3) k++ (4) w++ (5) 输出大于j平方根的因数,printf (“%1d\n",b)

第2题:

阅读以下说明和流程图,填补流程图中的空缺(1)一(5),将解答填入答题纸的对应栏内。

【说明】

下面的流程图采用公式ex=1+x+x2/2 1+x3/3 1+x4/4 1+…+xn/n!+???计算ex的近似值。设x位于区间(0,1),该流程图的算法要点是逐步累积计算每项xx/n!的值(作为T),再逐步累加T值得到所需的结果s。当T值小于10-5时,结束计算。

【流程图】


正确答案:(1)S (2)x/n (3)T<O.00001 (4)S+T (5)n+1->n
(1)S (2)x/n (3)T<O.00001 (4)S+T (5)n+1->n 解析:在题目中已经给出了指数函数ex的公式,即基本算法,另外也给出了计算过程中控制误差终止计算的方法。本题主要的重点是如何设计计算流程,实现级数前若干项的求和,以及判断计算终止的条件。级数求和一般都是采用逐项累加的方法。从流程图我们可以看出s为累加结果,T为动态的项值,最后通过s+T->S来完成各项的累加。已知T=xnx/n!,如果每次都直接计算T的值,计算量会比较大。从ex的公式中我们可以看出每一项都一个共同点,就是后一项和前一项有简单的关系Tn=T(n-i)*x/n,我们可以充分利用前项的计算结果来计算后一项,这样就会大大减少计算量。这也是程序员需要掌握的基本技巧。在流程图中,一开始先输入变量x,接着对其他变量赋初值。级数项号n的初始值为1,逐次进行累积的T的初始值为1,根据后面的流程推断可以看出逐次进行累加的s应该有初始值l的(在输入的x满足条件直接退出循环的时候根据公式输出的值为D,所以空(1)的答案为“S”。从前面分析直到e。的公式中后一项和前一项有简单的关系Tn=T(n-i)*x/n,所以空(2)的答案为“x/n”。空(3)处是判断计算过程结束的条件,按照题目中的要求“当T值小于lO-5时,结束计算。”所以空(3)的答案为“T<0.00001”。按照题意空(4)处是要对每项的结果进行累加赋给S,实现s+T->s,所以空(4)的答案为“S+T”。流程走到空(5)的时候已经求出第n项的值Tn,并累加到s中,根据算法下一步应该计算第n+1项的值,所以这里需要对级数的项号n进行自增,空(5)的答案可以为“n+=1”或者n++,但是根据流程图以上的书写风格写为“n+1->n”应该是最佳答案。

第3题:

关于不同薪酬等级区间重叠程度的陈述,正确的是( )。 A.不同区间中值级差较大,而同一区间的变动比率较大,则薪酬区间的重叠区域一定很小 B.不同区间中值级差较大,而同一区间的变动比率较小,则薪酬区间的重叠区域一定很小 C.不同区间中值级差较小,而同一区间的变动比率较小,则薪酬区间的重叠区域一定很大 D.不同区间中值级差较大,而同一区间的变动比率较小,则薪酬区间的重叠区域一定很大


正确答案:B
本题考查不同薪酬等级区间的重叠程度。薪酬等级的区间中值级差越大,或同一薪酬区间的变动比率越小,则薪酬区间的重叠区域就越小;反之,则薪酬区间的重叠区域就越大。因此选B。

第4题:

阅读以下说明和流程图,填补流程图中的空缺,将解答填入答题纸的对应栏内。 【说明】 下面流程图的功能是:在给定的一个整数序列中查找最长的连续递增子序列。设序列存放在数组 A[1:n](n≥2)中,要求寻找最长递增子序列 A[K: K+L-1] (即A[K]<A[K+1]<…<A[K+L-1])。流程图中,用 Kj 和Lj 分别表示动态子序列的起始下标和长度,最后输出最长递增子序列的起始下标 K 和长度 L。 例如,对于序列 A={1 ,2,4,4 ,5,6,8,9,4,5,8},将输出K=4, L=5。

【流程图】注:循环开始框内应给出循环控制变量的初值和终值,默认递增值为1,格式为: 循环控制变量=初值,终值


正确答案:(1)n-1
(2)Lj+1→Lj        
(3)Lj > L     
(4)Kj
(5)i+1

第5题:

阅读以下说明和流程图,回答问题1-2,将解答填入对应的解答栏内。

[说明]

下面的流程图采用欧几里得算法,实现了计算两正整数最大公约数的功能。给定正整数m和 n,假定m大于等于n,算法的主要步骤为:

(1)以n除m并令r为所得的余数;

(2)若r等于0,算法结束;n即为所求;

(3)将n和r分别赋给m和n,返回步骤(1)。

[流程图]

[问题1] 将流程图中的(1)~(4)处补充完整。

[问题2] 若输入的m和n分别为27和21,则A中循环体被执行的次数是(5)。


正确答案:[问题1] (1) n>m或nm或其它等效形式 (2) m←t (3) n←r (4) m%n [问题2] (5) 1
[问题1] (1) n>m或nm或其它等效形式 (2) m←t (3) n←r (4) m%n [问题2] (5) 1 解析:(1)~(2)当n的值大于(等于)m时,应交换两者的值,再使用欧几里得算法;
(3)~(4)略;
(5)m,n和r在执行循环A前后的值分别为:

第6题:

阅读以下说明和流程图,回答问题1~2,将解答填入对应的解答栏内。

[说明]

下面的流程图描述了计算自然数1到N(N≥1)之和的过程。

[流程图]

[问题1] 将流程图中的(1)~(3)处补充完整。

[问题2] 为使流程图能计算并输出1*3+2*4+…+N*(N+2)的值,A框内应填写(4);为使流程图能计算并输出不大于N的全体奇数之和,B框内应填写(5)。


正确答案:(1) 0 (2) S+i (3) i+1 (4) S←S+i*(i+2) (5) i←i+2
(1) 0 (2) S+i (3) i+1 (4) S←S+i*(i+2) (5) i←i+2 解析:本题中,变量i用作循环变量,变量S则用于存放累加和,起初始值为0。在计算1+2+…+N时,每循环一次,将i的值累加到当前的S中,并且i自增1。为计算1*3+2*4+…+N*(N+2)的值,只需将其第i项的值i*(i+2)累加到S中;为计算不大于N的全体奇数之和,令循环变量的步长为2即可。

第7题:

阅读以下说明和流程图,填补流程图中的空缺(1)~(5),将解答填入对应栏内。

[说明]

下面的流程图旨在统计指定关键词在某一篇文章中出现的次数。

设这篇文章由字符A(0),…,A(n-1)依次组成,指定关键词由字符B(0),…,B(m-1)依次组成,其中,n>m≥1。注意,关键词的各次出现不允许有交叉重叠。例如,在“aaaa”中只出现两次“aa”。

该流程图采用的算法是:在字符串A中,从左到右寻找与字符串B相匹配的并且没有交叉重叠的所有子串。流程图中,i为字符串A中当前正在进行比较的动态予串首字符的下标,j为字符串B的下标,k为指定关键词出现的次数。

[流程图]


正确答案:0-k i+j i+m i+1 i
0-k i+j i+m i+1 i 解析:本题考查用流程图描述算法的能力。
在文章中查找某关键词出现的次数是经常碰的问题。例如,为了给文章建立搜索关键词,确定近期的流行语,迅速定位文章的某个待修改的段落,判断文章的用词风格,甚至判断后半本书是否与前半本书是同一作者所写(用词风格是否一致)等,都采用了这种方法。
流程图最终输出的计算结果K就是文章字符串A中出现关键词字符串B的次数。显然,流程图开始时应将K赋值0,以后每找到一处出现该关键词,就执行增1操作K=K+1。
因此(1)处应填0→K。
字符串A和B的下标都是从0开始的。所以在流程图执行的开始处,需要给它们赋值0。接下来执行的第一个小循环就是判断A(i),A(i+1),…,A(i+j-1)是否完全等于B(0),B(1),…,B(m-1),其循环变量j=0,1,…,m-1。只要发现其中对应的字符有一个不相等时,该小循环就结束,不必再继续执行该循环。因此,该循环中继续执行的判断条件应该是A(i+j)=B(j)且jm。只要遇到A(i+j)≠B(j)或者j=m(关键词各字符都己判断过)就不再继续执行该循环了。因此流程图的(2)处应填州i+j。
许多考生在(2)处填i,当j增1变化后,仍然使用A(i)进行比较就不对了。因此,在检查循环程序段时应多走查一次循环。
如果(2)处整体的判断条件不成立,则该判断关键词的小循环结束。此时可能有两种情况。一是在j=0,1,…,m-1时全都成立A(i+j)=B(j)(找到了一处关键词),直到j=m时才结束小循环;二是在jm时就发现了字符不等的情况,这说明此处并不出现关键词。因此流程图中用jm来区分找到与没有找到关键词的两种情况。
对于j=m,已找到一处关键词的情况,显然应该执行k=k+1,对关键词出现次数的变量k进行增1计算。同时,为了继续进行以后的判断,应将字符串A的下标i右移m(这是因为题中假设关键词的出现不允许重叠)。因此(3)处应填写i+m,表示应该从已出现的关键词后面开始再继续进行判断。由于此时的j=m,书写i+j的答案也是正确的,但这不是程序员的好习惯,因为这不符合逻辑思维的顺势,在程序不断修改的过程中容易出错。不少考生在(3)处填写i+1,这意味着下次判断关键词将从A(i+1)开始,这就使关键词的出现有可能发生部分重叠的现象。
流程图中,对于jm的情况,表示刚才判断关键词时并非各个字符都完全相同,也就是说,刚才的判断结论是此处并没有出现关键词。即A(i)开始的子串并不是关键词。因此,下次判断关键词应该以A(i+1)开始,即(4)处应填i+1。
在下次判断关键词之前还应该判断是否全文已经判断完。最后一次小循环判断应该是对A(n-m),A(n-m+1),…,A(n-1)的判断。下标n-m来自从n-1倒数m个数。可以先试验写出A(n-m),A(n-m+1),…,A(n-1),再判断其个数是否为m。经检查,个数为(n-1)-(n-m)+1=m个,所以这是正确的。也可以用例子来检查次数是否正确。检查次数是程序员的基本功,数目的计算很容易少一个或多一个。
既然最后一次判断关键词应该是对A(n-m),A(n-m+1),…,A(n-1)的判断,即对i=n-m进行的小循环判断,所以当i>n-m时就应该停止大循环,停止再查找关键词了。

第8题:

设θ是总体的一个待估参数,现从总体中抽取容量为n的一个样本,从中得到参数θ的一个置信度为95%的置信区间[θL,θU],下列说法正确的是( )。

A.置信区间[θL,θU]是唯一的

B.100个置信区间中约有95个区间能包含真值θ

C.置信区间[θL,θU]是随机区间

D.100个置信区间中约有5个区间能包含真值θ

E.100个置信区间中约有5个区间不包含真值θ


正确答案:BCE
解析:置信度为95%的区间的概念是:构造的随机区间有95%能覆盖住θ。

第9题:

阅读以下说明和流程图,回答问题,并将解答填入对应栏内。

【说明】

求解约瑟夫环问题。算法分析:n个士兵围成一圈,给他们依次编号,班长指定从第w个士兵开始报数,报到第s个士兵出列,依次重复下去,直至所有士兵都出列。

【流程图】

【问题】

将流程图中的(1)~(5)处补充完整。


正确答案:(1)L[i].nextp=1 (2) k=w-1 (3) count!=n (4) ++I (5) ++count
(1)L[i].nextp=1 (2) k=w-1 (3) count!=n (4) ++I (5) ++count

第10题:

?????? 阅读以下说明和流程图,填补流程图中的空缺(1)~(5),将解答填入答题纸的

对应栏内。

【说明】

本流程图旨在统计一本电子书中各个关键词出现的次数。假设已经对该书从头到尾

依次分离出各个关键词{A(i)li=l,…,n}(n>1)}.其中包含了很多重复项,经下面的流程

处理后,从中挑选出所有不同的关键词共m个{K(j)[j=l,…,m},而每个关键词K(j)出现的次数为NK(j).j=l,…,m。

??????


正确答案:
??流程图中的第1框显然是初始化。A(1)→K(1)意味着将本书的第1个关键词作为选出的第1个关键词。1→NK(1)意味着此时该关键词的个数置为1。m是动态选出的关键词数目,此时应该为1,因此(1)处应填1。?本题的算法是对每个关键词与已选出的关键词进行逐个比较。凡是遇到相同的,相??应的计数就增加1;如果始终没有遇到相同关键词的,则作为新选出的关键词。流程图第2框开始对i=2,n循环,就是对书中其他关键词逐个进行处理。流程图第3框开始j=l,m循环,就是按已进出的关键词依次进行处理。接着就是将关键词A(i)与选出的关键词K(j)进行比较。因此(2)处应填K(j)。如果A(i)=K(j),则需要对计数器NK(j)增1.即执行NK(j)+1→NK(j)。因此(3)处应填NK(j)+I→NK(j)。执行后,需要跳出j循环,继续进行i循环,即根据书中的下一个关键词进行处理。如果A(i)不等于NK(j),则需要继续与下个NK(j)进行比较,即继续执行j循环。如果直到j循环结束仍没有找到匹配的关键词,则要将该A(i)作为新的已选出的关键词。因此,应执行A(i)→K(m+1)以及m+l→m。更优的做法是先将计数器m增1,再执行A(j)→K(m)。因此(4)处应填m+l→m,(5)处应填A(i)。试题一参考答案(1)1(2)K(j)(3)Nk(j)+I→NK(j)或NK(j)十十或等价表示(4)m+l→m或m++或等价表示(5)A(i)??

更多相关问题