1 / 17
文档名称:

中级软件设计师2013上半年下午试题.docx

格式:docx   大小:411KB   页数:17页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

中级软件设计师2013上半年下午试题.docx

上传人:fengruiling 2022/5/11 文件大小:411 KB

下载得到文件列表

中级软件设计师2013上半年下午试题.docx

相关文档

文档介绍

文档介绍:中级软件设计师2013上半年下午试题
试题一
某慈善机构欲开发一个募捐系统,已跟踪记录为事业或项目向目标群体进行募捐而组织的集体性活 动。该系统的主要功能如下所述。
1管理志愿者。根据募捐任务给志愿者发送加入邀请、邀请跟进、工作任务;,有系统管理员删除该客户的相关信息。
系统采用面向对象方法进行开发,在开发过程中认定出如下表所示的类。系统的用例图和类图分别
如图1和图2所示。
图i系统用例图
0 .*
7、 根据说明中的描述,给出图1中A1和A2出所对应的参与者,UC1和UC2所对应的用例以及处 的关系。
8、 根据说明中的描述,给出图2中C1〜C5所对应的类名(表中给出出的类名)和空格处所对应的多 重度。
9、 认定类是面向对象分析中非常关键的一个步骤。一般首先从问题域中得到候选类集合,在根据相 应的原则从该集合中删除不作为类的,剩余的就是从问题域中认定出来的类。简要说明选择候选类的 原则,以及对候选类集合进行删除的原则。
试题四
设有m台完全相同的机器运行n个独立的任务,运行任务i所需要的时间为t.,要求确定一个调度 方案是的完成所有任务所需要的时间最短。
假设任务已经按照其运行时间从大到小排序,算法基于最长运行时间作业优先的策略;按顺序先把 每个1务分配到一台机器上,然后将剩余的任务一次放入最先空闲的机器。
[C代码]
下面是算法的C语言实现。
10常量和变量说明
m:机器数。
n:任务数。
t[]:输入数组,长度为n,其中每个元素表示任务的运行时间,下标从0开始。
s[][]:二维数组,长度为m*n,下标从0开始,其中元素s[i][j]表示机器i运行的任务j的 编号。
d[]:数组,长度为m其中元素d[i]表示机器i的运行时间,下标从0开始。
count[]:数组,长度为m,下标从0开始,其中元素count[i]表示机器i运行的任务数。
i :循环变量。
j :循环变量。
k :临时变量。
max :完成所有任务的时间。
min :临时变量。
11 函数 schedule
void schedule12{
int i,j,k max=0;
for(i=0;i Vm;i++){
d[i]=0;
for(j=0;j Vn;j++){
s[i][j]=0;
}
}
for(i=0;i Vm;i++){ //分配前 m 个任务
s[i][0]=i;
count[i]=1;
}
for( ;i Vn;i++){ //分配后 n-m 个任务
int min=d[0];
k=0;
for(j=1;j Vn;j++){ //确定空闲机器
if(rain >d[j]){
min=d[j];
k=j; //机器k空闲
}
}
count[k]=count[k]+1;
d[k]=d[k]+t[i];
for(i=0;i Vm;i++){ //确定完成所有任务所需要的时间
if( ) {
max=d[i];
}
}
}
}
10、 根据说明和C代码,填充C代码中的空。
11、 根据说明和C代码,该问题采用了 算法设计策略,时间复杂度为 (用O符号表
示)
12、 考虑实例m=3(编号0〜2) , n=7(编号0〜6),各任务的运行时间为{16,14,6,5,4,3,2}。
则在机器0、1和2上运行的任务分别为 、 和 (给出任务编号)。从任务开始
运行到完成所需要的时间为 。
试题五
13、现要求实现一个能够自动生成求职简历的程序,简历的基本内容包括求职者的姓名、性别、年 龄及工作经历。希望每份简历中的工作经历有所不同,并尽量减少程序中的重复代码。
现采用原型模式(Prototype)来实现上述要求,得到如图1所示的类图。
KesiLviie
Wcrkl-^^rientc
1..?
矣图
[C++代码]
# include Vstring>
Using namespace std;
Class Clonealole{
Public:
Class WorkExperience:public Cloneable{ // 经历
Private:
String workDate;
String company;
Public:
Cloneable*Clone(){
Obj->workDate=this->workDate;
Obj->company=this->company;
Return obj;
}
//其余代码省略
};
Class Resume:public Cloneable{ // 简历
Private:
String nam