[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷50及答案与解析.doc
《[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷50及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷50及答案与解析.doc(16页珍藏版)》请在麦多课文档分享上搜索。
1、软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷 50及答案与解析 一、必答题(共 4道大题,每道大题 15分) 0 说明 一个新的音像商店准备向比较广泛的人群出租录像带和光碟。该商店的管理决定在计算机系统的支持下来运作。 音像商店在货架上存放着题材广泛的当前流行的电影库。由于同一个电影片名可能有于不同的导演而有不同的版本,因此电影用电影代码区分,而不用电影片名;同一个版本有多份拷贝,因此音像制品用一个唯一的编号标识。某个特定的电影可以存放在录像带或光碟上,录像带和光碟的租金不同。录像带要么是 Beta格式要么是 VHS格式;光碟为 DVD格式,容量比较大,一张光碟可以存储同一电影片
2、名的不同版本。每个电影都有特定的租用期(用天表示 ),并带有在租用期内的租金。音像商店必须能够立即回答关于某个电影的库存和有多少供租用的带子或光碟。 音像商店的店员负责定购音像、联系客户、音像上架,并对客户的询问给出答复。 该系统采用面向对象方法开发,系统中的类以及类之间的关系用 UML类图表示,图 1-1是该系统的用例图,图 1-2是该系统的类图的一部分。 图 1-1 1 根据题意,给出 “电影 ”类的主要属性。 2 根据 题意,指出图 1-1中缺失的用例。 2 说明 为了有效记录交通事故情况,欲设计一个交通事故记录系统。 一辆汽车有一个唯一的 “车牌号 ”,车主购买汽车时需要提供相关信息,
3、包括身份证、姓名、年龄、性别、地址等。一个车主可以拥有多辆汽车,而一辆汽车只有一个车主。驾驶员不一定是车主,因此记录交通事故时要记录驾驶员身份证号,同时记录事故发生时刻。 图 2-1描绘了人、汽车、交通事故三个实体类型及实体间联系的一个 E-R图。 图 2-1对应的关系模式为: 人 (身份证号,姓名,性别,年龄,地址 ) 汽车 (车牌号, 型号 ) 事故 (车牌号,身份证号,时刻,损失,描述 ) 拥有 (身份证号,车牌号 ) 3 指出每种关系模式的主键。 4 创建人表时, “身份证号 ”使用 INTEGER数据类型,并且要求此列值不能为空、值惟一,姓名列不能为空。请在下列用于创建表人的 SQL
4、语句空缺处填入正确的内容。 CREATE TABLE 人 (身份证号 INTEGER, 姓名 CHAR(20) (1) , 性别 CHAR(1), 年龄 INTEGER, 地址 CHAR(20), (2) ) 5 请在下列 SQL查询语句空缺处填入正确的内容 (1)查询身份证号为 “123456”的人作为驾驶员时所有的事故记录。 SELECT * FROM事故 WHERE (1) (2)查询身份证号为 “123456”的车主所拥有的汽车的事故记录。 SELECT * FROM事故 WHERE 车牌号 (2) (SELECT车牌号 FROM (3) WHERE身份证号 = “123456“) (
5、3)查询车牌号为 “123456”汽车在车主是驾驶员时的事故记录。 SELECT * FROM 事故 WHERE (4) (SELECT * FROM (5) WHERE 车牌号 = “123456“ AND (6) ) 6 阅读下列函数说明、图和 C代码,回答问题 说明 假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,则实际的长整数 m表示为: m=ak10k-2+ak-110k-3+a310+a2 其中 a1保存该长整数的位数, a0保存该长整数的符号: 0表示正数、 1表示负数。 运算时先决定符号,再进行绝对值运算。对于绝对值相减情况,总是绝对值较大的减去绝对值较小
6、的,以避免出现不够减情况。注意,不考虑溢出情况,即数组足够大。 函数 int cmp(int *LA, int *LB); /*比较长整数 LA与 LB的绝对值大小 */ /*若 LA绝对值较大返回正值, LA较小返回负值,相等则返回 0*/ int ADD (int *LA, int *LB, int *LC) /*计算长整数 LA与 LB的和,结果存储于 LC中 */ /*注意:正数与 负数的和相当于正数与负数绝对值的差 */ /*数据有误返回 0,正常返回 1*/ if(LA = NULL | LB = NULL | LC = NULL)return 0; int *pA, *pB, i
7、, N, carry, flag; flag = LA0 + LB0; switch(flag) /*根据参与运算的两个数的符号进行不同的操作 */ case 0: case 2: Lc0 = LA0;/*LA与 LB同号,结果符 号与 LA(LB)相同 */ pA = LA; pB = LB; (1) ; break; case 1: /*LA与 LB异号 */ /*比较两者的绝对值大小,结果符号与较大者相同 */ flag = (2) ; if(flag 0) /*LA较大 */ LC0 = LA0; pA = LA; pB = LB; else if(flag LB1 ? LA1 : L
8、B1; for(i = 0; i = pA1)/*LA计算完毕 */ carry += flag * pBi+2; else if(i = pB1)/*LB计算完毕 */ carry += pAi+2; else carry += pAi+2 + flag * pBi+2; LCi+2 = carry % 10; carry /= 10; if( (4) )/*需要借位,针对减法 */ LCi+2 += 10; carry-; /*for*/ if( (5) )/*最高进位,针对加法 */ LCi+2 = carry; i+; if(LCi+1 = 0) i-; /*若最高位为零,针对减法 *
9、/ LC1 = i; return 1; ;/*ADD*/ 7 阅读下列函数说明、图和 C代码,回答问题 说明 在进行文法 分析的时候,通常需要检测一个单词是否在我们的单词列表里。为了提高查找和定位的速度,通常都要画出与单词列表所对应的单词查找树。 程序构造一棵二叉排序树,每个节点存储一个单词,按字典序列,较小的在左子树,较大的在右子树。 函数中使用的预定义符号如下: typedef struct TreeNode/*二叉排序树节点 */ char *word; struct TreeNode *left, *right; BNODE; 函数 int getWord(FILE *fpt, ch
10、ar *word) /*从文件 fpt中读取单词到 word中,到达文件结束时返回 0*/ char c; c = fgetc(fpt); if(c = EOF)return 0; /*跳过单词间的非字母字符 */ while(!(tolower(c) = a ptr = (BNODE*)malloc(sizeof ptr); ptr-left = ptr-right = NULL; ptr-word = (char*)malloc(strlen(word) + 1); strcpy(ptr-word, word); if(p = NULL) (4) ; else if(compres 0)
11、p-right = ptr; else p-left = ptr; int main() FILE *fpt; char word40; BNODE *root = NULL; if(fpt = fopen(“text.in“, “r“) = NULL) printf(“不能打开文件 text.in! n“); return 1; while(getWord(fpt, word) = 1) BTree (5) ; fclose(fpt); return 0; 8 阅读下列函数说明和 C+代码,回答问题 说明 任何一种程序都是为了解决问题而撰写的,解决问题时需要实现一些特定的运算法则。在策略 (
12、Strategy)模式下,可以更换实现算法的部分而不留痕迹,切换整个算法,简化改为采用其他方法来解 决同样问题。 以下是一个 “剪刀石头布 ”游戏。猜拳时的 “策略 ”有 2种方法:第一种是 “猜赢后继续出同样的招式 ”(WinningStrategy),第二种是 “从上一次出的招式中,以概率分配方式求出下一个招式的几率 ”(ProbStrategy)。程序中定义了 Hand类表示猜拳时的“手势 ”,类内部以 0(石头 )、 1(剪刀 )、 2(布 )来表示。 Hand类的实例只会产生 3个。以下是 C+语言实现,能够正确编译通过。 C+代码 class Hand private: int h
13、andvalue; static Hand *hand0; static Hand *hand1; static Hand *hand2; (1) ; Hand(int handvalue) this-handvalue = handvalue; public: (2) Hand* getHand(int handvalue) /*省略具体实现 */ ; Hand *Hand:hand0 = new Hand(0); Hand *Hand:hand1 = new Hand(1); Hand *Hand:hand2 = new Hand(2); class Strategy public: (3
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 软件 水平 考试 中级 设计师 下午 应用技术 试题 模拟 50 答案 解析 DOC
