【计算机类职业资格】初级程序员下午试题-55及答案解析.doc
《【计算机类职业资格】初级程序员下午试题-55及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】初级程序员下午试题-55及答案解析.doc(14页珍藏版)》请在麦多课文档分享上搜索。
1、初级程序员下午试题-55 及答案解析(总分:105.00,做题时间:90 分钟)一、B试题一/B(总题数:1,分数:15.00)阅读以下某客房管理系统的算法说明和程序流程图,根据要求回答问题 1至问题 4。【算法说明】某商务交流中心共有 N间客房。每间客房的房间号、房间等级、床位数及占用状态分别存放在数组ROOM、RANK、NBED 和 STATUS中。房间等级值为 1、2 或 3。房间的状态值为 0(空闲)或 1(占用)。客房是以房间(不是床位)为单位出租的。程序流程图(见图 2-11)所反映的算法是,根据几个散客的要求预订一间空房。程序的输入为:人数 M,房间等级要求尺(R=0 表示任意等
2、级都可以)。程序的输出为:所有可供选择的房间号。(分数:15.00)(1).【问题】在图 2-11所示的程序流程图中,若要某个房间 I被选中,则需要满足什么条件?(分数:3.75)_(2).【问题 2】假设该商务交流中心当前各个房间的情况如表 2-14所示。B表 2-14 某商务交流中心房间情况表/B B序号1/BBROOM/BBRANK/BBNBED/BBSTATUS/B1 1101 2 6 02 1102 3 6 13 1201 1 2 04 1202 3 3 05 1301 1 2 16 1302 2 3 0当输入 M=3,R=0 时,该算法的输出是U (1) /U。当输入 M=2,R=
3、1 时,该算法的输出是U (2) /U。(分数:3.75)_(3).【问题 3】如果等级为 r的房间每人每天的住宿费为 RATE(r),其中 RATE为数组,则为使该算法在输出每个候选的房间号 RM(J)后,再输出这批散客每天所需的总住宿费 DAYRENT(J),在程序流程图(见图 2-11)中“ROOM(1)RM(J)”(b 所指向的方框中)之后应增加的处理语句是U (3) /U。(分数:3.75)_(4).【问题 4】如果限制该算法最多输出 K个可供选择的房间号,则在程序流程图(见图 2-11)中“N”(a 所指向的判断框中)应修改为U (4) /U。(分数:3.75)_二、B试题二/B(
4、总题数:1,分数:15.00)1.【说明】以下【C 程序】能将自然数 1,2,N 2按蛇形方式逐个存入 N阶矩阵。换言之,程序从 anO开始到 aOn。为止(n=N-1)顺序填入自然数,交替地对每一斜列从左上元素向右下元素或从右下元素向左上元素存数。例如,当 N=5时,程序输出结果如图 2-12所示;当 N=8时,程序输出结果如图 2-13所示。(分数:15.00)_三、B试题三/B(总题数:1,分数:15.00)2.【说明】 某超市集团为发展业务向社会公开招聘 N个工种的工作人员,每个工种各有不同的编号(1 至M)和计划招聘人数。每位应聘者需申报两个工种,并参加集团组织的考试。该集团公司将按
5、应聘者的成绩从高分至低分的顺序进行排队录取。具体录取原则是:从高分到低分依次对每位应聘者先按其第一志愿录取;当不能按其第一志愿录取时,便将他的成绩扣去 5分后,重新排队,并按其第二志愿录取。 以下 C程序为输出各工种实际招聘的应聘人员,每个工种都保留一个录取者的有序队列。录取处理循环直至招聘额满或已对全部应聘者都作了录取处理后跳出。 C 程序中,类型 STU包含有应聘者的基本信息:编号、成绩、志愿、排队成绩和录取志愿号。数组 rzl)的每个元素对应一个工种,包含有计划招聘人数和已录取的人数。 【C 程序】 #include #define N 36 #define EDMARK 5 typed
6、ef struct stu int no, total, z2, sortm, zi; struct stu *next; STU; struct rznode int lmt, count; STU *next; rz N; STU *head = NULL, *over = NULL; int all FILE *fp; char dataf = “zp2008.dat“ ; print(STU *p) for (;p!=NULL; p = p-next) printf( “%d(%d) /t“ , p-no, p-total insert(STU *p, STU *u) STU *v,
7、*q; for (q = *p;q != NULL; v = q ,U (1) /U) if (q- sortm u-sortm) break; if ( q = *p) U (2) /U; else U (3) /U; u-next = q ; main ( ) int zn, i, no, total, zl, z2 ; STU *p, *v, *q; fp = fopen(dataf, “r“ ); if (fp = NULL) printf (“Cant open file %s.kn“ ,dataf); exit (0); fscanf (fp, “%d“ , for (all =
8、0, i = 1; i = zn; i+) fscanf (fp, “%d“, rzi.count = 0; rzi.next = NULL; all +=U (4) /U; for (;) if ( fscanf(fp, “%d%d%d%d“ , p = ( STU *) malloc (sizeof (STU); p-no = no; p-total = p-sortm = total; p-zi = 0; p-z0 = z1; p-z1 = z2; U (5) /U; fclose (fp); for (;all ) p = head; head = head-next; if (rzp
9、-zp-zi.count U (6) /U) rzp-zp-zi.count +; insert( all-; continue; if (p-zi = 1 ) p-next = over; over = p; continue; p-sortm -= DEMARK; U (7) /U; insert( for (i = 1; i = zn; i+ ) printf(“%d:/n“ ,i); print( rzi .next); printf(“ /n“); printf( “over:/n“ ); print(head); print(over); printf(“ /n“); (分数:15
10、.00)_四、B试题四/B(总题数:1,分数:15.00)3.【说明】【C 程序 1】用回溯算法来产生由 0或 1组成的 2m个二进位串,使该串满足以下要求。视串为首尾相连的环,则由 m位二进制数字组成的 2m个子序列,每个可能的子序列都互不相同。例如,如果 m=3,在串 11101000首尾相连构成的环中,由 3位二进制数字组成的每个可能的子序列都在环中恰好出现一次,它们依次是 111,110,101,010,100,000,001,011,如图 2-14所示。(分数:15.00)_五、B试题五/B(总题数:1,分数:15.00)从下列 3道试题(试题 5至试题 7)中任选 1道解答。如果解
11、答的试题数超过 1道,则题号小的 1道解答有效。阅读以下应用说明和 Visual Basic程序,根据要求回答问题 1问题 2。【说明】某机动车驾驶员模拟考试系统的“交通禁令标志识别”窗体中,共有 1个按钮(CmdTest)、6 个标签、 1个包含 10个单选按钮的控件数组(OptPicture),如图 2-15所示。其中,标签(LblPrompt1)“禁令标志”与标签(LblTest)相对应,标签(LblPrompt2)“图片答案”与标签(LblAnswer)相对应,标签(LblEvaluate)为结果提示。窗体(Frm001)对象和单选按钮控件数组(OptPicture)对象的部分属性及属
12、性值如表 2-15所示。B表 2-15 窗体、单选按钮控件数组的部分属性及属性值/B B对 象/B B属 性/B B属性值/B(名称) Frm001Icon 变通标识MaxButton (1)窗体MinButton (2)(名称) optPictureIndex (3)Style 1-Graghics单选按钮控件数组Picture (装入相应图片)该程序运行时,单击【测试】按钮(CmdTest),在标签(LblTest)中随机显示一个交通禁令标志名称,用户单击控件数组(OptPicture)相应单选按钮后,程序在标签(LblAnswer)给出用户所击单选按钮对应的交通禁令标志名称,在标签(Lb
13、lEvaluate)给出正确或错误的提示结果,如图 2-15和图 2-16所示。(分数:15.00)(1).【问题 1】请根据图 2-15和图 2-16的显示效果和【Visual Basic 程序】,将表 2-15中窗体对象、单选按钮控件数组对象的(1)(3)空缺处的属性值填写完整。(分数:7.50)_(2).【问题 2】请根据【说明】和图 2-15和图 2-16的显示效果,将【Visual Basic 程序】中(4)(9)空缺处的程序语句填写完整。(分数:7.50)_六、B试题六/B(总题数:1,分数:15.00)4.【说明】 以下【C+程序】实现一个简单的小型复数类 MiniComplex
14、,该复数类能进行输入、输出、复数的加法、减法、乘法和除法运算,还可以进行复数的相等比较。 【C+程序】 #ifndef H_MiniComplex #define H_MiniComplex #include iostream using namespace std; class MiniComplex public: /重载流插入和提取运算符 U (1) /Uostream return osObject; U (2) /Uistream isObject complex.realPartchcomplex.imagPartch; return isObject; MiniComplex(d
15、ouble real=0,double imag=0); /构造函数 MiniComplex operator+(const MiniComplex /重载运算符+ MiniComplex operator-(const MiniComplex /重载运算符- MiniComplex operator*(const MiniComplex /重载运算符* MiniComplex operator/(const MiniComplex /重载运算符/ bool operator=(const MiniComplex /重载运算符= private : doubleU (3) /U; double
16、 imagPart; ; #end if #include “MiniComplex.h“ bool MiniComplex:operator=(const MiniComplex MiniComplex:MiniComplex(double real,double imag) realPart= real; imagPart=imagPart; MiniComplex MiniComplex:operator+(const MiniComplex temp.realPart = realPart+ortherComplex. realPart; temp.imagPart = imagPar
17、t +ortherComplex. imagPart; return temp; U (4) /U MiniComplex temp; temp.realPart= realPart-ortherComplex. realPart; temp.imagPart = imagPart-ortherComplex. imagPart; return temp; MiniComplex MiniComplex:operator*(const MiniComplex temp.realPart = (realPart*ortherComplex. realPart)-(imagPart *orther
18、Complex.imagPart); temp.imagPart = (realPart*ortherComplex. imagPart)+(imagPart *ortherComplex.realPart); return temp; MiniComplex MiniComplex:operator/(const MiniComplex float tt; tt=1/(ortherComplex.realPart*ortherComplex.realPart+ortherComplex.imagPart *ortherComplex. imagPart); temp.realPart=(re
19、alPart*ortherComplex, realPart)+(imagPart *ortherComplex. imagPart)*tt; temp.imagPart =(imagPart *ortherComplex. realPart)-(realPart*ortherComplex. imagPart)*tt; return temp; #include iostream #include MiniComplex.h using namespace std; int main() MiniComplex numl(23, 34),num2(56, 35); cout“Initial
20、Value of num1=“num1“/n Initial Value of num2=“num2end1; coutnum1“+“num2“=“num1+num2end1; /使用重载的加号运算符 coutnum1“-“num2“=“num1-num2end1; /使用重载的减号运算符 coutnum1“*“num2“=“num1*num2end1; /使用重载的乘号运算符 coutnum1“/“num2“=“num1/num2end1; /使用重载的除号运算符 U (5) /U; (分数:15.00)_七、B试题七/B(总题数:1,分数:15.00)5.【说明】 Stack 类是 jav
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 初级 程序员 下午 试题 55 答案 解析 DOC
