2006年上半年 程序员 上午试卷
(考试时间 9:00~11:30 共150分)
欢迎访问软件考试网(www.hbsoft.net)
l 在Word的编辑状态,若选择了表格中的一行,执行了表格菜单中的“删除列”命令,则(1);若要对当前正在编辑的文件加“打开权限密码”,则应该选择(2),然后按相关提示操作即可。欢迎访问软件考试网(www.hbsoft.net)
(1)A、整个表格被删除 B、表格中一行被删除
C、表格中一列被删除 D、表格中没有被删除的内容
(2)A、“编辑”菜单的“选项” B、“插入”菜单的“文件”
C、“文件”菜单的“页面设置” D、“工具”菜单的“选项”
l (3)是Excel工作簿的最小组成单位。若用户需要对某个Excel工作表的A1:G1的区域快速填充星期一、星期二、……、星期日,可以采用的方法是在A1单元格填入“星期一”并(4)拖动填充柄至G1单元格。
(3)A、工作表 B、行 C、列 D、单元格
(4)A、向垂直方向 B、向水平方向
C、按住Ctrl键向垂直方向 D、按住Ctrl键向水平方向
l Outlook Express 是一个(5)处理程序。欢迎访问软件考试网(www.hbsoft.net)
(5)A、文字 B、表格 C、电子邮件 D、幻灯片
l 与外存储器相比,内部存储器的特点是(6)。
(6) A.容量大、速度快、成本低欢迎访问软件考试网(www.hbsoft.net)
B.容量大、速度慢、成本高
C.容量小、速度快、成本高
D.容量小、速度慢、成本低
l 存取速度最快的是(7)。欢迎访问软件考试网(www.hbsoft.net)
(7) A、CPU内部寄存器
B、计算机的高速缓存Cache
C、计算机的主存
D、大容量磁盘
l 堆栈最常用于(8)。欢迎访问软件考试网(www.hbsoft.net)
(8) A、实现数据循环移位
B、实现程序转移
C、保护被中断程序的现场
D、数据的输入输出缓冲存储器
l 在下面对USB接口特点的描述中,(9)是USB接口的特点。欢迎访问软件考试网(www.hbsoft.net)
(9) A、支持即插即用
B、不支持即插即用
C、提供电源容量为12V*1000mA
D、由六条信号线组成,其中两面条用于传送数据,两条传送控制信号,另外两条传送电源
l 某种部件使用在10000台计算机中,运行工作1000小时后,其中20台计算机的这种部件失效,则该部件千小时可靠度R为(10)。欢迎访问软件考试网(www.hbsoft.net)
(10)A、0.990 B、0.992 C、0.996 D、0.998
l 对于一个具有容错能力的系统,(11)是错误的。
(11)A、通过硬件冗余不设计系统,可以提高容错能力。
B、在出现一般性故障时,具有容错能力的系统可以继续运行
C、容错能力强的系统具有更高的可靠性
D、容错是指允许系统运行时出现错误的处理结果
l (12)不是图像输入设备。欢迎访问软件考试网(www.hbsoft.net)
(12)A、彩色摄像机
B、游戏操作杆 C、彩色扫描仪 D、数码照相机
l Flash 动画中使用(13)作为基本的图形存储形式。欢迎访问软件考试网(www.hbsoft.net)
(13)A、矢量图
B、灰度图
C、伪彩色图 D、真彩色图
l 在获取与处理音频信号的过程中,正确的处理顺序是(14)。
(14)A、采样、量化、编码、存储、解码、D/A变换
B、量化、采样、编码、存储、解码、A/D变换
C、编码、采样、量化、存储、解码、A/D变换
D、采样、编码、存储、解码、量化、D/A变换
l 为增强访问网页的安全性,可以采用(15)协议;为证明数据发送者的身份与数据的真实性需使用(16)。欢迎访问软件考试网(www.hbsoft.net)
(15)A、Telnet B、POP3 C、HTTPS D、DNS
(16)A、散列算法 B、时间戳 C、数字信封 D、加密算法
l ISO9000:2000标准是(17)系列标准。
(17)A、产品生产和产品管理 B、技术管理和生产管理
C、质量管理和质量保证
D、产品评估和质量保证
l 著作权法中,计算机软件著作权保护的对象是(18)。欢迎访问软件考试网(www.hbsoft.net)
(18)A、硬件设备驱动程序 B、计算机程序及其开发文档
C、操作系统软件 D、源程序代码
l 若[X]补=CCH,机器字长为8位,则[X/2]补(19)。欢迎访问软件考试网(www.hbsoft.net)
(19)A、34H B、66H C、98H
D、E6H
l 存储一个24*24点阵的汉字(每个点占用1bit),需用(20)个字节。
(20)A、24 B、48
C、72
D、144
l 无符号二进制数11001000所表示的十进制数为(21)。
(21)A、104 B、148 C、172
D、200
l 在关中断的状态下,不能响应(22)。欢迎访问软件考试网(www.hbsoft.net)
(22)A、软件中断 B、CPU内部产生的中断
C、非屏蔽中断
D、可屏蔽中断
l 在Windows 文件中,(23)是不合法的文件名,一个完整的文件名由(24)组成。
(23)A、MY temp—books B、Waves.bmp*.arj
C、Blue Rivets.bmp.rar D、JAUTOEXP.Pro 7.0
(24)A、路径、文件名、文件属性
B、驱动器号、文件名和文件的属性
C、驱动器号、路径、文件名和文件的扩展名
D、文件名、文件的属性和文件的扩展名
l 在操作系统的进程管理中,若某资源的信号量S的初值为2,当前值为 –1,则表示系统中有(25)个正在等待该资源的进程。欢迎访问软件考试网(www.hbsoft.net)
(25)A、0
B、
l 已知有n个进程共享一个互斥段,如果最多允许m个进程(m<n)同时进入互斥段,则信号量的变化范围是(26)。
(26)A、-m~1
B、-m~
l UNIX操作系统的shell 不能完成(27)的功能。欢迎访问软件考试网(www.hbsoft.net)
(27)A、解释并执行来自终端的命令 B、解释并执行shell 脚本
C、解释并执行来自外存的命令 D、执行系统功能调用
l 编译器是指将(28)的程序。欢迎访问软件考试网(www.hbsoft.net)
(28)A、汇编代码翻译成机器代码
B、高级语言程序翻译成机器语言目标代码
C、SQL翻译成汇编语言
D、C语言翻译成Java语言
l 以下关于程序语言的叙述,正确的是(29)。欢迎访问软件考试网(www.hbsoft.net)
(29)A、Java语言不能用于编写实时控制程序
B、Lisp语言只能用于开发专家系统
C、编译程序可以用汇编语言编写
D、XML主要用于编写操作系统内核
l C程序代码“while((c=getchar()!=’a’) putchar(c);”中存在(30)错误。
(30)A、调用
B、语法 C、逻辑
D、运行
l 函数f()、g()的定义如下图所示,调用函数f 时传递给形参x 的值为5,若采用传值(call by value)的方式调用g(a),则函数f 的返回值为(31);若采用传引用(call by reference)的方式调用 g(a),则函数f 的返回值为(32)。
F(int x) g(int y)
int a=2*x—1; g(a); return a+x; |
int x; x=y—1;y=x+y; return; |
(31)A、14 B、
(32)A、15 B、
l 可视化编程是指(33)。欢迎访问软件考试网(www.hbsoft.net)
(33)A、在开发阶段就可看到应用系统的运行界面
B、无顺编写程序代码就可完成应用系统的开发
C、在开发阶段可跟踪程序代码的执行全过程
D、在运行阶段可跟踪程序代码的执行过程
l 面向对象程序设计语言中提供的继承机制可将类组织成一个(34)结构,以支持重用性和可扩充性. 欢迎访问软件考试网(www.hbsoft.net)
(34)A、栈
B、星形 C、层次
D、总线
l 在以下情形中,(35)适合于采用队列数据结构。欢迎访问软件考试网(www.hbsoft.net)
(35)A、监视一个火车票售票窗口等待服务的客户 B、描述一个组织中的管理机构
C、统计一个商场中的顾客数
D、监视进入某住宅楼的访客
l 元素3、1、2依次全部进入一个栈后,陆续执行出栈操作,得到的出栈序列为(36)。
(36)A、3、2、1 B、3、1、2 C、1、2、3 D、2、1、3
l 一棵二叉树如下图所示,若采用顺序存储结构,即用一维数组元素存储该二叉树中的结点(根结点的下标为1,若某结点的下标为i ,则其在孩子位于下标2i处、右孩子位于下标2i+1处),则该数组的大小至小为(37);若采用二叉树链表存储该二叉树(各个结点包括结点的数据、左孩子指针、右孩子指针),则该链表中空指针的数目为(38)。
(37)A、6 B、
(38)A、6 B、
l 以下各图用树结构描述了7个元素之间的逻辑关系,其中(39)造合采用二分法查找元素。欢迎访问软件考试网(www.hbsoft.net)
(39)A、 1
B、
2 3 3 2 2 6 5 1
4 5 6 7 5 7 4 6 1 3 5 7
6 7 2 3
l 对于二维数组a[0…4,1…5],设每元素占1个存储单元,且以行为主序存储,则元素a[2,1]相对于数组空间起始地址的偏移量是(40)。
(40)A、5
B、10 C、15 D、25
l 对象之间通过消息机制实现相互作用和通信,(41)不是消息的组成部分。
(41)A、接受消息的对象 B、待执行的函数的名字
C、待执行的函数的内部结构 D、待执行的函数需要的参数
l 类的构结函数被自动调用执行的情况发生在定义该类的(42)时。
(42)A、成员函数 B、数据成员 C、对象 D、友元函数
l (43)不是面向对象程序设计的主要特证。欢迎访问软件考试网(www.hbsoft.net)
(43)A、封装 B、多态
C、继承 D、结构
l 所有在函数中定义类的变量都称为(44)。欢迎访问软件考试网(www.hbsoft.net)
(44)A、全局变量 B、局部变量 C、简单变量 D、寄存器变量
l 不支持自定义类的程序设计语言是(45)语言。欢迎访问软件考试网(www.hbsoft.net)
(45)A、C
B、C#
C、C++
D、Java
下列关于面向对象程序设计的叙述,正确的是(46)。欢迎访问软件考试网(www.hbsoft.net)
(46)A、对象是类的模板 B、“封装”就是生产成类库的标准
C、一个类至少有一个实例
D、一个类可以继承其父类的属性和方法
l 在信息系统开发过程中,系统规范描述了(47)。欢迎访问软件考试网(www.hbsoft.net)
(47)A、每一个系统功能的实现方案 B、系统的功能和行为
C、系统中使用的算法和数据结构 D、系统仿真需要的时间
l 关于数据流图中加工的命名规则,正确的是(48)。欢迎访问软件考试网(www.hbsoft.net)
(48)A、加工的名字要说明对数据进行的处理和算法
B、加工的名字在说明被加工的数据以及产生的结果
C、加工的名字既在说明被加工的数据,又要说明对数据库的处理
D、加工的名字应该与输出结果一致
l 按照ISO/IEC 9126软件质量模型的规定,软件的适应性是指(49)。
(49)A、软件运行于不同环境中的故障
B、软件运行于不同环境中的安全等级
C、将一个系统耦合到另一个系统所需的工作量
D、软件运行于不同环境中的能力
l 数据流图的作用是(50)。欢迎访问软件考试网(www.hbsoft.net)
(50)A、描述数据对象之间的关系 B、描述对数据的处理流程
C、说明将要出现的逻辑叛定 D、指明系统对外部事件的反应
l
结构化分析方法(SA)的主要思想是(51)。
(51)A、自顶向下、逐步分解 B、自顶向下、逐步抽象
C、自低向上、逐步抽象
D、自低向上、逐步分解
l 进行软件测试的目的是(52)。欢迎访问软件考试网(www.hbsoft.net)
(52)A、尽可能多地找出软件中的缺陷 B、缩短软件的开发时间
C、减少软件的维护成本 D、证明程序没有缺陷
l 选择一个适当的测试用例,用以测试下图的程序,能达到判定覆盖的是(53)。
(53)
A、A B B、 A B
False |
True |
False |
False |
True |
False |
C、A B D、A B
False |
Ture |
Ture |
False |
Ture |
Ture |
False |
False |
Ture |
Ture |
l 数据模型的三要素包括(54)。欢迎访问软件考试网(www.hbsoft.net)
(54)A、外模式、模式、内模式 B、网状模型、层次模型、关系模型
C、实体、联系、属性
D、数据结构、数据操作、完整性约束
l 在SQL语言中,删除基本表的命令是(55),修改表中数据的命令是(56)。
(55)A、DESTROY TALE B、REMOVE TABLE
C、DELETE TABLE D、DROP TABLE
(56)A、REVOKE B、CHANGE C、UPDATE D、MODIFY
l 设有关系R、S、T如下图所示,其中T是(57)运算的结果。
关系R 关系S 关系T
A |
B |
C |
|
||
a |
b |
i |
|
||
d |
a |
f |
|
||
d |
a |
p |
|
||
c |
b |
d |
|
||
A |
B |
C |
|||
a |
b |
c |
|||
d |
a |
f |
|||
c |
b |
d |
|||
a |
b |
p |
|||
d |
a |
m |
|||
A |
B |
C |
a |
b |
i |
d |
a |
p |
若某企业的数据库系统中有如下所示的员工关系和仓库关系,每个仓库可有多名员工,但只有一名负责人。欢迎访问软件考试网(www.hbsoft.net)
员工关系(employee)
员工编号(empiyeeID) |
员工姓名(name) |
部 门(department) |
职务(position) |
001 |
李蕾 |
仓储部 |
组长 |
002 |
张明 |
仓储部 |
组长 |
003 |
何苗 |
仓储部 |
保管员 |
仓库关系(warehouse)
仓库编号(warehouse) |
仓库名称(name) |
地址(address) |
负责人编号(pricipalID) |
01 |
仓库A |
地址A |
001 |
02 |
仓库B |
地址B |
002 |
03 |
仓库C |
地址C |
003 |
则创建仓库表结构的SQL语言为(58)。欢迎访问软件考试网(www.hbsoft.net)
(58)A、CREATE TABLE(employeeID CHAR(2)NOT NULL UNIQUE,)
name CHAR(30)NOT NULL,
address CHAR(40),
pricipalID CHAR(3));
B、CREATE warehouse(warehouseID CHAR(2) PRIMARY KEY,
name CHAR(30),
address CHAR(40),
pricipalID CHAR(3));
C、CREATE TABLE warehouse(warehouseID CHAR(2) PRIMARY KEY,
name CHAR(30) NOT NULL,
address CHAR(40),
pricipalID CHAR(3),
FOREIGN KEY(pricipalID)REFERENCES employee(emplyeeID));
D、CREATE TABLE warehouse(warehouseID CHAR(2),
name CHAR(30) NOT NULL,
address CHAR(40),
pricipalID CHAR(3),
PRIMARY KEY(warehouseID),
FOREIGN KEY(emplyoyeeID) REFERENCES employee(employeeID))
l 若n表示问题的规模、O(f(n))表示算法的时间复杂度随n变化的增长趋势,则算法时间复杂度最小的是(59)。欢迎访问软件考试网(www.hbsoft.net)
(59)A、O(n2) B、O(n) C、O(log n) D、O(n og n)
从5本不同的书中任意取出两本,结果有(60)。欢迎访问软件考试网(www.hbsoft.net)
(60)A、10
B、
l 在Windows 2000操作系统的客户端可以通过(61)命令查看DHCP服务器分配给本机的IP地址。欢迎访问软件考试网(www.hbsoft.net)
(61)A、config B、ifconfig C、ipconfig D、route
l 在Windows操作系统中可以通过安装(62)组件创建FTP站点。
(62)A、IIS
B、IE
C、WWW D、DNS
l 甲方的乙方采用公钥密码体制对数据文件进行加密传送,甲方用乙方的公钥加密数据文件,乙方使用(63)来对数据进行解密。
(63)A、甲的公钥
B、甲的私钥 C、乙的公钥 D、乙的私钥
l 当网络出现连接故障时,一般应首先检查(64)。欢迎访问软件考试网(www.hbsoft.net)
(64)A、系统病毒
B、路由配置 C、物理连通性 D、主机故障
l 某工作站无法访问域名为http://www.test.com/的服务器,此时使用ping 命令时按照该服务器的IP地址进行测试,发现响应正常。但是按照服务器域名进行测试,发现超时。此时可能出现的问题是(65)。欢迎访问软件考试网(www.hbsoft.net)
(65)A、线路故障 B、路由故障 C、域名解析故障 D、服务器网卡故障
l (66)is a device that converts images to digital format.
(66) A、Copier B、Printer C、Scanner D、Display
l In C language,a (67) is a series of characters enclosed in double quotes.
(67) A、matrix B、string C、program D、stream
l (68) are fhose programs that help find the information you are trying to locate on the WWW.
(68) A、Windows B、Search
Engines C、Web Sites D、Web Pages
l In C language, (69) are used to create variables and are grouped at the top of a program block. 欢迎访问软件考试网(www.hbsoft.net)
(69) A、declarations B、dimensions C、comments D、descriptions
l An (70) statement can perform a calculation and store the result in a variable so that it can be used later. 欢迎访问软件考试网(www.hbsoft.net)
(70) A、executable B、input
C、output
D、assignment
l Each prigram module is compiled separately and the resulting (71) files are linked together can be used later. 欢迎访问软件考试网(www.hbsoft.net)
(71) A、assembler B、source C、library D、object
l (72) is the conscious effort to mske all jobs similar, routine, and interchangeable.
(72) A、WWW
B、Informatization C、Computerization
D、Standardization
l A Web (73) is one of many software applications that function as the interface between a user and the Internet. 欢迎访问软件考试网(www.hbsoft.net)
(73) A、display B、browser C、window D、view
l Firewall is a (74) mechanism used by organizations to protect theit LANs from the Internet.
(74) A、reliable B、stable C、peaceful D、security
l A query is used to search through the database to locate a particular record or records, which conform to specified (75) .
(75)A、criteria B、standards C、methods D、conditions
2006年上半年 程序员
下午试卷
试题一(共15分)欢迎访问软件考试网(www.hbsoft.net)
阅读以下说明和流程图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】欢迎访问软件考试网(www.hbsoft.net)
信息处理过程中经常需要将图片或汉字点阵做旋转处理。一个矩阵以顺时针方向旋转90度后可以形成另一个矩阵,如下图所示:
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
M |
I |
E |
A |
N |
J |
F |
B |
O |
K |
G |
C |
P |
L |
H |
D |
流程图1-1 描述了对n*n矩阵的某种处理。流程图1-2是将矩阵A顺时针旋转90度形成矩阵B的具体算法。欢迎访问软件考试网(www.hbsoft.net)
【流程图1-1】 【流程图1-2】
【问题1】(3分)请写出以下3*3单位矩阵沿顺时针方向旋转90度后所形成的矩阵。
【问题2】(3分)如果以下3*3矩阵沿顺时针方向旋转90度后所形成的矩阵就是原来的矩阵:
其中,位于*处的元素需要老考生填写
请完整地写出该矩阵。
【问题3】(9分)在上述流程图1-1和1-2的算法中,
(1) 矩阵A 第 i行第j 列的元素A(i , j)被复复制到矩阵B中的哪个位置?
(2) A(i ,J)后来又被复制到矩阵C中的哪个位置?
(3) 填补流程图1-2中的空缺。
试题二(共15分)欢迎访问软件考试网(www.hbsoft.net)
阅读以下说明和C语言函数,将应填入 (n) 处的字句写在答题纸的对应栏内。
【说明】欢迎访问软件考试网(www.hbsoft.net)
函数change (int num) 的功能是对四位以内(含四位)的十进制正整数 num 进行如下的变换:将 num 的每一位数字重复一次,并返回变换结果。例如,若 num=5234,则函数的返回值为55223344,其变换过程可描述为:
(4*10+4)* 1 + (3*10+3) * 100 + (2*10+2) * 10000 + (5*10+5) * 1000000 = 55223344
【C语言函数】欢迎访问软件考试网(www.hbsoft.net)
long change (int num)
{
int d, m = num ;
long result , mul ;
if (num <= 0 | | ( 1 ) ) / * 若num不大于0或num的位数大于4,则返回 –1 * /
return –1;
mul = 1;
( 2 );
while (m>0) {
d = m % 10 ;
m =( 3 );
result = result + ( 4 ) * mul ;
}
return result ;
}
试题三(共15分)欢迎访问软件考试网(www.hbsoft.net) 阅读以下说明和C语言函数,将应填入(n) 处的字句写在答题纸的对应栏内。
【说明】
函数 bool Del _ elem (STACK * s , char para _ ch ) 的功能是:删除栈*s中与para _ ch
之值相等且最接近栈顶的元素(字符),若栈中不存在该元素,则函数返回FALSL,否则返回TRUE。其中,STACK是栈的类型名。
函数 Del _ elem 实现上述功能的方法是:利用栈的基本操作,先将栈*s 中所有比para _ ch之值更接近栈顶的元素暂时存放在临时工作栈s_ bak 中,使得与para_ ch之值相等的元素成为栈顶元素,此时执行出栈操作,即从栈中删除与para _ ch之值相等的元素,最后再将s _ bak中的元素依次存回栈*s。
在函数Del _ elem中必须使用栈的基本操作进行栈上的运算,实现栈的基本操作的函数原型说明如下:
void InitStack(STACK * S ):初始化栈。
void Push( STACK * S ,char e ):将一个字符压栈,栈中元素数目增1。
void Pop( STACK * S ):栈顶元素出栈,栈中元素数目减1。
char Top( STACK S ):返回非空栈的栈顶元素值,栈中元素数目不变。
bool IsEmpty( STACK S):若S是空栈,则返回TRUE;否则返回FALSE。
bool类型定义如下:
typedef enum {FALSE = 0,TRUE = 1} bool ;
【C语言函数】欢迎访问软件考试网(www.hbsoft.net)
bool Del _ elem ( STACK * s ,char para _ ch )
{
STACK s _ bsk ; / *定义临时工作栈s _ bak * /
char ch ;
bool tag = FALSE;
( 1 ) ; / *初始化临时工作栈s _ bsk * /
/ * 将栈*s中所有比para _ ch更接近栈顶的元素暂时存放在临时工作栈s_ bak中 * /
while ( ! IsEmpty (*s ) ) {
ch = ( 2 ); / * 取栈顶元素 * /
Pop ( s ) ;
if (ch = para _ ch ) {
tag = TRUE ;
break ;
}
( 3 ) ;
}
/ * 将暂存于临时工作栈s _ bak中的元素存回栈* s * /
while ( 4 ) {
ch = Top ( s _ bak ) ;
( 5 ) ;
Push ( s, ch ) ;
}
return tag
}
从下列的2道试题(试题四至试题五)中任选1道解答。如果解答的试题数超过1道,则题号小的1道解答有效。
试题四(共15分)欢迎访问软件考试网(www.hbsoft.net)
90阅读以下说明和C语言函数,将应填入(n) 处的字句写在答题纸的对应栏内。
【说明】
某工厂A负责为某大型企业B加工零件,A每天必须为B提供一定数量的零件。由于某种客观原因,A每天生产的零件的单价都不相同。若A某天生产的零件数多于B需要的数目,则多余的零件可以放到第二天及以后再使用,但需要收取每个零件的保管费(产品单价之外附加的费用),每个零件在不同日期收取的保管费也不相同。
例如,在5天的生产中,B要求的零件需求量及A核算出的零件单价和保管费用如表1所示:
表1
|
第一天 |
第二天 |
第三天 |
第四天 |
第五天 |
需求量(个) |
25 |
15 |
30 |
35 |
30 |
零件的单价(元) |
20 |
30 |
32 |
25 |
35 |
单个零件的保管费用(元) |
4.5 |
8.0 |
6.8 |
5.5 |
6.1 |
A可以制订多种生产计划,但费用可能不同。例如,表2所示为生产计划及其费用。
表2
|
计划产量(个) |
总费用(元 ) |
||||
第一天 |
第二天 |
第三天 |
第四天 |
第五天 |
||
计划1 |
25 |
15 |
30 |
35 |
30 |
3835 |
计划2 |
40 |
0 |
30 |
50 |
15 |
3685 |
计划3 |
70 |
0 |
0 |
65 |
0 |
3632.5 |
计划4 |
35 |
10 |
20 |
40 |
35 |
/ |
注:(1)计划1的总费用:25 0 + 15 * 30 + 30 * 2 + 35 * 25 + 30 * 35 = 3835(元)
(2)计划2的总费用:40*20+15* 4.5 + 30 * 32 + 50 * 25 + 15 * 5.5 + 15 * 35 = 3685(元)
(3)计划3的总费用:70*20+45*4.5+30*8+65*25+30*5.5=3632.5(元)
(4)计划4不可行,虽然第一天和第二天生产的零件总数比需求量多5个,但加上第三天生产的20个零件(共25个),仍不能满足B第三天的需求量(30个)。
函数 find _ a _ plan( FILE * in )的功能是:从文件中读入若干个生产计划,从可行的计划中选出费用最小者,记录该生产计划并返回该最小费用。
全局结构体数组data [ ]用于保存表1所示的数据(data [0]不用),说明如下:
data [i].Qty _ req : int型,表示第i天的零件需求量。
data [i].Price : dorble型,表示第i天生产的零件单价(元)
data [i].Keeping _ fee : double型,表示第i天保管单个零件的费用(元)
【C语言函数】欢迎访问软件考试网(www.hbsoft.net)
int B _ s [DAYS+1 ]; / * 记录成本最小的生产计划,B _s [0 ]不用,DAYS定义为天数* /
double find _a _ plan(FILE * inf )
{ int P_ num [DAYS+1], acc _ req [SAYS+1];
int i, tag = 0, acc _ qty = 0;
double mincost = 1.0e20, cost _ Produce, cost _ Keep;
for (i = i ; i <= DAYS; i++ ) { / * 到第i天时的累计零件需求量存入 acc _ req [i ] */
acc _ qty += data [i]. Qty _req ;
acc _ req [i] = acc _ qry ;
}
while ( ! feof (inf ) ) {
for (i =1 ; i<= DAYS ; i ++ ) /*读入一个生产计划,第i天的产量存入P _ num [i]*/
if ( ! feof (inf ) )
fscanf (inf ,”%d” , &P _ num [ i] ;
tag = 0 ; cost _ Produce = 0 ; cost _ Keep = 0 ;
for (i = 1 , ( 1 ) ; i <= DAYS ; i++ ) { /* 考察当前的生产计划*/
acc _ qty += P _ num [i] ; / * acc _ qty 计划到第i天时的累计零件生产量 * /
if (acc _ qty < acc _ req [i] ) { / * 当前生产计划不能满足需求 * /
tag = 1 ; break ;
} / * if * /
cost _ Produce += ( 2 ) ; /*计算当前生成计划的总零件价格*/
/*计算当前生成计划下的零件保管费 * /
cost _ Keep += ( 3 ) * data [i] . Keeping _ fee ;
} /* for */
if ( 4 ) / * 若当前生产计划不可行,则继续读取下一计划 */
continue
if ( 5 ) { /*记录成本更小的生产计划*/
mincost = cost _ Produce + cost _ Keep ;
for (i =1 ; i <= DAYS ; i ++ )
B _ s [i] = P _ num [i] ;
} /* if */
} /*while */
return mincost
}
试题五(共15分)欢迎访问软件考试网(www.hbsoft.net)
阅读以下应用说明以及用Visual Basic开发过程中所编写的程序代码,将应填入(n)处的字句写在答题纸的对应栏内。
【应用说明】欢迎访问软件考试网(www.hbsoft.net)
某应用程序在运行过程中的一个界面如下图所示:
在“供选课程”列表框(名为List1)中选择某个课程后,再单击“>”按钮(名称为cmdSelect),就能将该课程复制到“所选课程”列表框(名称为List2)中(但要注意不要出现重复项);如果单击“>>”按钮(名称为cmdSelAll),就能将全部供选课程名复制到列表框List2中(注意应先删除List2中的已选项);如果在“所选课程”列表框中选中某个课程,再单击“<”按钮(名称为cmdDelete),就会从List2中删除该课程(未选课程时应不做处理);如果单击“<<”按钮(名称为cmdDelAll),就会从List2中删除所有已选课程。
【Visual Basic程序代码】欢迎访问软件考试网(www.hbsoft.net)
Private Sub CmdSelect _ Click ( )
For i = 0 To List2. ListCount --- 1
If List1. Text = List2. List (i ) Then Exit Sub ‘不要重复选择
Next i
List2. AddItem ( 1 ) ‘在List2中增添List1中所选的项
End Sub
Private Sub CmdSelAll _ Click ( )
List2.Clear ‘先删除List2中的已有项
For i = 0 To ( 2 ) ‘对List1中所有各项做循环处理
List2.AddItem ( 3 ) ‘将该项增添到List2中
Next i
End Sub
Private Sub CmdDelete _ Click ( )
If List2.ListIndex >= 0 Then ‘如果List2中有选中的项
List2. RemoveItem ( 4 ) ‘则删除所选的项
End If
End Sub
Private Sub CmdDelAll _ Click ( )
( 5 )
End Sub欢迎访问软件考试网(www.hbsoft.net)
从下列的3道试题(试题六至试题八)中任选1道解答。如果解答的试题数超过1道,则题号小的1道解答有效。
试题六(共15)
阅读以下说明和C++代码,将解答写在答题纸的对应栏内。
【说明】欢迎访问软件考试网(www.hbsoft.net)
已知类SubClass的getSum方法返回其父类成员与类SubClass成员j的和,类SuperClass中的getSum为纯虚拟函数。程序中的第23行有错误,请修改该错误并给出修改后的完整结果,然后完善程序中的空缺,分析程序运行到第15行且尚未执行第15行的语句时成员变量j的值,最后给出程序运行后的输出结果。欢迎访问软件考试网(www.hbsoft.net)
【C++代码】
行号 |
代码 |
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# include <iostream > using namespace std ; class SuperClass{ private : int i ; public : SuperClass( ) {i = 5; } Virtual int getValue ( ) {return i ; } Virtual int getSum ( ) = 0 ; } ; class SubClass : public SuperClass { int j ; public : SubClass (int j ) :j (0) { ( 1 ) = j ; // 用参数j的值更新数据成员 } int getValue ( ) {return j ; } int getSun ( ) { return ( 2 ) getValue ( ) + j ; } } ; void main (void ) { SuperClass s = new SubClass (-3 ) ; cout << s --> getValue ( ) << “ ” ; cout << s--> getSum ( ) << endl ; delete s ; } |
试题七(共15分)欢迎访问软件考试网(www.hbsoft.net)
阅读以下应用说明以及用Visual Basic开发过程中进行的属性设置和所编写的程序代码,将应填入(n)处的字句写在答题纸的对应栏内。
【应用说明】
启动某应用程序后,其运行窗口左边会出现两只蝴蝶,下边有“启动”和“停止”两个按钮。单击“启动”按钮后,伴随“两只蝴蝶”音乐,两只蝴蝶会分别沿两条互绞的曲线,自左至右翩翩飞行(见下图),而且飞出窗口右边后又会再从窗口左边飞入。单击“停止”按钮时,两只蝴蝶停止飞行,回到初始状态,音乐也同时停止。再单击“启动”按钮时,蝴蝶重新开始伴音飞行。
在开发该应用时,两只蝴蝶用两个图像文件表示,分别命名为Image1和Imsage2,其Picture属性分别设置为各个蝴蝶的图像文件名, 其stretch属性都应设置为(1) ,便图像能自动改变大小以适应图像框。再在窗体中建立“启动”按钮(名为CmdStart)和“停止”按钮(名为CmdStop )。
蝴蝶所飞行的路线分别用正弦和余弦曲线描述。为此,首先需要用Scal方法对窗体定义坐标系统。设左上角坐标为(0,0),右下角坐标为(20,6)。蝴蝶1的飞行曲线设为:y1=2+sin x , 蝴蝶2的飞行曲线设为:y2=2+cos x 。蝴蝶飞行的位置坐标(x , y )确定了蝴蝶图像框的位置(Left属性值的Top属性值)。
设置一个定时器(名为timer1),其定时时间间隔为0.1秒,所以其Interva1属性值应设置为100。每隔0.1秒需要对两个图像框的位置进行一次调整。初始时,设定时器的Enabled属性应设为False(关闭状态)。
为使该应用程序运行时能播放声音文件,在开发时应利用菜单“工程—部件”,选择加载组件“Microsoft
Multimedia Control
【Visual Basic程序代码】欢迎访问软件考试网(www.hbsoft.net)
Dim ( 2 ) ‘声明全局变量
Private Sub Form _ Load ( )
Scale (0, 0 ) – (20,6 )
End Sub
Private Sub CmdStart _ Click ( )
X = 0
MMC.DeviceType = “WaveAudio” ‘设置多媒体设备类型
MMC.FileName = “两只蝴蝶.wav” ‘确定声音文件名
MMC.Command = “Open” ‘打开多媒体设备
MMC.Command = “Play” ‘启动声音的播放
Timer1.Enabled = True ‘打开定时器
End Sub
Private Sub Timerl _ Timer ( )
If x > 20 Then x =x –20 ‘蝴蝶飞到右边界后再回到左边界
Image1.Left = x ‘动态调整蝴蝶框的位置
Image1.Top = ( 3 )
Image2.Left = x
Image2.Top = ( 4 )
x = x +0.1 ‘确定蝴蝶下一步飞行的位置
End Sub
Private Sub CmdStop _ Click ( )
( 5 )
Image1.Left = 0 ‘蝴蝶位置初始化
Image1.Top = 2
Image2.Left = 0
Image2.Top = 3
MMC.Command = “Stop” ‘停止播放
MMC.Command = “Close” ‘关闭多媒体设备
End Sub
试题八(共15分)欢迎访问软件考试网(www.hbsoft.net)
阅读以下说明和Java代码,将解答写在答题纸的对应栏内。
【说明】
已知类SubClass的getSum方法返回其父类成员i与类SubClass成员j的和,类SubClass100
中的getSum为抽象函数,程序中的第14行有错误,请修改该错误并给出修改后的完整结果,然后完善程序中的空缺,当程序运行到第22行且尚未执行第22行语句时成员变量i的值,最后给出程序运行后的输出结果。
【Java代码】欢迎访问软件考试网(www.hbsoft.net)
行号 |
代码 |
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
public class MsinJava { public static void main (String [ ] args ) { SuperClass s = new SubClass ( ) ; System.out.println (s.getValue ( ) ) ; System.out.println (s.getSum ( ) ) ; } } abstract class SuperClass { private int i ; public SuperClass ( ) {i = 5 } public int getValue ( ) { return i; } public final abstract int getSum ( ) ; } class SubClass extends SuperClass { int j ; public SubClass ( ) { this (-3 ) ; } public SubClass (int j ) { ( 1 ). j = j ; } public int getValue ( ) {return j ; } public int getSum ( ) { return ( 2 ). getValue ( ) + j ; } } |