2016年计算机软件设计师考前模拟试题_第1页
2016年计算机软件设计师考前模拟试题_第2页
2016年计算机软件设计师考前模拟试题_第3页
2016年计算机软件设计师考前模拟试题_第4页
2016年计算机软件设计师考前模拟试题_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2016年计算机软件设计师考前模拟试题阅读下列说明、图1和图2,回答问题1、问题2和问题3。

【说明】

下面是某租车信息管理系统的介绍:该车库中备有若干车辆,每辆车有车号、车牌、车名、价格等属性。车库不定期地购买并注册新车供用户借用,也可将报废的旧车注销以停止租用。

车库可为众多用户提供服务。每个用户在借车之前需注册姓名、地址等内容。每个用户最多可同时借3辆车。每辆车借期7天;若有一辆车超期,则不可再借其他车。一辆车超期一天罚款250元。若一辆车超期3周不归还,则发布通告。若用户借的车丢失,在罚款处理之前不能借车,每辆报失的车罚款该车目前市价(包括折旧)的1.2倍。注册新用户不受限制;而注销用户之前,该用户必须归还所有借的车,或者报失并接受罚款。

【状态图1】

图1车辆的状态图

【问题1】

分析车辆的状态和事件,指出图1中的

(1)

(2)

(3)

(4)

分别是什么?

【问题2】

分析用户的状态和事件,指出图2中的

(5)

(6)

(7)

(8)

分别是什么?(注意,用户与车辆在状态图中的关系)。

【问题3】

指出UML中活动图的含义,并说明活动图和状态图的区别与联系。

【状态图2】

图2用户的状态图

s

●试题二

阅读以下说明和流程图(如图2所示),回答问题1和问题2,将答案写在答卷的对应栏内。

【说明】

本流程图实现从成绩文件生成学生成绩一览表。

某中学某年级的学生成绩数据(分数)登录在成绩文件F0中,其记录格式见表2:

由该成绩文件生成见表3的学生成绩一览表。生成的学生成绩一览表按学号升序排列。表中的名次是指该生相应课程在年级中的名次。

流程图中的顺序文件F0是学生成绩文件,F0文件经处理1处理后产生顺序文件F,然后经过处理2至处理4对文件F进行处理和更新。在处理5中,仅对文件F的纪录进行学生成绩一览表的编排输出,不进行排序和增加名次等处理。

【问题1】

流程图中文件F的纪录格式设定为见表4形式:

其中的①、②应定义为何种数据项?【问题2】

简述处理2、处理3和处理4作何种处理,若有排序处理则需指明排序的键及序(升序或降序)。

【流程图】

图3

●试题三

根据题意回答以下问题:

设某商业集团数据库中有3个实体集:一是"商店"实体集,属性有商店编号,商店名,地址等;二是"商品"实体集,属性有商品号,商品名,规格,单价等;三是"职工"实体集,属性有职工编号,姓名,性别,业绩等。商店与商品间存在"销售"联系,每个商店可以销售多种商品,每种商品也可以在多个商店和职工间存在"聘用"联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和月薪。

问题:

1.请根据题意完善下面ER图。

图4

2.将ER图转换成关系模型,并注明主键和外键。

3.请写出要查出员工"小李"在三月份的销售业绩的关系代数式。

●试题四

下列给定程序中,函数fun()的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。

试题程序:

#include<stdio.h>

#include<mallo

C.h>

#include<string.h>

#include<conio.h>

#defineN10

typedefstructss

{

charnum[10];

intorder;

}STU;

STU*fun(STUa[],intm)

{

STUb[N],*tt;

inti,j,k;

(1)

;

for(i=0;i<N;

i++)

b[i]=a[i];

for(k=0;k<m;k++)

{

for(i=j=0;i<N;i++)

if

(

(2)

)

j=i;

tt[k]=b[j];

b[j].order=0;

}

return

(3)

;

}

outresult(STUa[],FILE*pf)

{

inti;

for(i=0;i<N;i++)

fprintf(pf,"No=%sMark=%d\n",

a[i].num,a[i].order);

fprintf(pf,"\n\n");

}

main()

{

STU[N]={{"A01",80},{"A02",79},

{"A03",66},{"A04",82},{"A05",87},

{"A06",93},{"A07",78},{"A08",60},

{"A09",85},{"A10",73}};

STU*p_order;

inti,m;

clrscr();

printf("***TheOrigialdata***\n");

outresult(a,stdout);

printf("\nGivethenumeberofthe

studentswhohavebetterscore:");

scanf("%d",&m);

while(m>10)

{

printf("\nGivethenumberofthe

studetswhohavebetterscore:");

scanf("%d",&m);

}

p_order=fun(a,m);

printf("***THERESULT***\n");

printf("***Thetopstudents***\n");

for(i=0;i<m;i++)

printf("%s

%d\n",

p_order[i].num,p_order[i].order);

free(p_order);

}

●试题五

阅读下列程序说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。

【程序5说明】

设M叉树采用列表法表示,即每棵子树对应一个列表,列表的结构为:子树根结点的值部分(设为一个字符)和用"()"括起来的各子树的列表(如有子树的话),各子列表间用","分隔。例如下面的三叉树可用列表a(b(c,d),e,f(g,h,i))表示。

本程序输入列表,生成一棵M叉树,并由M叉树输出列表。假定输入无错误。

【程序5】

#include<stdio.h>

#include<stdli

B.h>

#defineM3

typedefstructnode{charval;

structnode*subTree[M];

}NODE;

charbuf[255],*str=buf;

NODE*d=NULL

NODE*makeTree()/*由列表生成M叉树*/

{intk;NODE*s;

s=

(1)

;

s->val=*str++;

for(k=0;k<M;k++)s->subTree[k]=NULL;

if(*str=′(′){

k=0;

do{str++;

s->subTree[k]=

(2)

;

if(*str==′)′){str++;break;}

k=k+1;

}while(

(3)

);

}

returns;

}

voidwalkTree(NODE*t)/*由M叉树输出列表*/

{inti;

if(t!=NULL){

(4)

if(t->subTree[0]==NULL)return;

putchar(′(′);

for(i=0;i<M;i++){

(5)

;

if(i!=M-1&&t->subTree[i+1]!=

NULL)

putchar(′,′);

}

putchar(′)′);

}

}

voidmain()

{printf("Enterexp:");

scanf("%s",str);

d=makeTree();

walkTree(d);putchar(′\n′);

}

●试题六

阅读下列程序说明和C++代码,将应填入(n)处的字句写在答卷的对应栏内。

【说明】

源程序中定义了Circle类与Money类,Circle类可对半径为r的圆进行周长与面积的计算,而Money类用于计算一圆形游泳池的造价。游泳池四周有原形过道,过道外围上栅栏,过道宽度为3米,根据键入的游泳池半径,每米栅栏价格及每平方米过道价格,即可计算出游泳池的造价。请按要求完成下列操作,将程序补充完整。

①定义符号常量PI(值为3.14159f)与WIDTH(值为3.00f),分别用于表示圆周率与过道的固定宽度。

②定义Circle类默认构造函数,把私有成员radius初始化为参数r的值。

③完成Money类默认构造函数的定义,把私有成员FencePrice(每米栅栏的价格)、ConcretePrice(每平方米过道的价格)初始化为参数f,c的值。

④完成Money类成员函数floatMoney::TotalMoney(floatfencelen,floatconarea)的定义,根据参数fencelen(栅栏的长度)和conarea(过道的面积),返回栅栏与过道的总造价。

注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。

源程序文件test4.cpp清单如下:

#include<iostream.h>

(1)

classCircle

{

private:

floatradius;

public:

(2)

floatCircumference(){return2*PI*radius;}

floatArea(){returnPI*radius*radius;}

};

classMoney

{

private:

floatFencePrice;

floatConcretePrice;

public:

Money(floatf,floatc);

floatTotalMoney(floatfencelen,floatconarea);

};

Money::Money(floatf,floatc)

{

(3)

}

floatMoney::TotalMoney(floatfencelen,floatconarea)

{

(4)

}

voidmain()

{

floatradius,fence,concrete;

cout.setf(ios::fixed);

cout.setf(ios::showpoint);

cout.precision

(2)

;

cout<<"Entertheradiusofthepool:";

cin>>radius;

cout<<"EntertheFencePrice:";

cin>>fence;

cout<<"EntertheConcretePrice:";

cin>

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论