第二届全国软件专业人才设计与开发大赛选拔赛竞赛规则及样题
作者:admin 文章来源:本站原创 点击数:18104 更新时间:2011-1-6 8:29:15
1. 时间
考试为4小时全程封闭。 2. 形式
全程机考。局域网络、浏览器方式发放试题、提交代码。 3. 考试环境
X86 兼容机器,内存>1G,硬盘>60G
Windows NT 内核系统(WindowsXP, Windows2000等) ? C 语言
Visual C++ 6.0 (英文版) MSDN帮助文档(中英文) Turbo C ? Java JDK 1.5 Eclipse 3.1 JCreator 2.0
API 帮助(英文,中文,chm格式) 4. 涉及知识
??? JAVA软件开发(本科)
涉及知识:语法、面向对象、网络编程、接口、集合、IO、多线程、内部类、异常、数据结构。(awt、swing不考) ??? JAVA软件开发(高职高专)
涉及知识: 语法、面向对象、网络编程、接口、集合、IO、多线程、内部类、异常。(数据结构、awt、swing不考) ??? C语言程序设计(本科)
涉及知识: 结构、数组、指针、标准输入输出 、递归、函数指针、文件I/O、位运算
??? C语言程序设计(高职高专)
涉及知识: 结构、数组、指针、标准输入输出
5. 考核内容
? 侧重考核考生的独立软件分析、设计、编码、调试等能力。
? 题目形式为若干程序完善题及编程题。没有选择、改错、问答等题型。
6. 题目形式 (1)程序完善题
题目为若干具有一定难度梯度、分值不等的程序完善题。要求对既定代码中的空缺部分进行补充完善,使整段代码完整。
(2)编程题
题目为若干具有一定难度梯度、分值不等的编程题目。这些题目的要求明确、答案客观。要求考生通过编程的办法搜索题目的解。一般难点集中于对算法的设计和逻辑的组织上。理论上,考生不可能通过猜测或其它非编程的手段获得问题的解。
7. 评分
主要以考生所的提交的程序的运行效果为依据进行评估。同时也会参考考生程序的编码风格、逻辑性、可读性等方面。
8. 样题
? 下列乘法算式中:每个汉字代表1个数字(1~9)。相同的汉字代表相同的数字,不同的汉字代表不同的数字。
赛软件 * 比赛 = 软件比拼
试编程确定使得整个算式成立的数字组合,如有多种情况,请给出所有可能的答案。
? 计算24是流行的扑克游戏。其方法是任意取出4张牌,A J Q K 王牌 算 1,其它牌按点数计算,花色不计。目标是通过加、减、乘、除和括号最终算出24。设计一个程序,输入4个数字(1~10),则列出所有可能计算结果为24的方案。要求:
方案不能重复(加法乘法交换律等算不同方案)。
计算中局部可以为分数,结果为整数即可(如 3 3 7 7 算法: (3 + 3/7)*7) 如果没有找到方案输出:无解。
? (C语言)下列代码把一个串p复制到新的位置q。请填写缺少的语句;
char* p = \
char* q = (char*)malloc(strlen(p)+1);
for(int i=0;_____________; i++) q[i] = p[i];
? (Java语言)有n个孩子站成一圈,从第一个孩子开始顺时针方向报数,报到3的人出列,下一个人继续从1报数,直到最后剩下一个孩子为止。问剩下第几个孩子。下面的程序以10个孩子为例,模拟了这个过程,请完善之(提示:报数的过程被与之逻辑等价的更容易操作的过程所代替)。
Vector a = new Vector(); for(int i=1; i<=10; i++) { }
a.add(\第\个孩子\
for(;;) { }
System.out.println(a);
if(a.size()==1) break; for(int k=0; k<2; k++)
________________;
a.remove(0);
9. 注意事项
(1)选手必须符合参赛资格,不得弄虚作假。资格审查中一旦发现问题,则取消其报名资格;竞赛过程中发现问题,则取消竞赛资格;竞赛后发现问题,则取消竞赛成绩,收回获奖证书及奖金、奖品等,并在大赛官网上公示。
(2)参赛选手应遵守竞赛规则,遵守赛场纪律,服从大赛组委会的指挥和安排,爱护竞赛赛场地的设备。