2006年上半年 程序员 上午试卷
(考试时间 9:00~11:30 共150分)
欢迎访问软件考试网
l 在Word的编辑状态,若选择了表格中的一行,执行了表格菜单中的“删除列”命令,则(1);若要对当前正在编辑的文件加“打开权限密码”,则应该选择(2),然后按相关提示操作即可。欢迎访问软件考试网
(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)处理程序。欢迎访问软件考试网
(5)A、文字 B、表格 C、电子邮件 D、幻灯片
l 与外存储器相比,内部存储器的特点是(6)。
(6) A.容量大、速度快、成本低欢迎访问软件考试网
B.容量大、速度慢、成本高
C.容量小、速度快、成本高
D.容量小、速度慢、成本低
l 存取速度最快的是(7)。欢迎访问软件考试网
(7) A、CPU内部寄存器
B、计算机的高速缓存Cache
C、计算机的主存
D、大容量磁盘
l 堆栈最常用于(8)。欢迎访问软件考试网
(8) A、实现数据循环移位
B、实现程序转移
C、保护被中断程序的现场
D、数据的输入输出缓冲存储器
l 在下面对USB接口特点的描述中,(9)是USB接口的特点。欢迎访问软件考试网
(9) A、支持即插即用
B、不支持即插即用
C、提供电源容量为12V*1000mA
D、由六条信号线组成,其中两面条用于传送数据,两条传送控制信号,另外两条传送电源
l 某种部件使用在10000台计算机中,运行工作1000小时后,其中20台计算机的这种部件失效,则该部件千小时可靠度R为(10)。欢迎访问软件考试网
(10)A、0.990 B、0.992 C、0.996 D、0.998
l 对于一个具有容错能力的系统,(11)是错误的。
(11)A、通过硬件冗余不设计系统,可以提高容错能力。
B、在出现一般性故障时,具有容错能力的系统可以继续运行
C、容错能力强的系统具有更高的可靠性
D、容错是指允许系统运行时出现错误的处理结果
l (12)不是图像输入设备。欢迎访问软件考试网
(12)A、彩色摄像机 B、游戏操作杆 C、彩色扫描仪 D、数码照相机
l Flash 动画中使用(13)作为基本的图形存储形式。欢迎访问软件考试网
(13)A、矢量图 B、灰度图 C、伪彩色图 D、真彩色图
l 在获取与处理音频信号的过程中,正确的处理顺序是(14)。
(14)A、采样、量化、编码、存储、解码、D/A变换
B、量化、采样、编码、存储、解码、A/D变换
C、编码、采样、量化、存储、解码、A/D变换
D、采样、编码、存储、解码、量化、D/A变换
l 为增强访问网页的安全性,可以采用(15)协议;为证明数据发送者的身份与数据的真实性需使用(16)。欢迎访问软件考试网
(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)。欢迎访问软件考试网
(18)A、硬件设备驱动程序 B、计算机程序及其开发文档
C、操作系统软件 D、源程序代码
l 若[X]补=CCH,机器字长为8位,则[X/2]补(19)。欢迎访问软件考试网
(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)。欢迎访问软件考试网
(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)个正在等待该资源的进程。欢迎访问软件考试网
(25)A、0 B、1 C、2 D、3
l 已知有n个进程共享一个互斥段,如果最多允许m个进程(m<n)同时进入互斥段,则信号量的变化范围是(26)。
(26)A、-m~1 B、-m~0 C、-(n--m)~m D、--(m--1)~n
l UNIX操作系统的shell 不能完成(27)的功能。欢迎访问软件考试网
(27)A、解释并执行来自终端的命令 B、解释并执行shell 脚本
C、解释并执行来自外存的命令 D、执行系统功能调用
l 编译器是指将(28)的程序。欢迎访问软件考试网
(28)A、汇编代码翻译成机器代码
B、高级语言程序翻译成机器语言目标代码
C、SQL翻译成汇编语言
D、C语言翻译成Java语言
l 以下关于程序语言的叙述,正确的是(29)。欢迎访问软件考试网
(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、16 C、17 D、22
(32)A、15 B、18 C、22 D、24
l 可视化编程是指(33)。欢迎访问软件考试网
(33)A、在开发阶段就可看到应用系统的运行界面
B、无顺编写程序代码就可完成应用系统的开发
C、在开发阶段可跟踪程序代码的执行全过程
D、在运行阶段可跟踪程序代码的执行过程
l 面向对象程序设计语言中提供的继承机制可将类组织成一个(34)结构,以支持重用性和可扩充性. 欢迎访问软件考试网
(34)A、栈 B、星形 C、层次 D、总线
l 在以下情形中,(35)适合于采用队列数据结构。欢迎访问软件考试网
(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、10 C、12 D、15
(38)A、6 B、7 C、12 D、14
l 以下各图用树结构描述了7个元素之间的逻辑关系,其中(39)造合采用二分法查找元素。欢迎访问软件考试网
(39)A、 1 B、 1 C、 4 D、 4
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)不是面向对象程序设计的主要特证。欢迎访问软件考试网
(43)A、封装 B、多态 C、继承 D、结构
l 所有在函数中定义类的变量都称为(44)。欢迎访问软件考试网
(44)A、全局变量 B、局部变量 C、简单变量 D、寄存器变量
l 不支持自定义类的程序设计语言是(45)语言。欢迎访问软件考试网
(45)A、C B、C# C、C++ D、Java
下列关于面向对象程序设计的叙述,正确的是(46)。欢迎访问软件考试网
(46)A、对象是类的模板 B、“封装”就是生产成类库的标准
C、一个类至少有一个实例 D、一个类可以继承其父类的属性和方法
l 在信息系统开发过程中,系统规范描述了(47)。欢迎访问软件考试网
(47)A、每一个系统功能的实现方案 B、系统的功能和行为
C、系统中使用的算法和数据结构 D、系统仿真需要的时间
l 关于数据流图中加工的命名规则,正确的是(48)。欢迎访问软件考试网
(48)A、加工的名字要说明对数据进行的处理和算法
B、加工的名字在说明被加工的数据以及产生的结果
C、加工的名字既在说明被加工的数据,又要说明对数据库的处理
D、加工的名字应该与输出结果一致
l 按照ISO/IEC 9126软件质量模型的规定,软件的适应性是指(49)。
(49)A、软件运行于不同环境中的故障
B、软件运行于不同环境中的安全等级
C、将一个系统耦合到另一个系统所需的工作量
D、软件运行于不同环境中的能力
l 数据流图的作用是(50)。欢迎访问软件考试网
(50)A、描述数据对象之间的关系 B、描述对数据的处理流程
C、说明将要出现的逻辑叛定 D、指明系统对外部事件的反应
l 结构化分析方法(SA)的主要思想是(51)。
(51)A、自顶向下、逐步分解 B、自顶向下、逐步抽象
C、自低向上、逐步抽象 D、自低向上、逐步分解
l 进行软件测试的目的是(52)。欢迎访问软件考试网
(52)A、尽可能多地找出软件中的缺陷 B、缩短软件的开发时间
C、减少软件的维护成本 D、证明程序没有缺陷
l 选择一个适当的测试用例,用以测试下图的程序,能达到判定覆盖的是(53)。
AORB
Instruction
Fais
True
(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)。欢迎访问软件考试网
(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
若某企业的数据库系统中有如下所示的员工关系和仓库关系,每个仓库可有多名员工,但只有一名负责人。欢迎访问软件考试网
员工关系(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)。欢迎访问软件考试网
(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)。欢迎访问软件考试网
(59)A、O(n2) B、O(n) C、O(log n) D、O(n og n)
从5本不同的书中任意取出两本,结果有(60)。欢迎访问软件考试网
(60)A、10 B、14 C、20 D、25
l 在Windows 2000操作系统的客户端可以通过(61)命令查看DHCP服务器分配给本机的IP地址。欢迎访问软件考试网
(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)。欢迎访问软件考试网
(64)A、系统病毒 B、路由配置 C、物理连通性 D、主机故障
l 某工作站无法访问域名为http://www.test.com/的服务器,此时使用ping 命令时按照该服务器的IP地址进行测试,发现响应正常。但是按照服务器域名进行测试,发现超时。此时可能出现的问题是(65)。欢迎访问软件考试网
(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. 欢迎访问软件考试网
(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. 欢迎访问软件考试网
(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. 欢迎访问软件考试网
(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. 欢迎访问软件考试网
(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分)欢迎访问软件考试网
阅读以下说明和流程图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】欢迎访问软件考试网
信息处理过程中经常需要将图片或汉字点阵做旋转处理。一个矩阵以顺时针方向旋转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的具体算法。欢迎访问软件考试网
循环开始i =1,n;j =1,n
B(i , j)=
循规结束
【流程图1-1】 【流程图1-2】
开始
矩阵A顺时针旋转90度形成矩阵B
矩阵B顺时针旋转90度形成矩阵C
结束
开始
1 0 0
0 1 0
0 0 1
【问题1】(3分)请写出以下3*3单位矩阵沿顺时针方向旋转90度后所形成的矩阵。
a b *
* c *
* * *
【问题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分)欢迎访问软件考试网
阅读以下说明和C语言函数,将应填入 (n) 处的字句写在答题纸的对应栏内。
【说明】欢迎访问软件考试网
函数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语言函数】欢迎访问软件考试网
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分)欢迎访问软件考试网 阅读以下说明和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语言函数】欢迎访问软件考试网
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分)欢迎访问软件考试网
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语言函数】欢迎访问软件考试网
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分)欢迎访问软件考试网
阅读以下应用说明以及用Visual Basic开发过程中所编写的程序代码,将应填入(n)处的字句写在答题纸的对应栏内。
【应用说明】欢迎访问软件考试网
某应用程序在运行过程中的一个界面如下图所示:
在“供选课程”列表框(名为List1)中选择某个课程后,再单击“>”按钮(名称为cmdSelect),就能将该课程复制到“所选课程”列表框(名称为List2)中(但要注意不要出现重复项);如果单击“>>”按钮(名称为cmdSelAll),就能将全部供选课程名复制到列表框List2中(注意应先删除List2中的已选项);如果在“所选课程”列表框中选中某个课程,再单击“<”按钮(名称为cmdDelete),就会从List2中删除该课程(未选课程时应不做处理);如果单击“<<”按钮(名称为cmdDelAll),就会从List2中删除所有已选课程。
【Visual Basic程序代码】欢迎访问软件考试网
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欢迎访问软件考试网
从下列的3道试题(试题六至试题八)中任选1道解答。如果解答的试题数超过1道,则题号小的1道解答有效。
试题六(共15)
阅读以下说明和C++代码,将解答写在答题纸的对应栏内。
【说明】欢迎访问软件考试网
已知类SubClass的getSum方法返回其父类成员与类SubClass成员j的和,类SuperClass中的getSum为纯虚拟函数。程序中的第23行有错误,请修改该错误并给出修改后的完整结果,然后完善程序中的空缺,分析程序运行到第15行且尚未执行第15行的语句时成员变量j的值,最后给出程序运行后的输出结果。欢迎访问软件考试网
【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分)欢迎访问软件考试网
阅读以下应用说明以及用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 6.0”,并在窗体中设置多媒体控件(设命名为MMC)。由于不需要用户控制,其Visible属性可设置为False(不可见)。右击该控件,可选择该控件中各按钮的属性,应注意选择“播放”有效、“停止”有效。“两只蝴蝶”的音乐文件应提前准备好,并通过某种音频处理程序将其转换成WAV格式,存放在开发应用的当前目录中。
【Visual Basic程序代码】欢迎访问软件考试网
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分)欢迎访问软件考试网
阅读以下说明和Java代码,将解答写在答题纸的对应栏内。
【说明】
已知类SubClass的getSum方法返回其父类成员i与类SubClass成员j的和,类SubClass100
中的getSum为抽象函数,程序中的第14行有错误,请修改该错误并给出修改后的完整结果,然后完善程序中的空缺,当程序运行到第22行且尚未执行第22行语句时成员变量i的值,最后给出程序运行后的输出结果。
【Java代码】欢迎访问软件考试网
行号
代码
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 ;
}
}