阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。
【说明】
某公司的用品采购流程如下所述。
(1)由营业部门提出需求用品清单。
(2)将需求用品清单交采购部门建立采购采买单据。
(3)采购部门建立采购采买单据后,交财务部门,向财务部申请款项,预支定金。
(4)财务部建立应付帐款单据后,核支款项。
(5)采购部门再收到款项后,进行采买。
(6)采买完成,执行:
①发票核剩余款项交财务部,即由财务部门处理。
②用品点交营业部门发放,即由营业部门处理。
(7)进行财务结算处理,执行:
①采购部门:采购单据结案。
②财务部门:帐款冲销结案。
【问题】
完成下面的UML活动图对象流分析,1~11为活动,设计此采购活动的流程。
第1题
阅读下列说明和流程图,回答问题1至问题3。
【说明】
某考务处理系统具有以下功能:
(1)输入报名单;
(2)自动编制准考证号;
(3)输出准考证;
(4)输入成绩清单;
(5)输出成绩通知单;
(6)输出成绩分布表;
(7)输入合格标准、输出录取通知单;
(8)试题难度分析,并输出试题难度分析表。
这里给出了实现上述要求的部分不完整的数据流图,其中部分数据流的组成如下所示。
报名单=报名号+姓名+通信地址
考生名册=报名号+准考证号+姓名+通信地址
成绩册=准考证号+(课程号+成绩)(其中{W}表示W重复多次)
准考证=报名号+姓名+准考证号
【问题1】
指出0层图中可以删去的部分。
【问题2】
在加工1子图中将遗漏的数据流添加在答题纸上。
【问题3】
加工2子图分解成如图所示的4个子加工及相关的文件(即数据存储)。试在此基础上将相关的DFD成份添加在答题纸上,以完成该加工子图。
第4题
阅读下列说明和图,回答问题1至问题2,
[说明]
移动电话是传统固定式电话的延伸,通过无线电网络可以与千里之外的朋友沟通而不受电话线的束缚。现在的移动电话功能更全面,除了作为电话使用外,还可以发送短信,可以管理电话簿,可以下载铃声、图案。
手机由键盘、显示屏以及移动通信设备组成,移动通信设备负责发送和接收信号,与基站进行连线。打电话的流程如下:
(1) 用户拨电话号码,每按下一个数字键显示屏上显示相应数字;
(2) 按OK键进行连线,显示屏上显示“连线中…”,请求连接基站,基站通过移动电话网络连接到对方手机,若有误则返回相关信息;
(3) 接通后,显示屏显示“连线成功”;
(4) 打电话结束后,按Cancel送出断线信号,通知移动电话基站断线,基站切断连接,显示屏显示“断线成功”。
该系统采用面向对象方法开发,系统中的类以及类之间的关系用UML类图表示,图3-1是该系统的用例图,图3-2是该系统的类图,图3-3描述了打电话(包括断开)的序列图。
[图3-1]
[图3-2]
[图3-3]
根据题意,用题中及类图中提供的术语指出图3-1中的参与者A及用例B、C各是什么。
第5题
查询内科病区患胃病的病人的姓名。 A.σName="内科"∨SC="胃病"(π2(R))
B.σName="内科"∧SC="胃病"(π2(R))
C.π2(σName="内科"∨SC="胃病"(R))
D.π2(σName="内科"∧SC="胃病"(R))
第6题
阅读下列说明和数据流图,回答问题1至问题3,
[说明]
考务处理系统具有如下功能:
(1)对考生送来的报名单进行检查。
(2)对合格的报名单编好准考证号后将准考证送给考生,并将汇总后的考生名单送给阅卷。
(3)对阅卷站送来的成绩清单进行检查,并根据制订的合格标准审定合格者。
(4)制作考生通知单送给考生。
(5) 进行成绩分类统计(按地区、年龄、文化程度、职业、考试级别等分类)和试题难度分析,产生统计分析表。
以下是经分析得到的数据流图及部分数据字典,有些地方有待填充,假定顶层数据流图是正确的。图1-1是顶层数据流图,图1-2是第0层数据流图,图1-3是第l层数据流图,其中(A)是加工1的子图,(B)是加工2的子图。
[图1-1]
[图1-2]
[图1-3]
[数据字典]
报名单=地区+序号+姓名+性别+年龄+文化程度+职业+考试级别+通信地址
正式报名单=报名单+准考证号
准考证=地区+序号+姓名+准考证号+考试级别
考生名单={准考证号+考试级别}
统计分析表=分类统计表+难度分析表
考生通知单=考试级别+准考证号+姓名+合格标志+通信地址
根据题意,指出0层数据流图(图1-2)中缺失的数据流的名称,并指出该数据流的起点和终点。
第7题
阅读下列程序说明和C++代码,将应填入(n)处的字句写在对应栏内。
[说明]
①定义私有数据成员code、english分别用于表示考生的编号、英语成绩,它们都是int型的数据。
②完成成员函数void Student::inputinformation()的定义,该函数用于用户输入一个考生对象的信息,输入格式如下:
输入编号:
英语成绩:
计算机成绩:
③利用已实现的类Student的成员函数,完成函数void firstname(Student *A[],int uum)的定义,该函数根据考生信息A[],输出num个考生中总分最高者的编号及其相应的总分,在此不考虑总分相同的情况。
源程序文件test1.cpp清单如下:
include < iostream. h >
class Student
(1)
int computer;
int total;
public
void getinformation( );
void computesum( );
int getcode( );
int gettotalscore( );
~Student( );
};
void Student: :getinformation( )
{
(2)
cout <<"英语成绩:";
cin> >english;
cout <<"计算机成绩:";
cin > > computer;
void Student:: computesum ( )
total = english + computer;
cout <<"编号" << code <<"总分:" <<total << endl;
int Student::getcode( )
return code;
}
int Student:: gettotalscore ( )
{
return total;
}
void firstname(Student * A[] ,int num)
{
(3)
tempsum = ( * A[0] ). gettotalscore( );
for( int i=1; i <num; i++)
{
if ( ( ( * A[i] ). gettotalscore( ) ) > tempsum)
{
tempcode = ( * A[i] ). getcode( );
tempsum = ( * A[i] ). gettotalscore( );
}
}
cout <<"总分最高者--" << tempcode <<":" << tempsum <<endl;
}
void main( )
{
Student * A[3];
int i,n =3
for(i=0;i<n;i ++)
A[i] = new Student;
A[i] -> getinformation( )
for(i=0;i<n;i ++)
{
A[i] -> computesum( )
firstname ( A,3 );
}
第8题
阅读下列函数说明和C代码,将应填入(n)处的字句写上。
[说明]
若要在N个城市之间建立通信网络,只需要N-1条线路即可。如何以最低的经济代价建设这个网络,是一个网的最小生成树的问题。现要在8个城市间建立通信网络,其问拓扑结构如图5-1所示,边表示城市间通信线路,边上标示的是建立该线路的代价。
[图5-1]
无向图用邻接矩阵存储,元素的值为对应的权值。考虑到邻接矩阵是对称的且对角线上元素均为0,故压缩存储,只存储上三角元素(不包括对角线)。
现用Prim算法生成网络的最小生成树。由网络G=(V,E)构造最小生成树T=(U,TE)的Prim算法的基本思想是:首先从集合V中任取一顶点放入集合U中,然后把所有一个顶点在集合U里、另一个顶点在集合V-U里的边中,找出权值最小的边(u,v),将边加入TE,并将顶点v加入集合U,重复上述操作直到U=V为止。
函数中使用的预定义符号如下:
define MAX 32768 /*无穷大权,表示顶点间不连通*/
define MAXVEX 30 /*图中顶点数目的最大值*/
typedef struct{
int startVex,stopVex; /*边的起点和终点*/
float weight; /*边的权*/
}Edge;
typedef struct{
char vexs[MAXVEX]; /*顶点信息*/
float arcs[MAXVEX*(MAXVEX-1)/2]; /*邻接矩阵信息,压缩存储*/
int n; /*图的顶点个数*/
}Graph;
[函数]
void PrimMST(Graph*pGraph, Edge mst[])
{
int i,j,k,min,vx,vy;
float weight,minWeight;
Edge edge;
for(i=0; i<pGraph->n-1;i++){
mst[i].StartVex=0;
mst[i].StopVex=i+1;
mst[i].weight=pGraph->arcs[i];
}
for(i=0;i<(1);i++){/*共n-1条边*/
minWeight=(float)MAX;
min=i;
/*从所有边(vx,vy)中选出最短的边*/
for(j=i; j<pGraph->n-1; j++){
if(mst[j].weight<minWeight){
minWeight=(2);
min=j;
}
}
/*mst[minl是最短的边(vx,vy),将mst[min]加入最小生成树*/
edge=mst[min];
mst[min]=mst[i];
mst[i]=edge;
vx=(3);/*vx为刚加入最小生成树的顶点下标*/
/*调整mst[i+1]到mst[n-1]*/
for(j=i+1;j<pGraph->n-1;j++){
vy=mst[j].StopVex;
if( (4) ){/*计算(vx,vy)对应的边在压缩矩阵中的下标*/
k=pGraph->n*vy-vy*(vy+1)/2+vx-vy-1;
}else{
k=pGraph->n*vx-vx*(vx+1)/2+vy-vx-1;
}
weight(5);
if(weight<mst[j].weight){
mst[j].weight=weight;
mst[j].StartVex=vx;
}
}
}
}
(1)
第10题
阅读下列说明和图,回答问题1至问题3,将解答填入对应栏内。
[说明]
某汽车数字仪表系统将完成下述功能:
(1)通过模一数转换,实现传感器和微处理器的接口。
(2)在发光二极管面板上显示数据。
(3)指示速度(mph)、行驶里程、油耗(mpg)等。
(4)指示加速或减速。
以下是经分析得到的数据流图,有些地方有待填充,假定顶层数据流图是正确的。图1-1是顶层数据流图,图1-2是第0层数据流图,图1-3是第1层数据流图,其中A是加工1的细化图,B是加工2的细化图。图中,△sps表示转速sps的瞬时变化值,若△sps>0则汽车加速,△sps<0则减速,△sps=0则匀速。假定题中提供的顶层图是正确的,请回答下列问题。
[图1-1]
[图1-2]
[图1-3]
第0层数据流图(图1-2)中有一条缺失的数据流,请指出该数据流的起点和终点。
加工1的细化图(图1-3中的A)中有一条缺失的数据流,请指出该数据流的起点和终点。
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!