下半年 程序员 应用技术.docx
《下半年 程序员 应用技术.docx》由会员分享,可在线阅读,更多相关《下半年 程序员 应用技术.docx(13页珍藏版)》请在冰点文库上搜索。
![下半年 程序员 应用技术.docx](https://file1.bingdoc.com/fileroot1/2023-7/17/27c2be81-4d7d-4b0a-854f-5559df84c3b7/27c2be81-4d7d-4b0a-854f-5559df84c3b71.gif)
下半年程序员应用技术
全国计算机技术与软件专业技术资格(水平)考试
2011年下半年程序员下午试卷
(考试时间14:
00~16:
30共150分钟)
请按下述要求正确填写答题纸
1.在答题纸的指定位置填写你所在的省、自治区、直辖市、计划单列市的名称。
2.在答题纸的指定位置填写准考证号、出生年月日和姓名。
3.答题纸上除填写上述内容外只能写解答。
4.本试卷共6道题,试题一至试题四是必答题,试题五至试题六选答1道。
每
题15分,满分75分。
5.解答时字迹务必清楚,字迹不清时,将不评分。
6.仿照下面例题,将解答写在答题纸的对应栏内。
例题
2011年下半年全国计算机技术与软件专业技术资格(水平)考试日期是
(1)
月
(2)日。
因为正确的解答是“11月4日”,故在答题纸的对应栏内写上“11”和“4”
(参看下表)。
例题
解答栏
(1)
11
(2)
4
试题一
【说明】
以下流程图用于检查数组A[1:
n]中的@素是否为自然数1〜n的一个排列(含有1〜n各数)。
若是,则输出OK,否则输出所缺的自然数及其个数m。
为检查A[1:
n]中是否含有k,只要判断P(k)=(A(l)-k)*(A
(2)-k)*...*(A(n)-k)是否等于0即可。
【流程图】
阅读说明和流程图,填补流程图中的空缺
(1)〜(5)。
试题二
【说明】
下面是一个待修改的C程序,其应该完成的功能是:
对于输入的一个整数mim,计算其位数k,然后将其各位数字按逆序转换为字符串保存并输出。
若mim为负整数,则输出字符串应有前缀“-”。
例如,将该程序修改正确后,运行时若输入“14251”,则输出“15241”;若输入“-6319870”,则输出“-0789136”。
下面给出的C程序代码中有五处错误,请指出错误代码所在的行号并给出修改正确后的完整代码行。
【C程序代码】
阅读说明和C程序代码,解答问题。
试题三
【说明】
某市在进行市长选举,该市共分为M个选区(1经投票后,所得选票数据如表3-1所示。
现已将选票数据存入文本文件data.txt,该文件内容格式如下:
共有M行,每行N+1个整数,第一个整数为选区编号,随后为N个竞选者在该选区所得票数。
下面的程序先从文件中读入选票数据存入二维数组data,然后完成下列功能:
a.计算并显示每个竞选者获得的选票数及占总选票数的百分比;
b.如果任一竞选者获得的选票数超过总选票数的50%,则显示该竞选者获胜;
c.如果没有竞选者获得总选票数的50%以上,则显示两位得票最高的竞选者需再进行决选。
在下面的程序代码中,竞选者A的编号为1,竞选者B的编号为2,以此类推。
【C代码】
阅读说明和C代码,填补C代码中的空缺
(1)〜(5)
试题四
【说明】
约瑟夫问题是一个经典的问题,其描述是:
有n个人(编号为1〜n)围成一圈,从第1个人开始,按照顺时针方向从1开始计数到m(即数到第m个人),让其出圈,然后再从其顺时针方向的下一个人开始,依次计数到m并让其出圈,重复这个过程,直到所有人都出圈,试给出出圈者的顺序。
以n=5,m=3为例,其出圈顺序为3,1,5,2,4,过程如图4-1所示。
下面的函数Joseph()在单向循环链表表示的基础上模拟上述出圈过程。
n为5时的单向循环链表结构如图4-2所示。
链表的结点类型定义如下:
typedefstructNode{
intno;
structNode*next;
}Node,*LinkList;
函数Joseph(LinkListtail,intn,intm)的处理思路如下:
(1).用k计数,每次都从0开始,当计数到m-1时结束本次计数;
(2).通过指针p查找出圈者所对应的结点,当k的值等于m-1时,p应指向出圈者对应结点的前驱结点;
(3).通过删除结点表示出圈处理;
(4).当m大于圈中剩余人数时,为了避免重复计数,用模运算修改m的值:
(5).计数和删除操作完成后再恢复m的原值。
【C函数】
阅读说明和C函数,填补C函数中的空缺
(1)〜(5)。
试题五
【说明】
已知某公司主要有两大类耗电资产(Asset):
计算机(ComputerAsset)和建筑物(BuildingAsset)。
为了节约能源,通过控制各种电源,将可关闭的房灯、计算机显示器等在夜间关闭。
为了实现上述需求,设计了如图5-1所示的类图,并用下面的C++代码加以实现。
【C++代码】
阅读说明、图和C++代码,填补C++代码中的空缺
(1)〜(5).
试题六
【说明】
已知某公司主要有两大类耗电资产(Asset):
计算机(ComputerAsset)和建筑物(BuildingAsset)。
为了节约能源,通过控制各种电源,将可关闭的房灯、计算机显示器等在夜间关闭。
为了实现上述需求,设计了如图6-1所示的类图,并用下面的Java代码加以实现。
【Java代码】
阅读说明和Java代码,填补Java代码中的空缺
(1)〜(5).