写出实现语句:查询以花瓶(pot)形式发货的所有鲜花的ID,普通名以及花瓶的规格。得到结果表按普通名的字母逆序打印。
第1题
阅读以下说明,回答问题1~4,将解答填入对应的解答栏内。
[说明] 现有如下关系模式:R(A,B,C,DE),其中,A,B为组合键,R上存在的函数依赖有(A ,B) →E,B→C,C→D
该关系模式满足2NF吗?为什么?
第3题
由和规则)。请按表7-18写出工作流对象及对应的起始点、终止点和该工作流中的所有角色。
第4题
阅读以下关于工作流系统模型建立和性能分析的叙述,根据要求回答问题1~问题4。
[说明]
某软件开发公司向客户交付系统产品后,由技术支持部门负责向客户提供技术服务。该技术支持部门的业务流程如下:
①当该技术支持部门接到一个客户问询电话时,由客户服务代表(CSR)接听该电话。客户服务代表根据客户问询内容产生一份服务请求文件,并开始解决客户提出的问题;
②若客户服务代表解决了客户提出的问题,这份服务请求文件被标记为“已解决”;
③如果客户服务代表在2个小时内未能解决这个问题,客户服务代表将服务请求文件转交给技术支持代表(TSR)处理;
④如果技术支持代表也无法解决这个问题,他/她将邀请助理工程师(ENGR)来一起处理这个问题;
⑤若助理工程师解决了这个问题,该服务请求文件被标记为“已解决”;
⑥若技术支持代表和助理工程师认为,是由于系统的错误引起的问题,则告知客户该问题目前无法解决;并把服务请求文件转交给本公司的工程部门处理;
⑦对已经解决的服务请求,每个月底进行一次归档(放入归档数据库)。
该软件公司正在创建一个相应的工作流管理系统,目前正处于过程定义阶段,即创建工作流模型阶段。对于这些工作流模型,除了要考虑工作流的正确性外,工作流的性能也是十分重要的。工作流性能主要反映工作流定量方面的特性,例如,任务的完成时间、单位时间内处理的任务数量、资源的利用率及在预定时间标准内完成任务的百分比等。
图7-14所示的是一个简单的工作流模型(其中单位时间为1小时),它表示这样一个执行过程:每小时将会有20个任务到达c1,这20个任务首先经过处理task1,再经过处理task2,最终将结果传递到c3。处理task1和处理task2相互独立。
假设性能评价模型符合M/M/1排队模型,在计算性能指标的过程中可以使用下列公式进行计算:
其中,ρ表示资源利用率,λ表示单位时间内到达的任务数,μ表示该资源单位时间内能够完成的任务数。
工作流(Workflow)是针对业务流程中具有固定程序的常规活动而提出的一个概念,通过将业务流程分解,定义良好的任务、角色、规则和过程来进行执行和监控,达到提高生产组织水平和工作效率的目的。以下关于工作流叙述中,错误的是(1)。 在UML中,用(2)表示企业业务的工作流。这种图显示出工作流中的步骤、决策点,以及完成每一步骤的角色和对象。
(1) A.引入工作流组织,能够在软件开发和业务两个层次受益 B.工作流管理系统在实际系统中的应用一般分为两个阶段,即模型建立阶段和模型执行阶段 C.工作流能有效地把人、信息和应用工具合理地组织在一起,发挥系统的最大效能 D.一个工作流包括一组活动及它们的相互顺序关系,还包括过程及活动的启动和终止条件,以及每个活动的描述
(2) A.交互图(interaction diagram)
B.业务图(business diagram)
C.用例图(use case diagram)
D.活动图(activity diagram)
第5题
阅读以下说明和JAVA 2代码,将应填入(n)处的字句写在对应栏内。
[说明]
以下程序为类类型的变量应用实例,通过异常处理检验了类CCircle的变量的合法性,即参数半径应为非负值。仔细阅读代码和相关注释,将程序补充完整。
[JAVA代码]
//定义自己的异常类
class CCircleException extends Exception
{
}
// 定义类 CCircle
class CCircle
{
private double radius;
public void setRadius ( double r ) (1)
{
if ( r<0 ) {
(2)
}
else
(3)
}
Public void show ( ) {
System. out. println ( "area="+3.14*radius*radius );
}
}
public class ciusample
{
public static void main ( String args[] )
{
CCircle cir=new CCircle( );
(4) {
cir. setRadius ( -2.0 )
}
(5)
{
System. out. println ( e+" throwed" ) ;
}
cir. show( ) ;
}
}
第6题
阅读下列函数说明、图和C代码,将应填入(n)处的字句写在对应栏内。
【说明】
假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,则实际的长整数m表示为:
m=a[k]×10k-2+a[k-1]×10k-3+…+a[3]×10+a[2]
其中a[1]保存该长整数的位数,a[0]保存该长整数的符号:0表示正数,1表示负数。
运算时先决定符号,再进行绝对值运算。对于绝对值相减情况,总是绝对值较大的减去绝对值较小的,以避免出现不够减的情况。注:不考虑溢出情况,即数组足够大。
【函数】
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,N,carry,flag;
flag=LA[0]+LB[0];
switch(flag){/*根据参与运算的两个数的符号进行不同的操作*/
case 0:
case 2:
LC[0]=LA[0];/*LA与LB同号,结果符号与LA(LB)相同*/
pA=LA;
pB=LB;
(1) ;
break;
case 1:/*LA与LB异号*/
/*比较两者的绝对值大小,结果符号与较大者相同*/
flag= (2) ;
if(flag>0){/*LA较大*/
LC[0]=LA[0];
pA=LA;
pB=LB;
}
else if(flag<0){/*LB较大*/
LC[0]=LB[0];
pA=LB;
pB=LA;
}
else{/*LA与LB相等*/
LC[0]=0;
LC[1]=0;
return 1;
}
flag=-1;
break;
default:
return 0;
break;
}/*switch*/
/*绝对值相加减*/
/*注意对于减法pA指向较大数,pB指向较小数,不可能出现不够减的情况*/
(3) ;
N=LA[1]>LB[1]?LA[1]:LB[1];
for(i=0;i<N;i++){
if(i>=pA[1]){/*LA计算完毕*/
carry+=flag *pB[i+2];
}
else if(i>=pB[1]){/*LB计算完毕*/
carry +=pA[i+2];
}
else{
carry +=pA[i+2]+flag *pB[i+2];
}
LC[i+2]=Carry%10;
carry /=10;
if( (4) ){/*需要借位,针对减法*/
LC[i+2]+=10;
carry--;
}
}/*for*/
if( (5) ){/*最高进位,针对加法*/
LC[i+2]=carry;
&n
第7题
阅读下列说明和数据流图,回答问题1至问题4,将解答填入答题纸的对应栏内。
[说明]
某基于微处理器的住宅安全系统,使用传感器(如红外探头、摄像头等)来检测各种意外情况,如非法进入、火警、水灾等。
房主可以在安装该系统时配置安全监控设备(如传感器、显示器、报警器等),也可以在系统运行时修改配置,通过录像机和电视机监控与系统连接的所有传感器,并通过控制面板上的键盘与系统进行信息交互。在安装过程中,系统给每个传感器赋予一个编号(即 id)和类型,并设置房主密码以启动和关闭系统,设置传感器事件发生时应自动拨出电话号码。当系统检测到一个传感器事件时,就激活警报,拨出预置的电话号码,并报告关于位置和检测到事件的性质等信息。
[数据流图4-1]
数据流图4-1(住宅安全系统顶层图)中的A和B分别是什么?
第8题
阅读下列Java程序和程序说明,将应填入(n)处的字句写在对应栏内。
【说明】StringEditor类的功能是:已知一个字符串,返回将字符串中的非字母字符都删除后的字符串。
public (1) {
public static String removeNonLetters( (2) ){
StringBuffer aBuffer=(3);
char aCharacter;
for(int i=0; i<original.length();i++){
aCharacter=(4);
if(Character.isLetter(aCharacter))
aBuffer.append( (5) );
}
return new String(aBuffer);
}
}
public class StringEditorTester{
public static void main(String args[]){
String riginal="Hi!, My Name is Mark, 234I think you are my classmate?!!";
System.out.println(StringEditor.removeNonLetters(original));
}
}
第9题
阅读下列函数说明和C代码及流程图,将应填入(n)处的字句写在对应栏内
[说明]
分糖果问题是一个经典问题。问题描述如下:幼儿国有n(<20)个孩子围成一圈分糖果,老师先随机地发给每个孩子若干颗糖果,然后按以下规则调整:每个孩子同时将自己手中的糖果分一半给坐在他右边的小朋友;如共有8个孩子,则第1个将原来的一半分给第2个,第2个将原有的一半分给第3个……第8个将原来的一半分给第1个,这样的平分动作同时进行;若平分前,某个孩子手中的糖果是奇数颗,则必须从老师那里要一颗,使他的糖果变成偶数。小孩人数和每个小孩的初始数由键盘输入。经过多少次调整,使每个孩子手中的糖果一样多,调整结束时每个孩子有糖果多少颗,在调整过程中老师又新增发了多少颗糖果。
[C程序]
include <stdlib.h>
include <stdio.h>
bool allequall (int child[], int n ) //判断各小孩子手中的糖果是否相等
{
for ( int i=0; i<n-1; i++)
if (child[i]!=child[i+1] )
return false; //不相等返回假
return true; //相等返回真
}
const int MaxNum=20; //定义最大人数
//主函数
void main ( )
{
int Num=0;
int *child;
int *child1;
//构造两个相应大小的数组child代表小朋友现有的粮果数child1代表小朋友原来有的糖果数
int Tnum=0;
int i=0;
do{
printf ( "Pelase input the number of the children: ").,
scanf ( "%d",&Num );
if ( Num>MaxNum )
printf ( "Error Number!!" );
} while ( Num>MaxNum );
child=new int [Nmn];
child1=new int [Num];
for ( i=0; i<Num; i++ ) //将数组赋值
{
printf ( "Input NO. %d child's candy numbers: ",i+1);
scanf ( "%d", &child[i] );
}
while ( (1) )
{
for (i=0; i<Num; i++ )
{
if( (2) )
{
(3)
Tnum++;
}
}
for ( i=0; i<Num; i++ )
child1[i]=child[i]; //将child1赋值用来记忆原来小朋友的粮果数
for ( i=0; i<Nam; i++ )
(4)
for (i=0; i<Num-1; i++)//用循环实现前一个小朋友粮果数加后一个小朋友粮果数的一半
{
child[i]/=2;
child[i]+=child 1 [i+1];
}
child[Num-1]/=2;
(5)
}
printf ( "每个同学最后分到糖果数目是%d\n", child[1]);
printf ( "老师分发出的糖果是%d\n", Tnum );
}
图12-7是一种解决问题的流程图,请根据该流程图将对应C代码(n)处补充完整。
第10题
阅读下列说明和Java代码,应填入(n)处。
【说明】
某游戏公司现欲开发一款面向儿童的模拟游戏,该游戏主要模拟现实世界中各种鸭子的发声特征、飞行特征和外观特征。游戏需要模拟的鸭子种类及其特征如表10-7所示:
为支持将来能够模拟更多种类鸭子的特征,采用策略设计模式(Strategy)设计的类图如图10-12所示:
其中,Duck为抽象类,描述了抽象的鸭子,而类RubberDuck、MallardDuck、 CottonDuck 和 RedHeadDuck分别描述具体的鸭子种类,方法fly()、quack()和display()分别表示不同种类的鸭子都具有飞行特征、发声特征和外观特征;接口FlyBehavior与 QuackBehavior分别用于表示抽象的飞行行为与发声行为;类FlyNoWay与FlyWithWings分别描述不能飞行的行为和用翅膀飞行的行为;类Quack、Squeak与QuackNoWay分别描述发出“嘎嘎”声的行为、发出橡皮与空气摩擦声的行为与不发声的行为。请填补以下代码中的空缺。
【Java代码】
(1) FlyBehavior{
public void fly();
};
(2) QuackBehavior{
public void quack();
};
class FlyWithWings implements FlyBehavior{
public void fly(){System.out.println(“使用翅膀飞行!”);}
};
class FlyNoWay implements FlyBehavior{
public void fly(){System.out.println(“不能飞行!”);}
};
class Quack implements QuackBehavior{
public void quack(){System.out.println(“发出\‘嘎嘎\’声!”); }
};
class Squeak implements QuackBehavior{
public void quack(){System.out.println(“发出空气与橡皮摩擦声 !”);
}
};
class QuackNoWay implements QuackBehavior{
public void quack(){System.out.println(“不能发声!”);}
};
abstract class Duck{
protected FlyBehavior (3);
protected QuackBehavior (4);
public void fly(){ (5); }
public void quack() { (6);};
public (7) void display();
};
class RubberDuck extends Duck{
public RubberDuck(){
flyBehavior=new (8);
quackBehavior=new (9);
}
public void display(){/*此处省略显示橡皮鸭的代码*/ }
};
//其他代码省略
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!