阅读以下说明和Java代码,回答问题
[说明]
对多个元素的聚合进行遍历访问时,需要依次推移元素,例如对数组通过递增下标的方式,数组下标功能抽象化、一般化的结果就称为迭代器(Iterator)。模式以下程序模拟将书籍(Book)放到书架(BookShelf)上并依次输出书名。这样就要涉及到遍历整个书架的过程。使用迭代器Iterator实现。图6-1显示了各个类间的关系。以下是JAVA语言实现,能够正确编译通过。
[图6-1]
[Java代码]
//Iterator. java文件
public interface Iterator {
public abstract boolean hasNext();
public abstract Object next();
}
//Aggregate. java文件
public interface Aggregate {
public abstract Iterator iterator();
}
//Book. java
public class Book {
//省略具体方法和属性
}
//BookshelfIterator. java文件
public class Bookshelf工terator (1) Iterator{
private BookShelf bookShelf;
private int index;
public BookshelfIterator(BookShelf bookShelf) {
this. bookShelf = bookShelf;
this. index = 0;
}
public boolean hasNext(){//判断是否还有下一个元素
if(index < bookShelf. getLength()){
return true;
}else{
return false;
}
}
public Object next()f//取得下一个元素
Book book = bookShelf. getBookAt(index);
index++;
return book;
}
}
//BookShelf. java
import java. util. Vector;
public class BookShelf {
private Vector books;
public BookShelf(int initialsize){
this. books = new Vector(initialsize);
}
public Book getBookAt(int index){
return(Book)books.get(index);
}
public int getLength(){
return books.size();
}
public Iterator iterator(){
return new BookShelfIterator((2) );
}
}
//Main. java文件
public class Main {
public static void main(String args){
BookShelf bookShelf = new BookShelf(4);
//将书籍上架,省略代码
Iterator it = bookShelf. (3) ;
while((4) ){//遍历书架,输出书名
Book book = (Book)it. (5) ;
System.out.printin(" "+book.getName());
}
}
}
第1题
阅读以下说明和C++码,将应填入(n)处的字名写在对应栏内。
从下列的3道试题(试题五至试题七)中任选1道解答。
如果解答的试题数超过1道,则题号小的1道解答有效。
[说明] 编写程序,把从键盘上输入的一批整数(以-1作为终止输入的标志)保存到文本文件“a: xxk1. dat”中。
(1)
include <fstream. h >
include < stdlib. h >
void main ( ) {
(2)
if ( ! four) {
cerr < <“文件没有找开!” < <end1;
exit (1);
}
int x;
cin > >x;
while((3)){
(4)
cin> >x;
}
(5)
}
第2题
阅读以下说明,回答问题,将解答填入答题纸对应的解答栏内。
[说明] 现由下两种游戏,游戏A是掷一个硬币两次,如果两次都是正面,玩家给你10元,每出现一次反面,你给玩家2元。游戏B仍然是你掷一个硬币两次,但是你玩一次付2元,如果两次都是正面,他付给你10元。
画出该问题的风险决策树,你会选择玩哪个游戏?
第3题
使用ORDB的查询语言,分别写出下列查询的SELECT语句;
1)检索每个学生的学习课程和成绩。
2)检索至少有一门课程的求学地与籍贯在同一城市的学生的学号和姓名。
第4题
阅读以下说明和图,回答问题1和问题2,将答案写在对应栏内。
【说明】
某教学管理系统的用户是教学管理人员、教师和学生。系统主要提供学生选课管理和学生成绩管理两方面的功能。
(1)学生选修课管理
主要功能是管理新学期开始时,学生对选修的课程进行选课注册工作。新学期开始后的前两周为学生试听、选课注册时间;允许校内各院系学生跨专业跨年级选修课程;学生可以在校园网的任何一个终端进行选课。
①新学期选修课程表生成:各学院教学管理人员在新学期开始前,将准备开设的选修课程名称、课程代码、总课时、上课时间、学分、任课教师和上课教室录入系统,供学生选课使用。新学期开学两周后,系统自动将实际选课学生少于10人的课程停开,并删除该课程;教学管理人员打印学生选课注册名单和开课通知书,送交有关部门和任课教师。
②学生选课注册:新学期开学前两周为学生试听、选课注册时间,并允许改变或取消注册申请。学生调用待选课程表,系统显示课程名、课程代码、任课教师、上课时间、总课时、上课教室、学分和本课程己选修人数。学生所选几门课程在上课时间上不能冲突:若一门课程实际选课学生已达到40人时,停止选课。当学生退出系统时,系统提示该学生所选的几门课程、任课教师、上课时间、教室、学分和学分总计。
③选修课程查询:选修课程表信息查询,用户是教师、学生和教学管理人员。系统显示课程名、课程代码、任课教师、上课时间、总课时、上课教室、学分和本课程已选修人数。查询关键词可为学院名称、专业、授课教师等。
学生选课情况查询:教师和教学管理人员可以查看学生的选课情况。查询关键词可以为学生姓名(学号)、课程名称(课程代码)、授课教师等。学生只能查自己所选课程内容,不允许查其他同学选课情况。
教师简历查询:用户是学生、教师和教学管理人员。查询关键词可为教师姓名、性别、职称、年龄等单关键词或组合关键词。
④信息统计与报表生成:各学院教学管理人员对学生选课注册信息进行统计(按课程、专业等),打印汇总报表。
⑤把学生选课注册信息传送到财务管理系统,计算学生应交纳的费用。
(2)学生成绩管理
①学生考试成绩录入:各学院教学管理人员将学生考试成绩录入系统。录入学生成绩时,系统自动检查财务系统传来的选课交费信息,核对该学生是否已经交纳本门课程的费用,没有交纳费用者,不给成绩。
②成绩查询;教师和教学管理人员可查询学生各门课程的成绩。查询关键词可为学生姓名(学号),课程名(课程代码)等。学生只能查自己各门课程的成绩,不允许查其他同学成绩。
③成绩汇总与报表生成:教学管理人员对学生考试成绩信息进行统计(按学生、课程、专业等),打印汇总报表。向学校教务管理系统发送汇总信息表格等,不反馈信息。
完成下面的教学管理系统最高层用例图。
第6题
阅读以下说明,回答问题1~4,将解答填入对应的解答栏内。
[说明] 现有如下关系模式:R(A,B,C,DE),其中,A,B为组合键,R上存在的函数依赖有(A ,B) →E,B→C,C→D
该关系模式满足2NF吗?为什么?
第8题
由和规则)。请按表7-18写出工作流对象及对应的起始点、终止点和该工作流中的所有角色。
第9题
阅读以下关于工作流系统模型建立和性能分析的叙述,根据要求回答问题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)
第10题
阅读以下说明和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( ) ;
}
}
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!