高级程序员下午试题.docx

上传人:b****5 文档编号:3787833 上传时间:2022-11-25 格式:DOCX 页数:13 大小:156.04KB
下载 相关 举报
高级程序员下午试题.docx_第1页
第1页 / 共13页
高级程序员下午试题.docx_第2页
第2页 / 共13页
高级程序员下午试题.docx_第3页
第3页 / 共13页
高级程序员下午试题.docx_第4页
第4页 / 共13页
高级程序员下午试题.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

高级程序员下午试题.docx

《高级程序员下午试题.docx》由会员分享,可在线阅读,更多相关《高级程序员下午试题.docx(13页珍藏版)》请在冰豆网上搜索。

高级程序员下午试题.docx

高级程序员下午试题

年高级程序员下午试题

试题一

阅读下列算法说明和流程图,回答问题至问题,将解答填入答题纸的对应栏内。

[算法说明]

某旅馆共有间客房。

每间客房的房间号、房间等级、床位数以及占用状态分别存放在数组、、和中。

房间等级值为、或。

房间的状态值为(空闲)或(占用)。

客房是以房间(不是床位)为单位出租的。

本算法根据几个散客的要求预订一间空房。

程序的输入为:

人数,房间等级要求(表示任意等级都可以)。

程序的输出为;所有可供选择的房间号。

流程图描述了该算法。

[问题]

假设当前该旅馆各个房间的情况如下表:

序号

当输入,时,该算法的输出是什么?

[问题]

如果等级为的房间每人每天的住宿费为(),为数组。

为使该算法在输出每个候选的房间号()后,再输出这批散客每天所需的总住宿费(),流程图的β所指框中的最后处应增加什么处理?

[问题]

如果限制该算法最多输出个可供选择的房间号,则在流程图的α所指的判断框应改成什么处理?

试题二

阅读下列说明,回答问题至问题,将解答填入答题纸的对应栏内。

[说明]

甲公司的经营销售业务目前是手工处理的,随着业务量的增长,准备采用关系数据库对销售信息进行管理。

经销业务的手工处理主要涉及三种表:

订单、客户表和产品表。

订单

客户代码:

订单号:

客户名:

订货日期:

订货序号

产品代码

产品名称

数量

单价

小计

总金额:

客户表

客户代码

客户名

地址

电话

产品表

产品代码

产品

名称

单价

为了用计算机管理销售信息,甲公司提出应达到以下要求:

产品的单价发生变化时,应及时修改产品表中的单价数据。

客户购货计价采用订货时的单价。

订货后,即使单价发生变化,计算用的单价也不变。

在设计数据库时,经销部的王先生建立了以下数据模型:

其中,方框表示实体,单向箭头表示对多的联系,双向箭头表示多对多的联系。

由于上述模型对建立关系数据库是不合适的,因此王先生又修改了数据模型,并设计了如下几个关系(带下划线的数据项是关键项,最后一个关系中没有指出关键项):

(,,,)

(,,)

(,,)

(,,)

[问题]

请按[说明]中的要求画出修改后的数据模型。

[问题]

()[说明]中的几个关系仍无法实现甲公司的要求,为什么?

()需要在哪个关系中增加什么数据项才能实现这个要求?

[问题]

写出中的关键项。

[问题]

以下语句用于查询没有订购产品代码为“”的产品的所有客户名。

请填补其中的空缺。

()

()

(*,

.''

.)

试题三

阅读下列说明和有关的图,回答问题至问题,将解答填入答题纸的对应栏内。

[说明]

某制造企业的物料出入库管理的工作流程分别叙述如下:

.出库工作流程

①领料人提交领料单(每一种物料有一张领料单);

②仓库保管员根据领料计划单检验该领料单是否有效;

⑨若经检验没有相应的领料计划,则通知领料人该领料单无效;

④若领料单有效,仓库保管员根据领料单上的物料代码核对是否有足够的库存;

⑤若没有足够的库存,仓库保管员向领料人发缺货单;

⑥若有足够的库存,仓库保管员在领料单上签字,并登记出库单,修改物料主文件中的现有库存数;相应的物料出库,物料清单交领料人。

.入库工作流程

①采购员提交入库申请单(每一种物料有一张入库申请单);

②仓库保管员根据采购计划单验收入库申请单;

⑧若验收发现没有相应的采购计划,则仓库保管员向采购员发无效申请单:

④若验收合格,则仓库保管员向检验员申请物料检验;检验员根据检验结果填写物料检验单。

⑤如果物料或供货方不合格,则向采购员发出退货单;

⑥如果检验合格,则仓库保管员登记入库单,修改物料主文件中的现有库存数,相应的物料入库。

为便于及时了解库存情况、核查出入库情况,该企业决定将上述人工流程由计算机来实现。

在设计该系统时,采用了两种方法:

结构化方法和面向对象方法。

图给出了物料出入库系统的数据流图,图中的数据流并没有画全,需要考生填

补。

图给出了采用面向对象方法所认定出的类。

[问题]

图中缺少了那些数据流?

请指明每条数据流的名称、起点和终点。

[问题]

给出“领料单”和“入库申请单”这两个类至少应具有的属性。

[问题]

为建立功能完善的库存管理系统,除了查询、统计、报表输出功能外,还应具有哪些对提高企业效益至关重要的功能?

[问题]

用面向对象方法设计的类中,有一些类的对象是需要持久存储的,这样的类一般需

要映射到关系数据库模式中。

请指出图中哪些类需要做这样的映射。

试题四

在型计算机上可以使用试卷上所附的汇编语言,阅读程序说明和程序,把应填入()处的字句写在答卷的对应栏内。

[程序说明]

本程序统计出考试成绩在分以上(含分)、分到分、低于分的学生人数,并将统计结果存放在以为首地址的连续三个内存单元中。

学生的成绩数据连续存放在以为首地址的内存空间中,以数据作为结束标志。

[程序]

;……

;此处的数据未完全列出

;……

()

,,

,,

()

()

,,

()

()

,,

,,

试题五

阅读以下预备知识、函数说明和代码,将应填入()处的字句写在答题纸

的对应栏内。

[预备知识]

①对给定的字符集合及相应的权值,采用哈夫曼算法构造最优二叉树,并用结构数组存储最优二叉树。

例如,给定字符集合<,,,}及其权值、、、,可构造如下所示的最优二叉树和相应的结构数组(数组元素[]不用)。

结构数组的类型定义如下:

{

;*扫当前结点表示的字符,对于非叶子结点,此域不用*

;*当前结点的权值*

;*当前结点的父结点的下标,为时表示无父结点*

,;

*当前结点的左、右孩子结点的下标,为时表示无对应的孩子结点*

)[*];

②用''或''标识最优二叉树中分支的规则是:

从一个结点进入其左(右)孩子结点,就用''('')标识该分支(示例见上图)。

③若用上述规则标识最优二叉树的每条分支后,从根结点开始到叶子结点为止,按经过分支的次序,将相应标识依次排列,可得到由‘’、‘’组成的一个序列,称此序列为该叶子结点的前缀编码。

例如上图所示的叶子结点、、、的前缀编码分别是、、、。

[函数说明]

函数(,)的功能是:

采用非递归方法,遍历最优二叉树的全部叶子结点,为所有的叶子结点构造前缀编码。

其中形参为最优二叉树的根结点下标;形参为叶子结点个数。

在构造过程中,将[]域用作被遍历结点的遍历状态标志。

[函数]

**;

(,)

{*为最优二叉树中的个叶子结点构造前缀编码,是树的根结点下标*

,,;[];

(**)(()*(*));*申请字符指针数组*

(;<;)

[];*遍历最优二叉树时用作被遍历结点的状态标志*

(){*以非递归方法遍历最优二叉树,求树中每个叶子结点的编码*

([]){/*向左*/

[];

([]){[];[]'';}

([]){*若是叶子结点,则保存其前缀编码*

[](*)(()*());

();([],);

}

}

([]){/*向右*/

[];

([]){[];[]'';}

}

{*[],回退*

[];

();();/*退回父结点*/

}

}/*结束*/

}

[函数说明]

函数(*,)的功能是:

将前缀编码序列翻译成叶子结点的字符序列,并输出。

其中形参为最优二叉树的根结点下标;形参指向前缀编码序列。

[函数.]

(*,)

{,;

(*'\'){

;

(){*存在下标为的结点*

(())[];*进入左子树*

[]:

/*进入右子树*/

;/*指向前缀编码序列的下一个字符*/

}

();

("%",[]);

}

}

试题六

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

[说明]

本题将有向网(带权有向图)定义为类。

类中的数据成员表示有向网中的顶点数;为带权邻接矩阵,用于存储有向网中每一对顶点间弧上的权值;为二维数组,存储有向网中每一对顶点间的最短路径长度;为二维数组,存储最短路径,[][]表示顶点到达顶点的最短路径必须经过顶点.类中的主要成员函数有:

():

输入有向网的顶点数、各条弧及权值,建立带权邻接矩阵。

若顶点到顶点有弧,则[][]取弧上的权值,否则[][]的值取。

():

用弗洛伊德()算法求有向网中每一对顶点间的最短路径长度。

(,):

计算顶点到顶点的最短路径。

(,):

输出顶点到顶点的最短路径上的顶点。

算法的基本思想是递推地产生一个矩阵序列,其中是已知的带权邻接矩阵,(,)(≤,<)表示从顶点到顶点的中间顶点序号不大于的最短路径长度。

如果到的路径没有中间顶点,则对于≤<,有(,)(,)[][]。

递推地产生,…的过程就是逐步将可能是最短路径上的顶点作为路径上的中间顶点进行试探,直到为全部路径都找遍了所有可能成为最短路径上的中间顶点,所有的最短路径也就全部求出,算法就此结束。

[代码]

<>

//当两个顶点之间没有边相连时,在邻接矩阵中用表示

(**,,);

{

;//有向网中的顶点数目

**;//存储顶点间弧上的权值

**;//存储计算出的最短路径长度

**;//存储求出的最短路径

(){;}

();

();//输入有向网的顶点数、各条弧及权值,建立邻接矩阵

();//计算顶点到的最短路径(试卷中未列出)

)();//析构函数(试卷中未列出)

(,);

};

()

{,,,,,;

(;<;)

(;<;)

{[][]();[][];}

(;<;)

(;<;){

();

[][];

(;<;){

();

[][];[][];

((<))

{[][]();[][]();}

}

}

}

(,)

{输出顶点到的最短路径上的顶点

();

([][])<<<<’’;

{(());(());}

}

()

{,,,,,;

<<"输入网中顶点个数:

";>>;

<<"输入网中弧的个数:

";>>;

(,,);

(<;)

(;<;)[][];

(;<;)[][];

(,,);

(,,);

(;<;){

<<"输入弧的信息(起点终点权值):

";>>>>>>;[][];

}

}

(**,,)

{,;

*[];

(;<;)[][];

(;<;)

(<;)[][];

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1