●试题四
阅读以下说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
从文件IN.DAT中读取一篇英文文章存入到字符串数组XX中;请编写程序,其功能是:以行为单位把字符串中所有小写字母o左边的字符串内容移到该串的右边存放,然后把小写字母o删除,余下的字符串内容移到已处理字符串的左边存放。最后把已处理的字符串仍按行重新存入字符串数组XX中,最后调用函数WRITEDAT(),把结果XX输出到文件OUT5.DAT中。
例如:原文:You can create an index on any field.
you have the correct record.
结果:n any field.Yu can create an index
rd.yu have the crrect rec
原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。
【函数】
#include "stdio.h"
#include "string.h"
#include "conio.h"
#include "ctype.h"
#include "mem.h"
unsigned char xx[50][80];
int maxline=0;
int readdat(void);
void writedat(void);
/*将题目要求的字符串中所有小写字母o左边的字符串内容移到该串的右边存放,即
将串中"最后"一个字母o左右两侧的内容互换*/
void StrOR(void)
{
inti;
char*p1,*p2,t[80];
for(i=0;i<maxline;i++)
{ t[0]=′/0′;
p2=xx[i];
while(*p2)/*找到最后一个′o′*/
{if((1) )p1=p2;
p2++;
}
strcat(t,p1+1);
*p1=′\\0′;
strcat(t,xx[i]);
p1=xx[i];
p2=t;
while(*p2)/*删去字符′o′*/
{if((2) ) (3) =*p2;
p2++;
}
(4) ;
}
}
void main()
{
clrscr();
if(readdat())
{printf("Can't open the file IN.DAT!\\n");
return;
}
StrOR();
writedat();
}
int readdat(void)
{
FILE*fp;
int i=0;
char*p;
if((fp=fopen("in.dat","r"))==NULL)
return 1;
while(fgets(xx[i],80,fp)!=NULL)
{p=strchr(xx[i],′\\n′);
if(p)
*p=0;
i++;
}
maxline= (5) ;
fclose(fp);
return 0;
}
void writedat(void)
{FILE*fp;
int i;
fp=fopen("in.dat","w");
for(i=0;i<maxline;i++)
{printf("%s\n",xx[i]);
fprintf(fp,"%s\n",xx[i]);
}
fclose(fp);
}
}
}
[问题1](2分) 在(1)中填写恰当内容(从候选答案中选择一个正确选项,将该选项编号填入答题纸对应栏内)。 监理在旁站过程中,发现交换机板卡上的LED指示灯为红色,现场实施工程师执行show module时,输出结果为other,此时可初步判断交换机(1)发生了故障。 (1)供选择的答案: A.板卡 B.背板 C.端口 D.配置 [问题2](3分) 从候选答案中选择3个正确选项(每选对一个得1分,选项超过3个该题得0分),将选项编号填入答题纸对应栏内。 判断交换机引擎模块(或称为管理模块)故障的主要措施,包括____。 候选答案: A.连接至该交换机的各个接入交换机之间彼此是否无法通信 B.使用show interface interface_id命令,判断交换机管理模块是否正常 C.直接连接至该交换机的服务器之间彼此是否无法通信 D.将SPF模块插入另外一个正常插槽进行测试 E.重新启动交换机后,是否也无法登录至交换机管埋 F.检查由同- UPS供电的其他网络设备是否正常工作 [问题3](5分) 判断下列关于服务器故障排除原则是否正确(填写在答题纸的对应栏内,正确的选项填写“√”,错误的选项填写“×”): (1)在对计算机故障进行检查判断时,遇到未知计算机故障时应该首先考虑打开主机箱对硬件进行检测。如果不能解决问题,则检查是否是由软件引起的,最终达到排除故障的目的。 () (2)先检查键盘、鼠标、显示器、磁盘阵列等外部设备,查看电源的连接、各种连线是否连接得当,排除这些方面的原因后,再来检查主机。 () (3)首先检查电源部分,如主机供电是否正常,工作电压是否正常、稳定,主机电源功率是否能负载各部件的正常运行,然后再检查各个部件。 () (4)遇到故障时,应首先考虑引起故障的特殊因素。如不能解决问题,再检查电源线、数据线是否松动,把它们重新插接。 () (5)在排除故障时,先排除简单而易修理的故障,再去排除困难的、不好解决的故障。 ()
试题四(14 分)
回答问题 1 至问题 3,将解答填入答题纸的对应栏内。
[问题1](5 分)
某计算机系统设备安装工程双代号网络计划如图 4.1 所示。该图中已标出每个节点的最早时间和最迟时间, 请判断对图 4.1 的解释是正确的还是错误的, 并填写表 4.1 (在判断栏中,正确的填写“√” ,错误的填写“×” 。 )
[问题2](5 分)
请指出下面关于软件可维护性有关叙述是否正确(填写对或错,每个选项 0.5 分) 。
(1) 在进行需求分析时需同时考虑如何实现软件可维护性问题。
(2) 完成测试作业后,为了缩短源程序的长度应删去程序中的注解。
(3) 尽可能在软件生产过程中保证各阶段文档的正确性。
(4) 编程时应尽可能使用全局变量。
(5) 在程序易修改的前提下,选择时间效率和空间效率尽可能高的算法。
(6) 尽可能考虑硬件的备件的供应。
(7) 重视程序结构的设计,使程序具有较好的层次结构。
(8) 使用维护工具或支撑环境。
(9) 在进行概要设计时应加强模块间的联系。
(10) 提高程序的可读性,尽可能使用高级语言编写程序。
[问题 3](4 分)
请指出图 4-2 所示的排列图有哪些错误?
图中: (1)开发设备保养差,有故障,效率低
(2)测试设备配置数量不够
(3)开发人员离职情况严重
(4)其它原因
(5)开发模式不合理
试题四(共 15 分)
阅读以下说明和 C 函数代码,回答问题并将解答写在答题纸的对应栏内。
[说明]
著名的菲波那契数列定义式为
f1 = 1 f2 = 1 fn = fn-1 + fn-2 (n = 3,4,…)
因此,从第 1 项开始的该数列为 1,1,2,3,5,8,13,21,…。函数 fib1 和 fib2 分别用递归方式和迭代方式求解菲波那契数列的第 n 项(调用 fib1、fib2 时可确保参数 n 获得一个正整数) 。
[C函数代码]
[问题 1](6 分)
函数 fib1 和 fib2 存在错误,只需分别修改其中的一行代码即可改正错误。
(1)函数 fib1 不能通过编译,请写出 fib1 中错误所在行修改正确后的完整代码;
(2)函数 fib2 在n≤2 时不能获得正确结果,请写出 fib2 中错误所在行修改正确后的完整代码。
[问题 2](3 分)
将函数 fib1 和 fib2 改正后进行测试,发现前 46 项都正确,而第 47 项的值是一个负数,请说明原因。
[问题 3](6 分)
函数 fib1、fib2 求得菲波那契数列第 n 项(n>40)的速度并不相同,请指出速度慢的函数名,并简要说明原因。
阅读以下应用说明及Visual Basic程序代码,将应填入______处的语句写在答题纸的对应栏内。
[应用说明9]
本应用程序的运行窗口如图2-6所示。
窗口中的3个文本框和2个按钮,名称分别为Txt_salary,Txt_base,Txt_tax,Cmd compute和Cmd_quit。运行时,文本框Txt_base中存放的是免税金额基数(应扣除的基本费用)。当用户在文本框Txt_salary中输入月收入(工资或薪金)并单击“计算”按钮 Cmd_compute后,Txt_tax框中就显示计算所得的应纳税额。文本框Txt_base和Txt_ tax在运行时不接受用户输入,Txt_base的内容以灰色显示。
个人工资(或薪金)所得税是按照超额累进的税率来征收的,其计算方法参考试题8。
[程序代码9]
Option Base 0
Private Sub Cmd_compute_Click()
Dim paylevel,taxPrate
paylevel=Array(0,500,2000,5000,20000,40000,60000,80000,100000,1000001)
taxPrate=Array(5,10,15,20,25,30,35,40,45)
K=(1)
S=0
if(K>0) Then
For j=1 TO 9
If (2) Then
S=S+(paylevel(j)-paylevel(j-1)) * taxPrate(j-1)/100
Else
S=S+((3) ) * taxPrate(j-1)/100
Exit For
End If
Next j
End If
(4)=Str$(S)
End Sub
Private Sub Cmd_quit_Click()
End
End Sub
Private Sub Form_Load()
Txt_tax.Text=“”
Txt_salary.Text=“”
Txt_base.Text=800
Txt_tax.Locked=True
Txt_base.Enabled=(5)
End Sub
●试题四
阅读以下说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
该程序的功能是从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中,最后把结果xx输出到文件OUT6.DAT中。
例如:原文:You He Me
I am a student.
结果:Me He You
student a am I
原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。
【函数】
#include<string.h>
#include<conio.h>
#include<ctype.h>
#include<stdio.h>
char xx[50][80];
int maxline=0;/*文章的总行数*/
int ReaaDat(void);
void WriteDat(void);
void StrOL(void)
{
char*pl,*p2,t[80];
int i;
for(i=0;i<maxline;i++)
{p1=xx[i];t[0]=0;
while(*p1)p1++;
while(p1>=xx[i])
{while(!isalpha(*p1)&&p1!=xx[i])p1--;
p2=p1;
while((1) )p1--;
if(p1==xx[i])
if(isalpha(*p1))p1--;
else if(!isalpha(*(p1+1)))break;
p2++;
(2) ;
strcat(t,p1+1);
strcat(t," ");
}
strcpy(xx[i],t);
}
}
void main()
{
if((3) ){
printf("数据文件in.dat不能打开!\n\007");
return;
}
StrOL();
writeDat();
getch();
}
int ReadDat(void)
{
FILE*fp;
int i=0;
char*p;
if((fp=fopen("e:\\a\\in.dat","r"))==NULL)return 1;
while(fgets(xx[i],80,fp)!=NULL){
p=strchr(xx[i],′\n′);
if(p)*p=0;
i++;
}
maxline= (4)
fclose(fp);
return 0;
}
void WriteDat(void)
{
FILE*fp;
int i;
fp=fopen("e:\\a\\out6.dat","w");
for(i=0;i< (5) ;i++){
printf("%s\n",xx[i]);
fprintf(fp,"%s\n",xx[i]);
}
fclose(fp);
}
试题一:
阅读下列说明,回答问题1到问题4,将解答填入答题纸的对应栏内
【说明】
小张被任命为公司的文档与配置管理员,在了解了公司现有的文档及配置管理现状和问题之后 ,他做出如下工作计划:
(1)整理公司所有文档,并进行归类管理
小张在核理公司文档时,根据GB/T16680-1996《软件文档管理指南》,从项目生命周期角度将文档划分为开发文档,产品文档和管理文档,并对公司目前的文档进行了如下分类:
a)开发文档:可行性研究报告、需求规格说明书、概要设计说明书、数据设计说明书、数据字典。
b)管理文档:开发计划、配置管理计划、测试用例、测试计划、质量保证计划、开发进度报告,项目开发总结报告。
c)产品文档:用户手册、操作手册
(2)建立公司级配置管理系统,将配置库划分为开发库与受控库,并规定开发库用于存放正在开发过程中的阶段成果,受控库作为基线库存放评审后的正式成果。
(3)建立配置库权限机制,允许公司人员按照不同级别查看并管理公司文档,考虑到公司总经理权限最大、项目经理要查看并了解相关项目资料等额外因素,对受控库进行了下表的权限分配,(√表示允许,X表示不允许):
进行了如上配置管理工作后,此时有一个项目A的项目经理告知小张,发现基线库中有一个重要的功能缺陷要修改,项目经理组织配置控制委员会进行了分析讨论后,同意修改,并指派了程序员小王进行修改,于是小张按照项目经理的要求在受控库中増加了小王的修改权,以便小王可以在受控库中直接修改该功能。
【问题1】(6分)
(1)依据16680-1996《软件文档管理指南》,小张对公司项目文档的归类是否正确?
(2)从候选答案中选择8个正确选项(多选该题得0分),将选项编号填入答题纸纸对应栏内。
应归入“开发文档”类的文档有:
候选答案:
A.可行性研究报告 B.需求规格说明书 C.用户手册 D.数据字典 E.操作手册 F.开发计划
G.配置管理计划 H.测试用例 I.测试计划 J.质量保证计划 K.项目开发总结报告
【问题2】(8分)
小张在建立配置管理系统时,不清楚如何组织配置库,请帮助小张组织配置库(至少写出两种配置库组织形式,并说明优缺点
【问题3】(5分)
本案例中当发现基线库中有一个重要的功能缺点需要修改时.你认为小张的做法存在哪些问题.并说明正确的做法.
【问题4】(6分)
结合案例.请指出小张在整个受控库的权限分配方面存在哪些问题.
试题二(15分)
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【 说明】
某国家机关拟定制开发一套适用于行政管理的业务应用系统,先以本级单位为试
点,如应用效果良好,则在本系统内地方单位进行统一安装部署。计划通过公开招投标的方式选择开发单位。
[事件 1]监理在审核招标文件过程中发现,拟签订合同条款中未针对本业务应用系统的知识产权进行规定,于是建议业主单位对该部分进行补充。
[事件 2]在评标过程中,评标委员会要求所有投标的 4 家单位对原招标文件未规定的售后服务方案进行补充提交。
【问题1】(5分)
本项目招标文件中是否有必要对软件知识产权归属问题进行规定,如有请说明原因并指出对本项目验收后的使用产生的影响。
A.寄存器
B.移动存储器
C.辅助存储器
D.备份存储器