试题一(共15分)阅读以下说明和流程图,填补流程图中的空缺(1)~(5),将解答填入答题纸的对应栏内。【说明】两个包含有限个元素的非空集合A、B的相似度定义为IAUBI/IA U Bl,即它们的交集大小(元素个数)与并集大小之比。以下的流程图计算两个非空整数集合(以数组表示)的交集和并集,并计算其相似度。己知整数组A[1:m】和B【1:n】分别存储了集合A和B的元素(每个集合中包含的元素各不相同),其交集存放于数组C[1:s】,并集存放于数组D【1:t】,集合A和B的相似度存放于SIM。例如,假设A={1

题目

试题一(共15分)

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

对应栏内。

【说明】

两个包含有限个元素的非空集合A、B的相似度定义为IAUBI/IA U Bl,即它们的交

集大小(元素个数)与并集大小之比。

以下的流程图计算两个非空整数集合(以数组表示)的交集和并集,并计算其相似

度。己知整数组A[1:m】和B【1:n】分别存储了集合A和B的元素(每个集合中包含的元素

各不相同),其交集存放于数组C[1:s】,并集存放于数组D【1:t】,集合A和B的相似度存

放于SIM。

例如,假设A={1,2,3,4},B={1,4,5,6},则C={1,4},D={1,2,3,4,5,

6},A与B的相似度SIM=1/3。


相似考题
参考答案和解析
正确答案:
本题考查程序处理流程图的设计能力。
首先我们来理解两个有限集合的相似度的含义。两个包含有限个元素的非空集合A、
B的相似度定义为它们的交集大小(元素个数)与并集大小之比。如果两集合完全相等,
则相似度必然为1(100%);如果两集合完全不同(没有公共元素),则相似度必然为0;
如果集合A中有一半元素就是集合B的全部元素,而另一半元素不属于集合B,则这两
个集合的相似度为0.5(50%)。因此,这个定义符合人们的常理性认识。
在大数据应用中,经常要将很多有限集进行分类。例如,每天都有大量的新闻稿。
为了方便用户检索,需要将新闻稿分类。用什么标准来分类呢?每一篇新闻稿可以用其
中所有的关键词来表征。这些关键词的集合称为这篇新闻稿的特征向量。两篇新闻稿是
否属于同一类,依赖于它们的关键词集合是否具有较高的相似度(公共关键词个数除以
总关键词个数)。搜索引擎可以将相似度超过一定水平的新闻稿作为同一类。从而,可以
将每天的新闻稿进行分类,就可以按用户的需要将某些类的新闻稿推送给相关的用户。
本题中的集合用整数组表示,因此,需要规定同一数组中的元素各不相同(集合中
的元素是各不相同的)。题中,整数组A[1:m],和B[l:n]分别存储了集合A和B的元素。
流程图的目标是将A、B中相同的元素存放入数组C[1:s](共s个元素),并将A、B中
的所有元素(相同元素只取一次)存放入数组D[1:t(共t个元素),最后再计算集合A
和B相似度s/t。
流程图中的第一步显然是将数组A中的全部元素放入数组D中。随后,只需要对数
组B中的每个元素进行判断,凡与数组A中某个元素相同时,就将其存入数组C;否则
就续存入数组D(注意,数组D中已有m个元素)。这需要对j(遍历数组B)与i(遍
历数组A)进行两重循环。判断框B[j]=A[i]成立时,B[j]应存入数组C;否则应继续i
循环,直到循环结束仍没有相等情况出现时,就应将B[j]存入数组D。存入数组C之前,
需要将其下标s增1;存入数组D之前,需要将其下标t增1。因此,初始时,应当给j
赋0,使数组C的存数从C[1]开始。从而,()处应填s,(3)处应填C[s]。而数组D
是在已有m个元素后续存,所以,初始时,数组D的下标t应当是m,续存是从D【m+1】
开始的。因此,(2)处应填t,(4)处应填D[t]。
两重循环结束后,就要计算相似度s/t,将其赋予SIM,因此(5)处应填s/t。
参考答案
(l)s(2)t(3)C[s](4)D[t](5)s/t
更多“试题一(共15分)阅读以下说明和流程图,填补流程图中的空缺(1)~(5),将解答填入答题纸的对应栏内。【 ”相关问题
  • 第1题:

    试题一(共15分)

    阅读以下说明,回答问题1至问题5,将解答填入答题纸对应的解答栏内。

    【说明】

    某网吧拓扑结构如图 1-1 所示,可提供影视、游戏竞技、视频聊天等多种服务,采用VLAN 划分来区分不同的服务。

    问题 1】(2分)

    网吧要求实现千兆接入,可采用的方式为 (1) 。

    (1)备选答案:

    A. FTTx

    B. ADSL

    C. PSTN拨号


    正确答案:A

  • 第2题:

    阅读下列说明,回答问题1至问题2,将解答填入答题纸的对应栏内。

    [说明]

    电子商务系统的外部社会环境如图10-5所示。

    请把空缺的地方填写完整。


    正确答案:(1)原料供应商。 (2)企业电子商务系统。 (3)消费者。
    (1)原料供应商。 (2)企业电子商务系统。 (3)消费者。

  • 第3题:

    阅读下列说明,回答问题1至问题2,将解答填入答题纸的对应栏内。

    [说明]

    小舟很喜欢网上购物,不但自己经常上网买东西,还自己经营了一家商业网站,大到卖电器,衣物,小到可以和注册用户交换东西等等。

    图2-15是网上小舟经营的网站的购物流程图,请把空缺的部分补充完整。


    正确答案:①购买过程②验证过程③银行。
    ①购买过程②验证过程③银行。

  • 第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)~(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)??

  • 第6题:

    ●试题一

    阅读下列说明和流程图,将应填入(n)的字句写在答题纸的对应栏内。

    【说明】

    下列流程图(如图4所示)用泰勒(Taylor)展开式

    sinx=x-x3/3!+x5/5!-x7/7!+…+(-1)n×x 2n+1/(2n+1)!+…

    【流程图】

    图4

    计算并打印sinx的近似值。其中用ε(>0)表示误差要求。


    正确答案:
    ●试题一【答案】(1)x*x(2)x->t(3)|t|∶ε(4)s+2->s(5)(-1)*t*x2/(s*(s-1))【解析】该题的关键是搞清楚几个变量的含义。很显然变量t是用来保存多项式各项的值,变量s和变量x2的作用是什么呢?从流程图的功能上看,需要计算1!、3!、5!,……,又从变量s的初值置为1可知,变量s主要用来计算这此数的阶乘的,但没有其他变量用于整数自增,这样就以判断s用来存储奇数的,即s值依次为1、3、5,……。但x2的功能还不明确,现在可以不用管它。(2)空的作用是给t赋初值,即给它多项式的第一项,因此应填写"x->t"。(3)空处需填写循环条件,显然当t的绝对值小于ε(>0)就表示已经达到误差要求,因此(3)空应填入"|t|∶ε"。由变量s的功能可知,(4)空应当实现变量s的增加,因此(4)空应填入"s+2->s"。(5)空应当是求多项式下一项的值,根据多项式连续两项的关系可知,当前一项为t时,后一项的值为(-1)*t*x*x/(s*(s-1))。但这样的话,每次循环都需要计算一次x*x,计算效率受到影响,联想到变量x2还没用,这时就可以判断x2就是用来存储x*x的值,使得每次循环者少进行一次乘法运算。因此(1)空处应填入"x*x",(5)空处应填入"(-1)*t*x2/(s*(s-1))"。

  • 第7题:

    试题三(共 15 分)

    阅读以下说明和 C 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。


    正确答案:

  • 第8题:

    阅读下列说明和流程图,填补流程图中的空缺(1)~(9),将解答填入答题纸的对应栏内。【说明】假设数组A中的各元素A⑴,A (2),…,A (M)已经按从小到大排序(M>1):数组B中的各元素B(1) , B (2) . B (N)也已经按从小到大排序(N≥1)。执行下面的流程图后,可以将数组A与数组B中所有的元素全都存入数组C中,且按从小到大排序(注意:序列中相同的数全部保留并不计排列顺序)。例如,设数组A中有元素: 2,5,6,7,9;数组B中有元素: 2,3,4,7;则数组C中将有元素: 2,2,3,4,5,6,7,7,9.


    答案:
    解析:
    (1)1 (2)A (i) (3) B (j)⑷ i (5)J(6) B (j)(7) A (i)(8) j(9) i

  • 第9题:

    阅读以下说明和流程图,填补流程图中的空缺(1)~(9),将解答填入对应栏内。1、【说明】 假设数组A中的各元素A(1),A(2),…,A(M)已经按从小到大排序(M≥1);数组B中的各元素B(1),B(2),…,B(N)也已经按从小到大排序(N≥1)。执行下面的流程图后,可以将数组A与数组B中所有的元素全都存入数组C中,且按从小到大排序 (注意:序列中相同的数全部保留并不计排列顺序)。例如,设数组A中有元素:2,5, 6,7,9;数组B中有元素2,3,4,7:则数组C中将有元素:2,2,3,4,5,6,7, 7, 9。【流程图】


    答案:
    解析:
    (1)1(2)A(i)(3)B(j)(4)i(5)j(6)B(j)(7)A(i)(8)j(9)i
    【解析】

    这是最常见的一种合并排序方法。为对较大的序列进行排序,先将其分割成容量相当的几个部分,分别进行排序,最后再合并在一起。当然,这些排序要么都是升序,要么都是降序。本题全部是按升序排序的。 例如,为了将整副扑克牌按升序进行排序,先将其分割成两个部分(数量大致相当),对每个部分完成升序排序后,就形成了两叠已排序的牌。如何将其合并呢?办法如下。 每次都比较各叠最上面的两张牌,取出比较小的,放入新堆,再继续比较。直到其中一堆空了,就将另一堆剩余的牌逐张放入新堆。新堆就是合并后的已完成排序的序列。 在数据排序时,遇到相同的数比较时,任取一个就可以了。 对本题来说,i、j、k是数组A、B、C的下标,初始时,都应该是1。因此,空(1)处应填写1。 将A(i)与B(j)进行比较后,如果A(i)≤B(j),那么应该将A(i)→C(k)。这是升序的要求。因此,空(2)处应填A(i)。如果A(i)>B(j),则应将B(j)→C (k)。因此,空(3)处应填B(j)。 在A(i)→C(k)后,i应增加1,为下次取A(i)再比较做准备(k也需要增加1,为下次存入C(k)做准备)。这时,需要比较数组A是否已经取完,即判断i>M是否成立。如果i>M,则表示数组A中的元素已经全部取出,需要将数组B中剩余的元素逐个移入C(k)。因此,空(4)处应填i,空(6)处应填B(j)。数组B处的元素何时移完呢?这就需要判断i>N是否成立。因此,空(8)处应填j。 同样,空(3)处将B(j)存入C(k),直到,j>N时数组B中的元素取完。此时,需要将数组A中剩余的元素逐个移入C(k),直到i>M时全部完成。因此,空(5)处应填j,空(7)处应填A(i),空(9)处应填i。

  • 第10题:

    试题(15 分)阅读以下说明和流程图,填补流程图中的空缺,将解答填入答题纸的对应栏 内。【说明】设有整数数组 A[1:N](N>1),其元素有正有负。下面的流程图在该数组 中寻找连续排列的若干个元素,使其和达到最大值,并输出其起始下标 K、元素 个数 L 以及最大的和值 M。例如,若数组元素依次为 3,-6,2,4,-2,3,-1,则输出 K=3,L=4,M=7。 该流程图中考察了 A[1:N]中所有从下标 i 到下标 j(j≥i)的各元素之和 S,并动态地记录其最大值 M。【流程图】

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


    答案:
    解析:
    1、j=i+1
    2、S+A[j]
    3、S
    4、j-i+1
    5、S

  • 第11题:

    阅读下列说明,补充(1)-(9),将解答填入答题纸的对应栏内。


    答案:
    解析:

  • 第12题:

    阅读以下说明,回答问题1至问题4,将解答填入答题纸对应的解答栏内。
    【说明】
    某企业网络拓扑如图1-1所示,A~E是网络设备的编号。










    答案:
    解析:
    【问题1】参考答案:1.B,2.A,3.C 4.D【问题2】5.ethernet 1 6、59.74.221.254【问题3】7) C.deny 8、A 9.F【问题4】10)192.168.4.1
    11)192.168.100.0 12)设置接口的类型是trunk
    【解析】
    【问题1】试题分析:这是一道简单的概念题,考察我们对企业园区网络的基本拓扑结构的了解。通常的企业为了确保内部网络的安全,会设置防火墙,防火墙有3个区域,外网,内网和DMZ区。DMZ通常用于存放各种服务器。因此首先可以选出B这个位置是防火墙,A用于连接Internet,是路由器。DMZ区内部有多台服务器,需要使用交换机连接。【问题3】试题分析:这是网络工程师考试第一次考华为的设备配置,而我们考前准备的都是ios的命令。那这道题是不是很难呢,其实这道题非常简单,只要我们有IOS的命令经验,这道题完全可以自己凭经验做出来,题目出题也是以选择题的形式,因此更加容易,对于没有用过华为设备的考生来说,也是非常简单的。
    【问题4】试题分析:这道题同样是基本的配置,掌握基本命令即可。

  • 第13题:

    阅读下列说明,回答问题1至问题2,将解答填入答题纸的对应栏内。

    [说明]

    如图10-4所示是电子商务系统平台结构示意图。

    请把空缺的地方填写完整。


    正确答案:(1)接口中间层。 (2)Web服务器。 (3)数据库服务器。
    (1)接口中间层。 (2)Web服务器。 (3)数据库服务器。

  • 第14题:

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

    . [说明] 请完成流程图以描述在数据A(1)至A(10)中求最大数和次大数的程序的算法。并将此改成PAD图。该算法的流程图如下图:


    正确答案:(1)max2 =A(1) mex1 =A(2) (2)i< =10 (3)max1 =A(i)1 max2 = max1 (4)i=i+1
    (1)max2 =A(1) mex1 =A(2) (2)i< =10 (3)max1 =A(i)1 max2 = max1 (4)i=i+1 解析:本题的算法思想是:先输入A(1)到A(10)的值,然后判断前两个数的大小。用变量max1存储最大数,用变量max2.存储次大数。然后逐个读入数据,分别和max1,max2比较,保证最大的存入max1,次大的存入max2。

  • 第15题:

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

    【说明】

    求解约瑟夫环问题。算法分析: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

  • 第16题:

    阅读以下说明和流程图,填补流程图中的空缺,将解答填入答题纸的对应栏内。 【说明】 设有整数数组A[1:N](N>1),其元素有正有负。下面的流程图在该数组中寻找连续排列的若干个元素,使其和达到最大值,并输出其起始下标K、元素个数L以及最大的和值M。 例如,若数组元素依次为3,-6,2,4,-2,3,-1,则输出K=3,L=4,M=7。该流程图中考察了A[1:N]中所有从下标i到下标j(j≥i)的各元素之和S,并动态地记录其最大值M。

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


    正确答案:(1)i,N
    (2)S+A[j]
    (3)S
    (4)j-i+1
    (5)S

  • 第17题:

    阅读以下说明和Java程序,填补代码中的空缺(1)~(6),将解答填入答题纸的

    对应栏内。

    【说明】

    很多依托扑克牌进行的游戏都要先洗牌。下面的Java代码运行时先生成一副扑克

    牌,洗牌后再按顺序打印每张牌的点数和花色。

    【Java代码】


    正确答案:
    本题考查Java语言程序设计的能力,涉及类、对象、方法的定义和相关操作。要求考生根据给出的案例和代码说明,认真阅读,理清程序思路,然后完成题目。先考查题目说明。本题目中涉及到扑克牌、牌桌、玩家等类以及洗牌和按点数排序等操作。根据说明进行设计。Card类内定义了两个static枚举类型,Face枚举扑克牌点数,Suit枚举扑克牌花色。Card类有两个枚举类型的属性,face和suit,而且值不再变化,故用final修饰。在使用构造方法publicCard(Faceface,Suitsuit)新建一个Car:d的对象时,所传入的参数指定face和suit这两个属性值。因为参数名称和属性名称相同,所以用this前缀区分出当前对象。在类Card中包含方法getFace()和getSuit(),分别返回当前对象的face和suit属性值。getCard()方法返回string来表示一张牌,包括扑克牌点数和花色。牌桌类Deckofcands包含持有Card类型元素的List类型对象的声明List,用以存储牌。List是Java中的一种集合接口,是Collection的子接口。构造方法中用Card对象填充牌桌并进行洗牌。先用Card对象填充牌桌,即创建52个Card对象加入deck数组,表示牌桌上一副牌(52张)。然后洗牌,即将数组中的Card对象根据花色和点数随机排列,使用集合工具类Collechons中的shuffle方法,对以List类型表示的deck数组进行随机排列。Collectians是Java集合框架中两个主要工具类之一,用以进行集合有关的操作。printCards()方法将所有Card对象打印出来,按4列显示52张牌。每张拍的打印用list.get(i)获得list表示的deck中的第i个Card对象,然后进一步调用此对象的getCard()方法,得到String表示的当前一张牌。玩家类中包括启动发牌洗牌等操作,主入口方法main中实现创建牌桌对象,并调用按4列显示52张牌。在main()中,先初始化Deckofcards类的对象player,即生成一个牌桌:Deckofcardsplayer=newDeckofcards()并发牌,即调用player的printCards()方法,实现按4列显示52张牌打印一副扑克牌中每张牌的点数和花色。在pnntCards()方法体内部,用list调用每个数组元素,井为每个数组元素调用getCard()返回当前对象所表示一张牌的花色和点数。用格式化方法进行打印,即:因此,主(1)和(2)需要表示当前对象的this.;空(3)需要牌桌上纸牌对象,并将数组元素下标加1,即数组元素deck[count++];空(4)也需要用list对象获得纸牌对象的字符串表示,即list后的get(1)getCard();空(5)处为创建DeckOf℃ards类的对象指针player的newDeckOfCards();空(6)需要用对象player调用打印所有纸牌的printCards()函数,即player.。试题六参考答案(l)this(2)this.(3)deck[count++]或等价表示(4)get(i)getCard()(5)newDeckOfCards()(6)player.

  • 第18题:

    ●试题一

    阅读下列说明和流程图,将应填入(n)处的语句写在答题纸的对应栏内。

    【说明】

    下列流程图用于从数组K中找出一切满足:K(I)+K(J)=M的元素对(K(I),K(J))(1≤I≤J≤N)。假定数组K中的N个不同的整数已按从小到大的顺序排列,M是给定的常数。

    【流程图】

    此流程图1中,比较"K(I)+K(J)∶M"最少执行次数约为 (5) 。

    图1


    正确答案:
    ●试题一【答案】(1)(2)<(3)I+l->I(4)J-1->J(5)「N/2」【解析】该算法的思路是:设置了两个变量I和J,初始时分别指向数组K的第一个元素和最后一个元素。如果这两个元素之和等于M时,输出结果,并这两个指针都向中间移动;如果小于M,则将指针I向中间移动(因为数组K已按从小到大的顺序排列);如果大于M,则将指针J向中间移动(因为数组K已按从小到大的顺序排列)。当IJ时,说明所有的元素都搜索完毕,退出循环。根据上面的分析,(1)、(2)空要求填写循环结束条件,显然,(1)空处应填写"",(2)空处应填写"<"。这里主要要注意I=J的情况,当I=J时,说明指两个指针指向同一元素,应当退出循环。(3)空在流程图有两处,一处是当K(I)+K(J)=M时,另一处是当K(I)+K(J)<M时,根据上面分析这两种情况都要将指针I向中间移动,即"I+1->I"。同样的道理,(4)空处应填写"J-1->J"。比较"K(I)+K(J):M"最少执行次数发生在第1元素与第N个元素之和等于M、第2元素与第N-1个元素之和等于M、……,这样每次比较,两种指针都向中间移动,因此最小执行次数约为"N-2"。

  • 第19题:

    试题一(共 15 分)

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

    [说明]

    假设数组 A 中的各元素 A(1),A(2) ,…,A(M)已经按从小到大排序(M≥1) ;数组 B 中的各元素 B(1),B(2),…,B(N)也已经按从小到大排序(N≥1) 。执行下面的流程图后, 可以将数组 A 与数组 B 中所有的元素全都存入数组 C 中, 且按从小到大排序 (注意:序列中相同的数全部保留并不计排列顺序) 。例如,设数组 A 中有元素:2,5,6,7,9;数组B 中有元素:2,3,4,7;则数组 C 中将有元素:2,2,3,4,5,6,7,7,9。

    [流程图]


    正确答案:

  • 第20题:

    阅读以下说明和流程图,填补流程图中的空缺,将解答填入答题纸的对应栏内。
    [说明]
    本流程图旨在统计一本电子书中各个关键词出现的次数。假设已经对该书从头到尾依次分离出各个关键词{A(i)|i=1,…,n}(n>1)},其中包含了很多重复项,经下面的流程处理后,从中挑选出所有不同的关键词共m个{K(j)|j=1,…,m},而每个关键词K(j)出现的次数为NK(j),j=1,…,m。
    [流程图]


    答案:
    解析:
    1
    K(j)
    NK(j)+1→NK(i) 或NK(j)++ 或等价表示
    m+1→m或m++ 或等价表示
    A(i)

    【解析】

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

  • 第21题:

    阅读说明和流程图,填补流程图中的空缺(1)?(5),将答案填入答题纸对应栏内。【说明】本流程图用于计算菲波那契数列{a1=1,a2=1,…,an=an-1+an-2!n=3,4,…}的前n项(n>=2) 之和S。例如,菲波那契数列前6项之和为20。计算过程中,当前项之前的两项分别动态地保存在变量A和B中。【流程图】


    答案:
    解析:
    (1)2或A+B(2)n(3)A+B(4)B-A(5)S+B
    【解析】

    菲波那契数列的特点是首2项都是1,从第3项开始,每一项都是前两项之和。该数列的前几项为1,1,2, 3,5,8,…。在流程图中,送初始值1—A,2—B后,显然前2项的和S应等于2,所以(1)处应填2 (或A+B)。此时2→i (i表示动态的项编号),说明已经计算出前2项之和。接着判断循环的结束条件。显然当i=n时表示已经计算出前n项之和,循环可以结束了。因此(2)处填n。判断框中用“>”或“≥”的效果是一样的,因为随着i的逐步增1,只要有i=n结束条件就不会遇到i>n的情况。不过编程的习惯使循环结束条件扩大些,以防止逻辑出错时继续循环。接下来i+1→i表示数列当前项的编号增1,继续往下计算。原来的前两项值(分别在变量A和B中)将变更成新的前两项再放到变量A和B中。

    首先可以用A+B—B实现(原A) + (原B)—(新B),因此(3)处填A+B。为了填新A值(原来的B值),不能用B—A,因为变量B的内容已经改变为(原A) + (原B),而B-A正是((原A) + (原B))-(原A)=(原B),因此可以用B-A—A来实现新A的赋值。这样,(4)处填B-A。最后应是前n项和值的累加(比原来的S值增加了新B值),所以(5)处应填S+B。填完各个空后,最好再用具体的数值来模拟流程图走几个循环检查所填的结果(这是防止逻辑上出错的好办法)。

  • 第22题:

    第一题 阅读以下说明和流程图,填补流程图中的空缺,将解答填入答题纸的对应栏内。
    【说明】
    对于大于1的正整数n,(x+1)n可展开为

    问题:1.1 【流程图】

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


    答案:
    解析:
    (1)2,n,1
    (2)A[k]
    (3)k-1,1,-1
    (4)A[i]+A[i-1]
    (5)A[i]
    【解析】

    (1)(3)空为填写循环初值终值和递增值,题目中给出的格式为循环控制变量=初值,终值,递增值。按照题意,实质为求杨辉三角。如下图:

  • 第23题:

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


    答案:
    解析:
    1.A2.ai3.bi4.A 、B5.B
    【解析】

    若A≤ai则输出A,反之输出ai。若A≤bi不满足则输出bi,依次类推。