【计算机类职业资格】计算机水平考试初级程序员2004年下半年下午真题及答案解析.doc

上传人:medalangle361 文档编号:1339331 上传时间:2019-10-17 格式:DOC 页数:5 大小:56KB
下载 相关 举报
【计算机类职业资格】计算机水平考试初级程序员2004年下半年下午真题及答案解析.doc_第1页
第1页 / 共5页
【计算机类职业资格】计算机水平考试初级程序员2004年下半年下午真题及答案解析.doc_第2页
第2页 / 共5页
【计算机类职业资格】计算机水平考试初级程序员2004年下半年下午真题及答案解析.doc_第3页
第3页 / 共5页
【计算机类职业资格】计算机水平考试初级程序员2004年下半年下午真题及答案解析.doc_第4页
第4页 / 共5页
【计算机类职业资格】计算机水平考试初级程序员2004年下半年下午真题及答案解析.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、计算机水平考试初级程序员 2004 年下半年下午真题及答案解析(总分:120.00,做题时间:150 分钟)一、试题一至试题三是必答题(总题数:3,分数:45.00)1.试题一(15 分,每空 3 分) 阅读下列说明和流程图,将应填入 (n) 的字句写在答题纸的对应栏内。流程图说明 下面的流程图描述了对 8 位二进制整数求补的算法。 该算法的计算过程如下:从二进制数的低位(最右位)开始,依次向高位逐位查看,直到首次遇到“1”时,停止查看。然后,对该“1”位左面的更高位(如果有的话),逐位求反,所得的结果就是对原二进制数求补的结果。 例如:对二进制整数 10101000 求补的结果是 01011

2、000。 设 8 位二进制整数中的各位,从低位到高位,依次存放在整型数组 BIT 的 BIT1BIT8中。例如,二进制整数 10101000 存放在数组 BIT 后,就有 BIT1=0,BIT2=0,.,BIT7=0,BIT8=1。若流程图中存在空操作,则用 NOP 表示。 流程图 (分数:15.00)_2.试题二(15 分,每空 3 分) 阅读下列函数说明和 C 代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 函数说明 函数 sort(int a,int n)的功能是对数组 a 中的 a0an-1这 n 个元素进行排序。排序过程如下:第一趟对所有的偶数下标 p,比较 ap和 ap+1

3、,若 apap+1,则将两者交换;第二趟对所有的奇数下标 q,比较 aq和 aq+1,若 aqaq+1,则将两者交换;第三趟对偶数下标,第四趟对奇数下标,.,依次类推,直至整个数组元素有序排列为止。 函数 void sort(int a,int n) int i,j,t,tag=1; for(j=0; jai+1) t=ai; ai=ai+1;ai+1=t; tag=0; tag+; if ( (3) ) break; 对包含十个元素的数组 a 采用上述方法排序时,元素间的比较次数最少为 (4) 次,最多为 (5) 次。(分数:15.00)_3.试题三(15 分,每空 3 分) 阅读下列函数说

4、明和 C 代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 函数说明 函数 movetoend(LinkedList La,int i)的功能是:将线性表 A 的第 i 个元素移到表尾。若移动成功,则返回 0,否则返回-1。线性表 A 采用带头结点的单链表表示,La 为表 A 的头指针,如下图所示。 (分数:15.00)_二、从下列的 2 道试题(试题四至试题五)中任选(总题数:2,分数:30.00)4.试题四(15 分,每空 3 分) 阅读以下说明和 C 代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】 某单位举办了一场知识竞赛,参加竞赛的选手为 300 名,依次从 1

5、300 进行编号。竞赛时间为 9:0011:00。8 道竞赛题目依次从AH编号,选手可按任意次序答题,每完成一道题目,可立即提交答案。若答案正确(Y),则选择其他题目进行解答,否则,可继续做该题目或选择其他题目进行解答,直至竞赛结束。 选手提交答案的情况及判定结果由专人即时录入,录入的数据如下表 1 所示,对竞赛情况进行统计和排名的结果如表 2 所示。 (分数:15.00)_5.试题五(15 分,每空 3 分) 阅读以下应用说明及 Visual Basic 程序代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 应用说明 某单位举办了一场知识竞赛,有 300 名选手参加竞赛,依次从1300

6、 为选手编号。竞赛时间为 9:0011:00。8 道竞赛题目依次从“A”“H”编号,选手可按任意次序答题,每完成一道题目,可立即提交答案。若答案正确(Y),则选择其他题目进行解答,否则,可继续做该题目或选择其他题目进行解答,直至竞赛结束。 选手提交答案的情况及判定结果由专人即时录入,录入数据包括提交答案的时间、选手编号、题目编号(AH)、是否正确(Y/N)。 对竞赛情况进行统计和排名的规则如下: 1若选手 X 在竞赛时提交的题目 P 解答正确,则解答该题目所用时间如下计算: 解答题目 P 的用时提交题目 P 正确的时间 竞赛的开始时间罚时 罚时提交题目 P 错误解答的次数20 例如:设 14

7、号选手在 10:27 提交了题目 A 的正确解答,则该选手正确解答该题目所用时间为 87 分钟,由于他在 09:37 和 09:52 两次提交了题目 A 的错误解答,因此罚时为 22040 分钟,所以 14 号选手解答题目 A 的用时87+40=127(分钟)。 2已经提交正确答案的题目再次提交时不作计算。 3竞赛结束时,选手的总用时为所有解答正确的题目用时累加所得,解答不正确的题目不计时。 4排名时,完成题目数量多者排名靠前;若完成的题目数相同,则用时少者排名靠前;若完成的题目数和所用时间均相等,则名次相同;完成题目数为 0 的选手不参加排名。 本应用程序的运行窗口如下图所示: (分数:15

8、.00)_三、从下列的 3 道试题(试题六至试题八)中任选(总题数:3,分数:45.00)6.试题六(15 分,每空 3 分) 阅读以下说明和 C+程序,将应填入(n) 处的字句写在答题纸的对应栏内。 【说明】 以下程序的功能是计算三角形、矩形和正方形的面积并输出。 程序由 4 个类组成:类Triangle、Rectangle 和 Square 分别表示三角形、矩形和正方形;抽象类 Figure 提供了一个纯虚拟函数 getArea(),作为计算上述三种图形面积的通用接口。 【C+程序】 #include #include class Figure public: virtual double

9、 getArea() = 0; / 纯虚拟函数 ; class Rectangle : (1) protected: double height; double width; public: Rectangle(); Rectangle(double height, double width) this-height = height; this-width = width; double getArea() return (2) ; ; class Square : (3) public: Square(double width) (4) ; ; class Triangle : (5) d

10、ouble la; double lb; double lc; public: Triangle(double la, double lb, double lc) this-la = la; this-lb = lb; this-lc = lc; double getArea() double s = (la+lb+lc)/2.0; return sqrt(s*(s-la)*(s-lb)*(s-lc); ; void main() Figure* figures3 = new Triangle(2,3,3), new Rectangle(5,8), new Square(5) ; for (i

11、nt i = 0; i getArea() ap+1,则将两者交换;第二趟对所有的奇数下标 q,比较 aq和 aq+1,若 aqaq+1,则将两者交换;第三趟对偶数下标,第四趟对奇数下标,.,依次类推,直至整个数组元素有序排列为止。 函数 void sort(int a,int n) int i,j,t,tag=1; for(j=0; jai+1) t=ai; ai=ai+1;ai+1=t; tag=0; tag+; if ( (3) ) break; 对包含十个元素的数组 a 采用上述方法排序时,元素间的比较次数最少为 (4) 次,最多为 (5) 次。(分数:15.00)_正确答案:((1)

12、j2,及其等价形式 (2)i+=2,及其等价形式 (3)tag2,或 tag=3 或 tag=3,及其等价形式 (4)9 (5)45)解析:3.试题三(15 分,每空 3 分) 阅读下列函数说明和 C 代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 函数说明 函数 movetoend(LinkedList La,int i)的功能是:将线性表 A 的第 i 个元素移到表尾。若移动成功,则返回 0,否则返回-1。线性表 A 采用带头结点的单链表表示,La 为表 A 的头指针,如下图所示。 (分数:15.00)_正确答案:(1)p / 纯虚拟函数 ; class Rectangle : (

13、1) protected: double height; double width; public: Rectangle(); Rectangle(double height, double width) this-height = height; this-width = width; double getArea() return (2) ; ; class Square : (3) public: Square(double width) (4) ; ; class Triangle : (5) double la; double lb; double lc; public: Trian

14、gle(double la, double lb, double lc) this-la = la; this-lb = lb; this-lc = lc; double getArea() double s = (la+lb+lc)/2.0; return sqrt(s*(s-la)*(s-lb)*(s-lc); ; void main() Figure* figures3 = new Triangle(2,3,3), new Rectangle(5,8), new Square(5) ; for (int i = 0; i getArea() width=width (5)public F

15、igure)解析:7.试题七(15 分,每空 3 分) 阅读以下应用说明及 Visual Basic 部分程序代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 应用说明 设一个简单的“通讯录”存储在一个 ACCESS 类型的数据库表中,包括姓名、电话和 email 三个字段。下面的应用程序实现对“通讯录”数据库表中的记录进行增加、删除及修改处理,其运行界面如下: (分数:15.00)_正确答案:(1)False (2)True (3)SetFocus (4)Delete (5)Update)解析:8.试题八(15 分,每空 3 分) 阅读以下说明和 Java 源程序,将应填入(n) 处的

16、字句写在答题纸的对应栏内。 【说明】 以下程序的功能是计算三角形、矩形和正方形的面积并输出。 程序由 5 个类组成:AreaTest 是主类,类 Triangle、Rectangle 和 Square 分别表示三角形、矩形和正方形,抽象类 Figure 提供了一个计算面积的抽象方法。 【程序】 public class AreaTest public static void main(String args) Figure figures= new Triangle(2,3,3), new Rectangle(5,8), new Square(5) ; for (int i=0; i_正确答案:(1)Figure (2)height*width (3)Rectangle (4)super(width,width) (5)Figure)解析:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1