【计算机类职业资格】计算机水平考试初级程序员2014年上半年下午真题及答案解析.doc
《【计算机类职业资格】计算机水平考试初级程序员2014年上半年下午真题及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】计算机水平考试初级程序员2014年上半年下午真题及答案解析.doc(9页珍藏版)》请在麦多课文档分享上搜索。
1、计算机水平考试初级程序员 2014 年上半年下午真题及答案解析(总分:90.00,做题时间:150 分钟)试题一(共 15 分) 阅读以下说明和流程图,填补流程图中的空缺(1)(5),将解答填入答题纸的对应栏内。说明 指定网页中,某个关键词出现的次数除以该网页长度称为该关键词在此网页中的词频。对新闻类网页,存在一组公共的关键词。因此,每个新闻网页都存在一组词频,称为该新闻网页的特征向量。 设两个新闻网页的特征向量分别为:甲(a1,a2,ak)、乙(b1,b2,bk),则计算这两个网页的相似度时需要先计算它们的内积 Sa1b1+a2b2+akbk。一般情况下,新闻网页特征向量的维数是巨大的,但每
2、个特征向量中非零元素却并不多。为了节省存储空间和计算时间,我们依次用特征向量中非零元素的序号及相应的词频值来简化特征向量。为此,我们用(NA(i),A(i)|i1,2,m)和(NB(j),B(j)|j1,2,n)来简化两个网页的特征向量。其中:NA(i)从前到后描述了特征向量甲中非零元素 A(i)的序号(NA(1)NA(2),NB(j)从前到后描述了特征向量乙中非零元素 B(j)的序号(NB(1)NB(2)。 下面的流程图描述了计算这两个特征向量内积 S 的过程。 (分数:15.00)(1).(1)(分数:3.00)_(2).(2)(分数:3.00)_(3).(3)(分数:3.00)_(4).
3、(4)(分数:3.00)_(5).(5)(分数:3.00)_试题二(共 15 分) 阅读以下说明和 C 函数,填补代码中的空缺(1)(5),将解答填入答题纸的对应栏内。 说明 1 函数 isPrime(int n)的功能是判断 n 是否为素数。若是,则返回 1,否则返回 0。素数是只能被1 和自己整除的正整数。例如,最小的 5 个素数是 2,3,5,7,11。 C 函数 说明 2 函数 int minOne(int arr,int k)的功能是用递归方法求指定数组中前 k 个元素中的最小者,并作为函数值返回。 C 函数 (分数:15.00)(1).(1)(分数:3.00)_(2).(2)(分数
4、:3.00)_(3).(3)(分数:3.00)_(4).(4)(分数:3.00)_(5).(5)(分数:3.00)_试题三(共 15 分) 阅读以下说明和 C 程序,填补代码中的空缺(1)(5),将解答填入答题纸的对应栏内。 说明 函数 areAnagrams(char*fstword,char *sndword)的功能是判断 fstword 和 sndword 中的单词(不区分大小写)是否互为变位词,若是则返回 1,否则返回 0。所谓变位词是指两个单词是由相同字母的不同排列得到的。例如,“triangle”与“integral”,互为变位词,而“dumbest”与“stumble”不是。函数
5、 areAnagrams 的处理思路是检测两个单词是否包含相同的字母且每个字母出现的次数也相同。过程是先计算第一个单词(即 fstword 中的单词)中各字母的出现次数并记录在数组 counter 中,然后扫描第二个单词(即 sndword 中的单词)的各字母,若在第二个单词中遇到与第一个单词相同的字母,就将相应的计数变量值减 1,若在第二个单词中发现第一个单词中不存在的字母,则可断定这两个单词不构成变位词。最后扫描用于计数的数组 counter 各元素,若两个单词互为变位词,则 counter 的所有元素值都为 0。 函数 areAnagrams 中用到的部分标准库函数如下表所述。 C 函数
6、 (分数:15.00)(1).(1)(分数:3.00)_(2).(2)(分数:3.00)_(3).(3)(分数:3.00)_(4).(4)(分数:3.00)_(5).(5)(分数:3.00)_试题四(共 15 分) 阅读以下说明和 C 函数,填补代码中的空缺(1)(5),将解答填入答题纸的对应栏内。 说明 函数 ReverseList(LinkList headptr)的功能是将含有头结点的单链表就地逆置。处理思路是将链表中的指针逆转,即将原链表看成由两部分组成:已经完成逆置的部分和未完成逆置的部分,令 s 指向未逆置部分的第一个结点,并将该结点插入已完成部分的表头(头结点之后),直到全部结点
7、的指针域都修改完成为止。 例如,某单链表如图 41 所示,逆置过程中指针 s 的变化情况如图 4-2 所示。 链表结点类型定义如下 C 函数 (分数:15.00)(1).(1)(分数:3.00)_(2).(2)(分数:3.00)_(3).(3)(分数:3.00)_(4).(4)(分数:3.00)_(5).(5)(分数:3.00)_试题五(共 15 分) 阅读下列说明、C+代码和运行结果,填补代码中的空缺(1)(5),将解答填入答题纸的对应栏内。 说明 对部分乐器进行建模,其类图如图 51 所示,包括:乐器(Instrument)、管乐器(Wind)、打击乐器(Percussion)、弦乐器(S
8、tringed)、木管乐器(Woodwind)、铜管乐器(Brass)。 下面是实现上述设计的 C+代码,其中音乐类(Music)使用各类乐器(Instrument)进行演奏和调音等操作。 C+代码 本程序运行后的输出结果为: (分数:15.00)(1).(1)(分数:3.00)_(2).(2)(分数:3.00)_(3).(3)(分数:3.00)_(4).(4)(分数:3.00)_(5).(5)(分数:3.00)_试题六(共 15 分) 阅读以下说明和 Java 程序,填补代码中的空缺(1)(5),将解答填入答题纸的对应栏内。 说明 对部分乐器进行建模,其类图如图 6-1 所示,包括:乐器(I
9、nstrument)、管乐器(Wind)、打击乐器(Percussion)、弦乐器(Stringed)、木管乐器(Woodwind)、铜管乐器(Brass)。 下面是实现上述设计的 Java 代码,其中音乐类(Music)使用各类乐器(Instrument)进行演奏和调音等操作。 java代码 本程序运行后的输出结果为: (分数:15.00)(1).(1)(分数:3.00)_(2).(2)(分数:3.00)_(3).(3)(分数:3.00)_(4).(4)(分数:3.00)_(5).(5)(分数:3.00)_计算机水平考试初级程序员 2014 年上半年下午真题答案解析(总分:90.00,做题时
10、间:150 分钟)试题一(共 15 分) 阅读以下说明和流程图,填补流程图中的空缺(1)(5),将解答填入答题纸的对应栏内。说明 指定网页中,某个关键词出现的次数除以该网页长度称为该关键词在此网页中的词频。对新闻类网页,存在一组公共的关键词。因此,每个新闻网页都存在一组词频,称为该新闻网页的特征向量。 设两个新闻网页的特征向量分别为:甲(a1,a2,ak)、乙(b1,b2,bk),则计算这两个网页的相似度时需要先计算它们的内积 Sa1b1+a2b2+akbk。一般情况下,新闻网页特征向量的维数是巨大的,但每个特征向量中非零元素却并不多。为了节省存储空间和计算时间,我们依次用特征向量中非零元素的
11、序号及相应的词频值来简化特征向量。为此,我们用(NA(i),A(i)|i1,2,m)和(NB(j),B(j)|j1,2,n)来简化两个网页的特征向量。其中:NA(i)从前到后描述了特征向量甲中非零元素 A(i)的序号(NA(1)NA(2),NB(j)从前到后描述了特征向量乙中非零元素 B(j)的序号(NB(1)NB(2)。 下面的流程图描述了计算这两个特征向量内积 S 的过程。 (分数:15.00)(1).(1)(分数:3.00)_正确答案:(0)解析:(2).(2)(分数:3.00)_正确答案:(S+A(j)B(j) 或 等价表示)解析:(3).(3)(分数:3.00)_正确答案:(im 或
12、 im+1 或等价表示)解析:(4).(4)(分数:3.00)_正确答案:(jn 或 jn+1 或等价表示)解析:(5).(5)(分数:3.00)_正确答案:(im or jn 或 im+1 or j=n+1 或等价表示)解析:试题一分析 本题是简化了的一个大数据算法应用之例。世界上每天都有大量的新闻网页,门户网站需要将其自动进行分类,并传送给搜索的用户。为了分类,需要建立网页相似度的衡量方法。流行的算法是,先按统一的关键词组计算各个关键词的词频,形成闷页的特征向量,这样,两个网页特征向量的夹角余弦(内积两个向量模的乘积),就可以衡量两个网页的相似度。因此,计算两个网页特征向量的内积就是分类计
13、算中的关键。 对于存在大量零元素的稀疏向量来说,用题中所说的简化表示方法是很有效的。这样,求两个向量的内积只需要在分别从左到右扫描两个简化向量时,计算对应序号相同(NA(i)=NB(j)时的 A(i)*B(j)之和(其他情况两个向量对应元素之乘积都是 0)。因此,流程图中(2)处应填 S+A(i)*B(j),而累计的初始值 S 应该为 0,即(1)处应填 0。 流程图中,NA(i)NB(j)时,下一步应再比较 NA(i)n 或 jn+1(如果成立,则扫描结束)。因此(4)处应填 jn 或 j=n+1。 (5)处应填扫描结束的条件,im or jn 或 i=m+1 or jn+1,即两个简化向量
14、之一扫描结束时,整个扫描就结束了。试题二(共 15 分) 阅读以下说明和 C 函数,填补代码中的空缺(1)(5),将解答填入答题纸的对应栏内。 说明 1 函数 isPrime(int n)的功能是判断 n 是否为素数。若是,则返回 1,否则返回 0。素数是只能被1 和自己整除的正整数。例如,最小的 5 个素数是 2,3,5,7,11。 C 函数 说明 2 函数 int minOne(int arr,int k)的功能是用递归方法求指定数组中前 k 个元素中的最小者,并作为函数值返回。 C 函数 (分数:15.00)(1).(1)(分数:3.00)_正确答案:(n2=0,或!(n2),或其等价形
15、式)解析:(2).(2)(分数:3.00)_正确答案:(nk=0,或!(nk),或其等价形式)解析:(3).(3)(分数:3.00)_正确答案:(arr0,或*arr,或其等价形式)解析:(4).(4)(分数:3.00)_正确答案:(k-1, 或其等价形式)解析:(5).(5)(分数:3.00)_正确答案:(t)解析:试题二分析 本题考查 C 程序的基本语法和运算逻辑。 首先应认真分析题目中的说明,然后确定代码结构和各变量的作用。 函数 isPrime(int n)的功能是判断 n 是否为素数。根据素数的定义,小于 2 的数和大于 2 的偶数都不是素数,n 是偶数可表示为“n2 等于 0”,因
16、此空(1)处应填入“n20”,或者“!(n2)”。 在 n 是大于 2 的奇数的情况下,下面的代码从 3 开始查找 n 的因子,直到 n 的平方根为止。 for(k=3;k试题三(共 15 分) 阅读以下说明和 C 程序,填补代码中的空缺(1)(5),将解答填入答题纸的对应栏内。 说明 函数 areAnagrams(char*fstword,char *sndword)的功能是判断 fstword 和 sndword 中的单词(不区分大小写)是否互为变位词,若是则返回 1,否则返回 0。所谓变位词是指两个单词是由相同字母的不同排列得到的。例如,“triangle”与“integral”,互为变
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 计算机水平 考试 初级 程序员 2014 上半年 下午 答案 解析 DOC
