2018上半年程序员考试真题及答案-下午卷

合集下载

2018年上半年软件设计师下午题

2018年上半年软件设计师下午题

2018 年上半年软件设计师考试下午真题(含参考答案)●阅读下列说明,回答问题 1 至问题 4,将解答填入答题纸的对应栏内。

【说明】某医疗护理机构为老年人或有护理需求者提供专业护理,现欲开发一基于 web 的医疗管理系统,以改善医疗护理效率,该系统的主要要功能如下:(1)通用信息查询,客户提交通用信息查询请求,查询通用信息表,返回查询结果。

(2)医生聘用。

医生提出应聘/辞职申请,交由主管进行聘用/解聘审批,更新医生表,并给医生反馈聘用/解聘结果:删除解聘医生的出诊发排(3)预约处理。

医生安排出诊时间,存入医生出诊时间表,根据客户提交的预约查询请求,查询在职医生及其出诊时间等预约所需数据并返回:创建预约,提交预约请求,在预约表中新增预约记录,更新所约医生出诊时间并给医生发送预约通知;给客户反馈预约结果。

(4)药品管理。

医生提交处方,根据药品名称从药品数据中查询相关药品库存信息,开出药品,更新对应药品的库存以及预约表中的治疗信息;给医生发送“药品已开出”反馈。

(5)报表创建。

根据主管提交的报表查询请求(报表类型和时间段),从预约数据、通用信息、药品库存数据、医生以及医生出诊时间中进行查询,生成报表返回给主管。

现采用结构化方法对医疗管理系统进行分析与设计,获得如图 1-1 所示的上下文数据流图和图 1-2 所示的 0 层数据流图。

【问题 1】(3 分)使用说明中的词语,给出图 1-1 中的实体 E1~E3 的名称。

【问题 2】(5 分)使用说明中的词语,给出图 1-2 中的数据存储 D1~D5 的名称。

【问题 3)(4 分)使用说明和图中术语,补充图 1-2 中缺失的数据流及其起点和终点。

【问题 4】(3 分)使用说明中的词语,说明“预约处理”可以分解为哪些子加工,并说明建模图1-1 和图 1-2 是如何保持数据流图平衡。

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

【说明】某海外代购公司为扩展公司业务,需要开发一个信息化管理系统。

2018年上半年程序员真题+答案解析上午选择+下午案例完整版(全国计算机软考)

2018年上半年程序员真题+答案解析上午选择+下午案例完整版(全国计算机软考)

2018年上半年程序员真题+答案解析上午选择1、某编辑在编辑文稿时发现如下错误,其中最严重的错误是()。

A. 段落标题编号错误B. 将某地区名列入了国家名单C. 语句不通顺、有明显的错别字D. 标点符号、字体、字号不符合要求答案: B文稿编辑时发生文字错误是常见的,难免的,但严重的错误影响很大。

对一般的错误可以加强校对来尽量减少错误。

但对严重的错误一定要引起领导人和工作人员的特别重视,在事先加强案例教育,事中特别注意校对,发生严重错误后便要严肃处理相关责任人。

国家名单,有可能引发政治问题。

对部分公民的某种歧视,泄露本单位的商业秘密等也会产生严重问题。

2、某县有6.6万个贫困户,县委组织人员调査这 6.6万个贫困户经济收入,从中抽取1800个贫困户的经济收入进行分析。

请问本次调查的总体、个体、样本及样本容量分别为()。

A. 6.6万个贫困户经济收入、每个贫困户的经济收入、1800、1800个贫困户B. 6.6万个贫困户、1800个贫困户经济收入、每个贫困户的经济收入、1800C. 6.6万个贫困户、每个贫困户的经济收入、1800个贫困户经济收入、1800D. 6.6万个贫困户、每个贫困户的经济收入、1800、1800个贫困户经济收入答案: C总体(母体):调查对象的全体,在这里是 6.6万个贫困户;个体:总体中每一个考察对象,在这里就是每个贫困户的经济收入;样本:总体中所抽取的一部分个体,在这里是1800个贫困户的经济收入;样本容量:样本中个体的数目,因此是1800。

3、在Excel中,若在A1单元格输入如下图所示的内容,则A1的值为()。

A. 7B. 8C. TRUED. #NAME?答案: B本题考查Excel的公式和函数。

在EXCEL里,逻辑值结果为True的时候在进行运算会转化为1,如果是False会转化为0。

SUM函数是进行求和,所以这里的答案是=3+4+1=8。

4、在Excel中,单元格L3内容为“软件工程技术”,若要取单元格L3前两个字“软件”放入单元格M3中,则在M3中可输入(),并按下回车键即可。

2018年上半年软件设计师下午卷试题及答案解析

2018年上半年软件设计师下午卷试题及答案解析

2018 年上半年软件设师综合技能试题一(共 15 分)阅读下列说明,将解答填入题纸的对应栏内.【说明】某医疗护理机构为老年人或有护理需求者提供专业护理,现欲开发一基于 web 的医疗管理系统,以改善医疗护理效,该系统的主要要功能如下:(1)通用信息查询,客广提交通用信息查询请求,意而通用信表表,返回查询结果(2)医生聘用。

医生提出成/职中申,交由去前行用事事,更新医生表,并给医生反聘用解聘结果:聊除解聘医生的出诊发排(3)预约处理。

医生安排出诊时向间,存入医生出诊时间表,根据客户提交的预约查询请求,查在职医生及其出诊时间等约所需数据并返同问:创建预约,提交预约请求,在在预约表中新增预约记录,更新所约医生出诊时间并给医生发送约通知给客户反馈预约结果.(4)药品管理。

医生提交处方,根据药品名称从药品数据中查询相关药品库存信息开出药品,更新对应药品的库存以及预约表中的治疗信息;给医生发送“药品已开出”反馈。

(5)报表创建。

根据主管提交的报表查询请求(报表类型和时间段),从预的数、通用信息、药品库存数据、医生以及医生出诊时间中进行查询,生成报表返回给主管.现采用结构化方法对医疗管理系统进行分析与设计,获得如图 1-1 所示的上下文数据流图和图 1-2 所示的 0 层数据流图.【问题 1】(3 分)使用说明中的词语,给出图 1-1 中的实体 E1~E3 的名称。

【问题 2】(5 分)使用说明中的词语,给出图 1-2 中的数据存储 D1~D5 的名称。

【问题 3)(4 分)使用说明和图中术语,补充图 1-2 中缺失的数据流及其起点和终点.【问题 4】(3 分)使用说明中的词语,说明“预约处理”可以分解为哪些子加工,并说明建模图 1-1和图 1-2 是如何保持数据流图平衡.试题二(共 15 分)阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内.【说明】某海外代购公司为扩展公司业务,需要开发一个信息化管理系统。

2018年上半年程序员考试真题及答案解析

2018年上半年程序员考试真题及答案解析

全国计算机技术与软件专业技术资格(水平)考试2018年上半年程序员上午试卷(考试时间 9 : 00~11 : 30 共 150 分钟)1. 在答题卡的指定位置上正确写入你的姓名和准考证号,并用正规 2B 铅笔在你写入的准考证号下填涂准考证号。

2. 本试卷的试题中共有 75 个空格,需要全部解答,每个空格 1 分,满分75 分。

3. 每个空格对应一个序号,有 A、B、C、D 四个选项,请选择一个最恰当的选项作为解答,在答题卡相应序号下填涂该选项。

4. 解答前务必阅读例题和答题卡上的例题填涂样式及填涂注意事项。

解答时用正规 2B 铅笔正确填涂选项,如需修改,请用橡皮擦干净,否则会导致不能正确评分。

例题● 2018 年上半年全国计算机技术与软件专业技术资格(水平)考试日期是(88)月(89)日。

(88)A. 3 B. 4 C. 5D. 6(89)A. 20 B. 21 C. 22 D. 23 因为考试日期是“5 月 20 日”,故(88)选 C,(89)选 A,应在答题卡序号 88 下对 C 填涂,在序号 89 下对 A 填涂(参看答题卡)。

1.某编辑在编辑文稿时发现如下错误,其中最严重的错误是()。

A.段落标题编号错误B.将某地区名列入了国家名单C.语句不通顺、有明显的错别字D.标点符号、字体、字号不符合要求2.某县有 6.6 万个贫困户,县委组织人员调査6.6 万个贫困户经济收入,从中抽取 1800 个贫困户的经济收入进行分析。

请问本次调查的总体、个体、样本及样本容量分别为()。

A.6.6 万个贫困户经济收入、每个贫困户的经济收入、1800、1800 个贫困户B.6.6 万个贫困户、1800 个贫困户经济收入、每个贫困户的经济收入、1800 C.6.6 万个贫困户、每个贫困户的经济收入、1800 个贫困户经济收入、1800 D.6.6 万个贫困户、每个贫困户的经济收入、1800、1800 个贫困户经济收入3.在 Excel 中,若在 A1 单元格输入如下图所示的内容,则 A1的值为() A.7 B.8 C.TRUE D.#NAME?4.在 Excel 中,单元格 L3 内容为“软件工程技术”,若要取单元格 L3前两个字“软件”放入单元格 M3 中,则在 M3 中可输入(),并按下回车键即可。

初级程序员下午试题2018上半年及答案解析

初级程序员下午试题2018上半年及答案解析

初级程序员下午试题2018上半年及答案解析(1/8)填空题第1题阅读以下说明和流程图,填写流程图中的空缺,将解答填入答题纸的对应栏内。

【说明】如果一个自然数N恰好等于它所有不同的真因子(即N的约数以及1,但不包括N)之和S,则称该数为“完美数”。

例如6=1+2+3,28=1+2+4+7+14,所以6和28都是完美数。

显然,6是第1个(即最小的)完美数。

下面流程图的功能是求500以内所有的完美数。

【流程图】循环开始框中要注明:循环变量=初始值,终值[,步长],步长为1时可以缺省。

如果某自然数小于其所有真因子之和(例如24<1+2+3+4+6+8+12),则称该自然数为亏数;如果某自然数大于其所有真因子之和(例如8>1+2+4),则称该自然数为贏数;如果某自然数等于从1开始的若干个连续自然数之和(例如10=1+2+3+4)则称该自然数为三角形数。

据此定义,自然数496是()。

供选择答案:A.亏数B.赢数C.完美数,非三角形数D.完美数和三角形数___________________下一题(2/8)填空题第2题阅读以下说明和C代码,填写程序中的空(1)~(5),将解答写入答题纸的对应栏内。

【说明】直接插入排序是一种简单的排序方法,具体做法是:在插入第i个关键码时,k1,k2,…,ki-1已经排好序,这时将关键码ki依次与关键码ki-1,ki-2,…,进行比较,找到ki应该插入的位置时停下来,将插入位置及其后的关键码依次向后移动,然后插入ki。

例如,对{17,392,68,36}按升序作直接插入排序时,过程如下:第1次:将392(i=1)插入有序子序列{17},得到{17,392};第2次:将68(i=2)插入有序子序列{17,392},得到{17,68,392};第3次:将36(i=3)插入有序子序列{17,68,392},得到{17,36,68,392},完成排序。

下面函数insertSort用直接插入排序对整数序列进行升序排列,在main函数中调用insertSort 并输出排序结果。

2018年上半年程序员考试综合知识真题

2018年上半年程序员考试综合知识真题

2018年上半年程序员考试综合知识真题(总分:75.00,做题时间:150分钟)一、单项选择题(总题数:67,分数:75.00)1.某编辑在编辑文稿时发现如下错误,其中最严重的错误是(分数:1.00)A.段落标题编号错误B.将某地区名列入了国家名单√C.语句不通顺、有明显的错别字D.标点符号、字体、字号不符合要求解析:2.某县有6.6万个贫困户,县委组织人员调査这6.6万个贫困户经济收入,从中抽取1800个贫困户的经济收入进行分析。

请问本次调查的总体、个体、样本及样本容量分别为(分数:1.00)A.6.6万个贫困户经济收入、每个贫困户的经济收入、1800、1800个贫困户B.6.6万个贫困户、1800个贫困户经济收入、每个贫困户的经济收入、1800C.6.6万个贫困户、每个贫困户的经济收入、1800个贫困户经济收入、1800 √D.6.6万个贫困户、每个贫困户的经济收入、1800、1800个贫困户经济收入解析:3.在Excel中,若在A1单元格输入如下图所示的内容,则A1的值为(分数:1.00)A.7B.8 √C.TRUED.#NAME?解析:4.在Excel中,单元格L3内容为“软件工程技术”,若要取单元格L3前两个字“软件”放入单元格M3中,则在M3中可输入(),并按下回车键即可。

(分数:1.00)A.=LEFTB(M3,2)B.=LEFT(M3,2)C.=LEFTB(L3,2)D.=LEFT(L3,2) √解析:5.电子邮件地址“zhangli@”中的zhangli、@和分别表示用户信箱的(分数:1.00)A.邮件接收服务器域名、帐号和分隔符B.邮件接收服务器域名、分隔符和帐号C.帐号、分隔符和邮件接收服务器域名√D.帐号、邮件接收服务器域名和分隔符解析:6.程序计数器(PC)是用来指出下一条待执行指令地址的,它属于()中的部件。

(分数:1.00)A.CPU √B.RAMC.CacheB解析:7.以下关于主流固态硬盘的叙述中,正确的是(分数:1.00)A.存储介质是磁表面存储器,比机械硬盘功耗高B.存储介质是磁表面存储器,比机械硬盘功耗低C.存储介质是闪存芯片,比机械硬盘功耗高D.存储介质是闪存芯片,比机械使盘功耗低√解析:8.CPU中可用来暂存运算结果的是(分数:1.00)A.算逻运算单元B.累加器√C.数据总线D.状态寄存器解析:9.微机系统中系统总线的()是指单位时间内总线上传送的数据量。

2018年程序员考试试题及答案

2018年程序员考试试题及答案

2018 年程序员考试试题及答案单项选择题在常用的字处理软件中,选中文本块后,按下Ctrl键再拖曳鼠标,可以 1 ;直接用鼠标拖曳已选定的文本,可以 2 。

1、 A.复制选中的文本B.移动选中的文本C.选中一个矩形区域中的文本D.选中一个段落2、 A.复制选中的文本B.移动选中的文本C.选中一个矩形区域中的文本D.选中一个段落3、第一个完整、健全的面向对象程序设计语言是______。

A.Eiffel B.C++ C.Smalltalk D.COBOL4、______是关于质量管理体系的一系列标准,有助于企业交付符合用户质量要求的产品。

A.ISO 9000 B.CMM C.ISO 1400 D.SW-CMM5、在(38) 存储结构中,在元素的存储结构之上另外建立一个元素与其存储位置之间的映射关系。

A.索引(Index) B.散列(Hash)C.链表(Link) D.顺序(Sequence)6、在Windows中,用鼠标左键单击某应用程序窗口的最小化按钮后,该应用程序处于(1) 的状态。

A.被强制关闭B.不确定C.被暂时挂起D.在后台继续运行7、Suppose we have the relation schema R( A, B, C,D.with functional dependencies; F{A→B,B→C,C→D,D→A}, then R(A,B,C,D. at least is in (73) .A. 1NFB. 2NFC. 3NFD. BCNFThe constructeobeginStatement1;Statement2;coendmeans Statement1 and Statement2 are to be executed in parallel. The only twoatomic actions in this construct are loading the value of a variable and storing into a variable. For the program segmentx=0;y=0;cobegin{x=1; y+=x;}{y=2; x+=3;}eoend8、某总线有104根信号线,其中数据总线(DB.32根。

2018年上半年软件设计师考试下午真题(完整版)

2018年上半年软件设计师考试下午真题(完整版)
某海外代购公司为扩展公司业务,需要开发一个信息化管理系统。请
全职师资直播+录播双保障 1v1全程辅导
希赛网() 400-111-9811
根据公司现有业务及需求完成该系统的数据库设计。 【需求描述】
(1)记录公司员工信息。员工信息包括工号、身份证号、姓名、性别 和一个手机号,工号唯一标识每位员工,员工分为代购员和配送员。
全职师资直播+录播双保障 1v1全程辅导
return 0; }
希赛网() 400-111-9811
6、阅读下列说明和 Java 代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】
现采用结构化方法对医疗管理系统进行分析与设计,获得如图 1-1 所示 的上下文数据流图和图 1-2 所示的 0 层数据流图。
全职师资直播+录播双保障 1v1全程辅导
希赛网() 400-111-9811
问题内容:【问题 1】(3 分) 使用说明中的词语,给出图 1-1 中的实体 E1~E3 的名称。
void setPartB(const string& s) { PartB = s;}
// 其余代码省略
};
class Builder {
public:
(1) ;
virtual void buildPartB()=0;
(2) ;
};
class ConcreteBuilder1 : public Builder {
rn =max1≤ i ≤n(pi +rn-i) 对此递归式,给出自顶向下和自底向上两种实现方式。 【C 代码】 /* 常量和变量说明
n:长钢条的长度 p[]:价格数组 */ #define LEN 100

2018年上半年 软件设计师 综合知识 真题

2018年上半年 软件设计师 综合知识 真题

2018年上半年软件设计师综合知识真题●浮点数的表示分为阶和尾数两部分。

两个浮点数相加时,需要先对阶,即(1)(n为阶差的绝对值)(1)A将大阶向小阶对齐,同时将尾数左移n位B将大阶向小阶对齐,同时将尾数右移n位C将小阶向大阶对齐,同时将尾数左移n位D将小阶向大阶对齐,同时将尾数右移n位●计算机运行工程中,遇到突发事件,要求CPU暂时停止正在运行的程序,转去为突发事件服务,服务完毕,再自动返回原程序继续执行,这个过程称为(2),其处理过程中保存现场的目的是(3)。

(2)A阻塞B中断C动态绑定D静态绑定(3)A防止丢失数据B防止对其他部件造成影响C 返回去继续执行原程序D为中断处理程序提供数据●海明码是一种纠错码,其方法是为需要校验的数据位增加若干校验位,使得校验位的值决定于某些被校位的数据,当被校数据出错时,可根据校验位的值的变化找到出错位,从而纠正错误。

对于32位的数据,至少需要增加(4)个校验位才能构成海明码。

以10位数据为例,其海明码表示为D9D8D7D6D5D4P4D3D2D1P3D0P2P1中,其中,D i(0≤i≤9)表示数据位,P j(1≤j≤4)表示校验位,数据位D9由P4 P3 和P2进行校验(从右至左D9的位序为14,即等于8+4+2,因此用第8位的P4 第4位的P3和第二位的P2校验)数据位D5由(5)进行校验(4)A 3 B 4 C 5 D 6(5)A P4 P1 B P4 P2 C P4 P3 P1 D P3 P2 P1●流水线的吞吐率是指单位时间流水线处理任务数,如果个段流水的操作时间不同,则流水线的吞吐率是(6)的倒数。

(6)A最短流水段操作时间B各段流水的操作时间之和B 最长流水段操作时间D流水段数乘以最长流水段操作时间●网络管理员通过命令行方式对路由器进行管理,需要确保ID,口令和会话内容的保密性,应采取的访问方式是(7)(7)A 控制台 B AUX C TELENT D SSH●在安全通信中,S将所发送的信息使用(8)进行数字签名,T收到该消息后可利用(9)验证该消息的真实性。

2018年上半年软件水平考试(初级)网络管理员下午(应用技术)真题试卷(题后含答案及解析)

2018年上半年软件水平考试(初级)网络管理员下午(应用技术)真题试卷(题后含答案及解析)

2018年上半年软件水平考试(初级)网络管理员下午(应用技术)真题试卷(题后含答案及解析)全部题型 1. 试题一2. 试题二3. 试题三4. 试题四试题一(15分)阅读以下说明,回答问题1至问题4,将解答填入答题纸对应的解答栏内。

【说明】某单位现有网络拓扑结构如图1-1所示,实现用户上网的功能。

该网络使用的交换机均为三层设备,用户地址分配为手动指定。

1.路由器AR2200的GE0/0/1接口地址为内网地址,为确保内部用户访问Internet,需要在该设备配置(1)________________。

正确答案:(1)NAT转换解析:本题考查小型网络部署的案例,该网络需求较为简单,网络拓扑简单,使用的网络产品设置灵活方便。

从题目分析,该网络需求如下:提供用户的上网功能,用户地址需要手动指定并使用私有地址;网络中部署有视频监控系统;网络中部署有基本的安全防护设备。

解析:本题考查交换机启用DHCP功能后,在配置的命令片段中首先要配置的内容,要求考生对配置此类相关命令的步骤有基本的了解,首先是开启DHCP服务。

4.为防止网络攻击,需要增加安全设备,配置安全策略,进行网络边界防护等,需在(8)________________部署(9)________________,且在该设备上配置(10)________________策略。

(8)备选答案:A.AR2200与SwitchA之间B.SwitchA与服务器之间(9)备选答案:A.FW(防火墙) B.IDS(入侵检测系统)正确答案:(8)A(9)A(10)ACL解析:在小型网络中部署网络安全设备,安全设备的位置与安全需求有密切的关系,存本题中指明为了防止网络攻击,进行网络边界防护,那么防护的首先是整个内网,该不是单指服务器区域。

那么很显然,网络中部署的安全设备的类型和位置就显而易见,应该使用防火墙而不是入侵检测系统。

试题二(15分)阅读以下说明,回答问题1至问题3,将解答填入答题纸对应的解答栏内。

2018年上半年软件水平考试(高级)系统分析师下午(论文)真题试卷(题后含答案及解析)

2018年上半年软件水平考试(高级)系统分析师下午(论文)真题试卷(题后含答案及解析)
3.详细说明你所参与的信息系统是如何遵循“自底向上”“自顶向下”或综合“自底向上”和“自顶向下”两种方式进行的分析、设计和开发的。
您的答案是:
正确答案:针对作者实际参与的软件系统开发项目,说明该项目是如何遵循“自底向上”“自顶向下”或综合“自底向上”和“自顶向下”两种方式进行的系统分析、设计和开发的。
●从经济角度来看,很难说自顶向下的做法在经济上是合算的。
上述在信息系统开发时常见的两种实施方法,是对不同时期、不同对象的信息系统开发方法的归纳,各有其优缺点,但实践证明在工程实施时,两种方法并非是绝对排斥的,往往在事情进一步的发展中,它们都能取长补短、相互补充。有经验的分析和设计人员会首先确定企业的信息需求环境和性质,然后来选择适合于它的分析和设计方法,他们甚至会从方法的基本原理和适应对象出发使用变通的方法来进行对特定系统的开发,如自顶向下的整体规划和自底向上的分步实施。这无疑是一种对方法论的发展和创造。
2018年上半年软件水平考试(高级)系统分析师下午(论文)真题试卷(题后含答案及解析)
全部题型1.选答题
选答题(满分75分)
1、从下列试题中任选1道解答,请在答卷上用“○”圈住选答的试题编号。若答题超过1道,则按题号最小的1道题评分。
2、解答应分摘要和正文两部分。在书写时,请注意以下两点:
①、摘要字数在400字以内,可分条叙述,但不允许有图、表和流程图。
4.开发新的符合要求的构件。
企业或项目组进行构架获取决策时,必须考虑到不同方式获取构件的一次性成本和以后的维护成本。
自顶向下方法的优点有:
●可为企业或机构的重要决策和任务实现提供信息。
●支持企业信息系统的整体性规划,并对系统的各子系统的协调和通信提供保证。
●方法的实践有利组织的途径。

2018年上半年软件水平考试(中级)信息安全工程师下午(应用技术

2018年上半年软件水平考试(中级)信息安全工程师下午(应用技术

2018年上半年软件水平考试(中级)信息安全工程师下午(应用技术)真题试卷(题后含答案及解析)题型有:1. 试题一 2. 试题二 3. 试题三 4. 试题四 5. 试题五试题一阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。

【说明】恶意代码是指为达到恶意目的而专门设计的程序或者代码。

常见的恶意代码类型有:特洛伊木马、蠕虫、病毒、后门、Rootkit、僵尸程序、广告软件。

2017年5月,勒索软件WannaCry席卷全球,国内大量高校及企事业单位的计算机被攻击,文件及数据被加密后无法使用,系统或服务无法正常运行,损失巨大。

1.按照恶意代码的分类,此次爆发的恶意软件属于哪种类型?正确答案:蠕虫解析:本题综合了恶意代码的基本知识以及如何同防火墙联动阻止恶意代码的攻击行为,考查考生对恶意代码基本概念的理解程度以及防火墙过滤规则的设置能力。

病毒、蠕虫和特洛伊木马是可导致用户计算机和计算机上的信息损坏的恶意程序。

病毒的明确定义是“编制或者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码”。

病毒必须满足两个条件。

1.它必须能自行执行。

它通常将自己的代码置于另一个程序的执行路径中。

2.它必须能自我复制。

例如,它可能用受病毒感染的文件副本替换其他可执行文件。

病毒既可以感染桌面计算机也可以感染网络服务器。

蠕虫是一种通过网络传播的恶性病毒,它具有病毒的一些共性,如传播性、隐蔽性、破坏性等等,同时具有自己的一特征,如不利用文件寄生(有的只存在于内存中),对网络造成拒绝服务,以及和黑客技术相结合,等等。

木马是指那些表面上足有用的软件、实际目的却是危害计算机安全并导致严再破坏的计算机程序。

它是具有欺骗性的文件(宣称是良性的,但事实上是恶意的),是一种基于远程控制的黑客工具,具有隐蔽性和非授权忤的特点。

此次勒索软件是通过系统漏洞实现网络的自动传播,并完成其各种恶意功能。

2018年上半年 程序员 应用技术

2018年上半年 程序员 应用技术

2018上半年软考初级程序员下午真题● 阅读以下说明和流程图,填写流程图中的空缺,将解答填入答题纸的对应栏内。

【说明】如果一个自然数N恰好等于它所有不同的真因子(即N的约数以及1,但不包括N)之和S,则称该数为“完美数”。

例如6=1+2+3,28=1+2+4+7+14,所以6和28都是完美数。

显然,6是第1个(即最小的)完美数。

下面流程图的功能是求500以内所有的完美数。

【流程图】循环开始框中要注明:循环变量=初始值,终值[,步长],步长为1时可以缺省。

如果某自然数小于其所有真因子之和(例如24<1+2+3+4+6+8+12),则称该自然数为亏数:如果某自然数大于其所有真因子之和(例如8>1+2+4),则称该自然数为贏数如果某自然数等于从1开始的若干个连续自然数之和(例如10=1+2+3+4)则称该自然数为三角形数数。

据此定义,自然数496是()。

供选择答案:(1)A.亏数 B.赢数 C.完美数,非三角形数 D.完美数和三角形数● 阅读以下说明和C代码,填写程序中的空(1)~(5),将解答写入答题纸的对应栏内【说明】直接插入排序是一种简单的排序方法,具体做法是:在插入第i个关键码时,k1,k2,…,ki-1已经排好序,这时将关键码ki依次与关键码ki-1,ki-2,…,进行比较,找到ki应该插入的位置时停下来,将插入位置及其后的关键码依次向后移动,然后插入ki。

例如,对{17,392,68,36}按升序作直接插入排序时,过程如下:第1次:将392(i=1)插入有序子序列{17},得到{17,392};第2次:将68(i=2)插入有序子序列{17,392},得到{17,68,392};第3次:将36(i=3)插入有序子序列{17,68,392},得到{17,36,68,392},完成排序。

下面函数 insert Sort用直接插入排序对整数序列进行升序排列,在main函数中调用insert Sort并输出排序结果。

Do_2018年上半年软件设计师下午带答案

Do_2018年上半年软件设计师下午带答案
现采用面向对象方法对上述系统进行分析与设计,得到如表 3-1 所示的用例列表 以及如图 3-1 所示的用例图和图 3-2 所示的分析类图。
5 / 19
【问题 1】(4 分) 根据说明中的描述,给出图 3-1 中 A1~A4 所对应的参与者名称。
【问题 2)(5 分) 根据说明中的描述及表 3-1,给出图 3-1 中 UI-U5 所对应的用例名称。
(5)报表创建。根据主管提交的报表查询请求(报表类型和时间段),从预的数、 通用信息、药品库存数据、医生以及医生出诊时间中进行查询,生成报表返回给主管.
现采用结构化方法对医疗管理系统进行分析与设计,获得如图 1-1 所示的上下文数 据流图和图 1-2 所示的 0 层数据流图。
用说明中的词语,给出图 1-1 中的实体 E1~E3 的名称。
2 / 19
试题二(共 15 分) 阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。
【说明】 某海外代购公司为扩展公司业务,需要开发一个信息化管理系统。请根据公司现有
业务及需求完成该系统的数据库设计。 【需求描述】
(1)记录公司员工信息。员工信息包括工号、身份证号、姓名、性别和一个手机号, 工号唯一标识每位员工,员工分为代购员和配送员。
【问题 3】(6 分) 根据说明中的描述,给出图 3-2 中 C1~C6 所对应的类名。
6 / 19
试题四(共 15 分) 阅读下列说明和 C 代码,回答问题 1 和问题 2,将解答填入答题纸的对应栏内。
【说明】 某公司购买长钢条,将其切割后进行出售。切割钢条的成本可以忽略不计,钢条的长
度为整英寸。已知价格表 P,其中中 Pi(i=1,2,...,m)表示长度为 i 英寸的钢条的价 格。现要求解使销售收益最大的切割方案。

2018年软件工程师上半年考试(下午试题)

2018年软件工程师上半年考试(下午试题)

2018年上半年软件设计师(高级程序员)下午试题试题一阅读下列说明和数据流图,回答问题1至问题4,将解答填入答题纸的对应栏内。

[说明]某基于微处理器的住宅安全系统,使用传感器(如红外探头、摄像头等)来检测各种意外情况,如非法进入、火警、水灾等。

房主可以在安装该系统时配置安全监控设备(如传感器、显示器、报警器等),也可以在系统运行时修改配置,通过录像机和电视机监控与系统连接的所有传感器,并通过控制面板上的键盘与系统进行信息交互。

在安装过程中,系统给每个传感器赋予一个编号(即id)和类型,并设置房主密码以启动和关闭系统,设置传感器事件发生时应自动拨出的电话号码。

当系统检测到一个传感器事件时,就激活警报,拨出预置的电话号码,并报告关于位置和检测到的事件的性质等信息。

[数据流图1-3]加工4的细化图[问题1]数据流图1-1(住宅安全系统顶层图)中的A和B分别是什么?[问题2]数据流图1-2(住宅安全系统第0层DFD图)中的数据存储“配置信息”会影响图中的哪些加工?[问题3]将数据流图1—3(加工4的细化图)中的数据流补充完整,并指明加工名称、数据流的方向(输入/输出)和数据流名称.[问题4]请说明逻辑数据流图(LogicalDataFlowDiagram)和物理数据流图(PhysicalData Flow Diagram)之间的主要差别。

试题二阅读下列说明和算法,回答问题1和问题2,将解答填入答题纸的对应栏内。

[说明]算法2-1是用来检查文本文件中的圆括号是否匹配。

若文件中存在圆括号没有对应的左括号或者右括号,则给出相应的提示信息,如下所示:文件提示信息(1+2)abc) 缺少对应左括号:第2行,第4列((def)gx)) 缺少对应左括号:第3行,第10列(((h)ij)(k(1ml) 缺少对应右括号:第5行,第4列;第4行,第1列在算法2-1中,stack为一整数栈。

算法中各函数的说明如下表所示:[算法2-1]将栈stack置空,置EOF为falsech←nextch();while(not EOF)k←kind(ch);if (k ==__(1)__)push(__(2)__); push(__(3)__);elseif( k ==__(4)__)if(not empty())pop();pop():else显示错误信息(缺少对应左括号或右括号);显示行号row;显示列号col;endifendifch←nextch();endwhileif(not empty())显示错误信息(缺少对应左括号或右括号);while(not empty())row←pop();col←pop();显示行号row;显示列号col;endwhileendif为了识别更多种类的括号,对算法2-1加以改进后得到算法2-2。

2018上半年程序员考试真题及答案9

2018上半年程序员考试真题及答案9

某企业信息管理理系统的部分关系模式为:部门(部门号,部门名,负责人,电话)工(职工号,职工姓名,部门号,职位,住址,联系电话)。

部门关系中的部门名为非空值,负责人参照职工关系的职工号,请将下述SQL语句的空缺部分补充完整CREATE TABLE部门(部门号CHAR(4) PRIMARY KEY,部门名CHAR(20)(61),负责人CHAR(6),电话CHAR(15),(62));(61)A.UNIQUE B.NOT NULL C.KEY UNIOUE D.PRIMARY KEY (62)A.PRIMARY KEY(部门号)NOT NULL UNIQUEB.PRIMARY KEY(部门名)UNIQUEC.FOREIGN KEY(负责人)REFERENCES职工(职工号)D.FOREIGN KEY(负负责人)REFERENCES职工(职工姓名)【答案】B C【解析】本题考查SQL语言。

部门名前面有说明要求为非空,因此用NOT NULL标识。

然后负责人参照职工关系的职工号,职工号是外键。

用FOREIGN KEY(负责人) REFERENCE 职工(职工号)表示。

对于正实数a,设[a]表示a的整数部分(例如[3.14]=3),则[1/3]+[2/3]+[3/3]+…+[99/3]+[100/3]=(63)。

(63)A.1650 B.1682 C.1683 D.1749【答案】A【解析】本题是基本计算问题。

[1/3]+[2/3]+[3/3]+……+[99/3]+[100/3]=0+0+0+……+32+32+32+33+33=(0+33)*17*3-33=1650。

某道多项选择题有A、B、C、D、E五个备选项,要求从中选择2项或2项以上,全部选对才算解答正确。

按照上述要求,某考生凭猜测答题,解答正确的概率是(64)。

(64)A.1/10 B.1/16 C.1/26 D.1/31 【答案】C【解析】本题是基本计算问题。

2018上半年程序员考试真题及答案4

2018上半年程序员考试真题及答案4

与X•Y+等价的逻表达式为(21)。

(21)A. X+Y B. X C. Y D. X+Y 【答案】B【解析】本题考查数据的逻辑运算。

设机器码的长度为8位,已知[X]原=[Y]补=1111 1111,且X和Y都是带符号的整数,则X和Y的真值分别为(22)(22)A.-127,-127 B.-1,-127 C.-127,-1 D.-1,-1 【答案】C【解析】本题考查数据的表示。

其中-127的原码是1111 1111。

而-1的补码表示为:1111 1111。

以下关于Windows系统中文件的叙述中,正确的是(23)。

(23)A.文件一且保存后则不能被删除 B.文件必须占用磁盘的连续区域C.“xls”也是可执行文件的扩展名D.不同文件夹下的文件允许同名【答案】D【解析】本题考查文件管理基础知识。

文件是允许删除和修改的;文件的可以按照索引等方式进行存储,存储在不连续的存储区域里;xls是Excel文件;不同文件夹下的文件允许同名,但是相同文件夹里面的文件名不允许相同,且不区分大小写。

在Windows资源管理器中,若要选择窗口中分散的多个文件,在缺省配置下,可以先选择一个文件,然后按住(24)。

(24)A.CTRL键不放,并用鼠标右键单击要选择的文件B.CTRL键不放,并用鼠标左键单击要选择的文件C.SHIFT键不放,并用鼠标右键单击要选择的文件D.SHIFT键不放,并用鼠标左键单击要选择的文件【答案】B【解析】本题考查文件管理基础知识。

如果要选择多个连续的文件,可以使用按住Shift进行点选第一个和最后一个即可,如果是分散的文件,则可以使用按住Ctrl键不放,然后左键单击选择需要选择的文件。

假设某计算机系统中资源R的可用数为9.系统中有3个进程竞争R,且每个进程都需要i个R,则该系统可能会发生死锁的最小i值是(25)(25)A.2 B.3 C.4 D.5【答案】C【解析】本题考查操作系统的基础知识。

有3个进程,每个进程都需要分配4个资源,如果先给每个进程都分配了3个资源,那么这时候没有可用资源,接下来不管怎么分配都会发生死锁。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2018上半年程序员考试真题及答案-下午卷试题一阅读以下说明和流程图,填写流程图中的空缺,将解答填入答题纸的对应栏内。

【说明】如果一个自然数N恰好等于它所有不同的真因子(即N的约数以及1,但不包括N)之和S,则称该数为“完美数”。

例如6=1+2+3,28=1+2+4+7+14,所以6和28都是完美数。

显然,6是第1个(即最小的)完美数。

下面流程图的功能是求500以内所有的完美数。

【流程图】循环开始框中要注明:循环变量=初始值,终值[,步长],步长为1时可以缺省。

如果某自然数小于其所有真因子之和(例如24<1+2+3+4+6+8+12),则称该自然数为亏数:如果某自然数大于其所有真因子之和(例如8>1+2+4),则称该自然数为贏数如果某自然数等于从1开始的若干个连续自然数之和(例如10=1+2+3+4)则称该自然数为三角形数数。

据此定义,自然数496是()。

供选择答案:(1)A.亏数 B.赢数 C.完美数,非三角形数 D.完美数和三角形数【答案】(1)2(2)N%K(3)S+K(4)S(5)D【解析】流程图的功能是求500以内所有的完美数,N的值范围是6~500,因此N是需要判断是否为完美数,首先需要求出N的所有真因子,然后再判断N和真因子之和是否相等,从流程图可以看出S是保存真因子和的变量,K是保存真因子的变量,因此K的初始值是2,终值是N/2,因此第(1)空处填写:2;判断K是否为N的真因子,即判断N%K(N除以K取余)是否为0,第(2)空填写:N%K;当K为N的真因子时,需要计算所有K的和,即S=S+K,第(3)空填写:S+K;最后判断N和S是否相等,第(4)空填写:S。

496的真因子有:1、2、4、8、16、31、62、124、248,1+2+4+8+16+31+62+124+248=496;因此496是完美数,同时496=(1+2+3+4+……+30+31),因此496是完美数和三角形数。

试题二阅读以下说明和C代码,填写程序中的空(1)~(5),将解答写入答题纸的对应栏内。

【说明】直接插入排序是一种简单的排序方法,具体做法是:在插入第i个关键码时,k1,k2,…,ki-1已经排好序,这时将关键码ki依次与关键码ki-1,ki-2,…,进行比较,找到ki应该插入的位置时停下来,将插入位置及其后的关键码依次向后移动,然后插入ki。

例如,对{17,392,68,36}按升序作直接插入排序时,过程如下:第1次:将392(i=1)插入有序子序列{17},得到{17,392};第2次:将68(i=2)插入有序子序列{17,392},得到{17,68,392};第3次:将36(i=3)插入有序子序列{17,68,392},得到{17,36,68,392},完成排序。

下面函数 insertSort用直接插入排序对整数序列进行升序排列,在main函数中调用insertSort并输出排序结果。

【C代码】void insert Sort(int data[],int n)/*用直接插入排序法将data[0]~ data[n-1]中的n个整数进行升序排列*/{ int i,j; int tmp;for(i=1; i<n;i++){if(data[i]<data[i-1]){//将data[i]插入有序子序列data[0]~data[i-1]tmp=data[i]; //备份待插入的元素data[i]=(1);for(j=i-2;j>=0 && data[j] > tmp;j­­) //查找插入位置并将元素后移(2);(3)=tmp; //插入正确位置 }/*if*/}/*for*/}/*insertSort*/int main(){ int *bp,*ep;int n,arr[]={17,392,68,36,291,776,843,255};n = sizeof(arr) / sizeof(int);insertSort(arr,n);bp=(4); ep = arr+n;for(;bp<ep; bp++) //按升序输出数组元素printf("%d\t",(5));return 0;}【答案】(1)data[i-1](2)data[j+1]=data[j](3)data[j+1](4)arr(5)*bp【解析】直接插入排序法是将关键码插入已经排好的序列中,因此将data[i]插入序列data[0]~data[i-1]中,此时序列data[0]~data[i-1]已经按照升序排列好,而data[i]应插入位置前的数据应该比data[i]小,而插入位置后的数据应比data[i]大,在if语句中判断data[i]<data[i-1]中可以看出,在进行插入运算时,是从序列data[0]~data[i-1]最后一个数据data[i-1]向前逐一进行比较,若data[i]>=data[i-1],则将data[i]插入到d[i-1]后;若data[i]<data[i-1],data[i]需要与data[i-2]进行比较,如此依次进行,此时需要将data[i]备份并将data[i-1]后移,即temp=data[i]; data[i]=data[i-1];之后是进行比较,即for(j=i-2;j>=0&&data[j]>tmp;j--)循环,从data[i-2]开始向前逐一比较,即j 从i-2开始向0循环,若data[j]>tmp,则进行for循环,此时需要将data[j]即data[i-2]的值后移,使得data[i-1]=data[i-2],即data[j+1]=data[j],然后j--,用tmp与data[j]进行比较,如果tmp< data[j],则说明tmp应放在data[j]之前,那么data[j]需要继续往后移动。

所以data[j+1]= data[j]。

当该循环结束时,此时有2种情况:(1)j=-1<0,此时data[0]>tmp;应使得data[0]后移,即data[1]=data[0],data[0]=tmp,因此第3空填写data[j+1];(2)data[j]<=tmp;此时需要将tmp插入到data[j]后,即data[j+1]=tmp。

在main函数中调用insertSort函数并输出数组元素,在for(; bp<ep;bp++)中循环变量是bp,因此输出的是bp指向的数组元素,即调用insertSort函数后返回的数组arr,因此bp=arr(bp是指针变量,数组名arr可以直接将数组地址传递给bp);在printf函数中输出bp;因此printf(“%d\n”,*bp)。

试题三阅读以下C代码,回答问题1至问题3,将解答填入答题纸的对应栏内。

【C代码1】float adjustSalary(int service_year,int age,float salary) {if( service_year <=5 ) {if( age > 30 )salary *= 1.2;}elsesalary *= 2.0;return salary;}【C代码2】void foo(int coin) {switch (coin) {case 1: printf("Cent\n");case 5: printf("Nicke1\n");break;case 10: printf("Dime\n");case 25: printf("Quarter\n");}}【C代码3】int getSum(int n){int t, i = 0, sum = 0;while ( i < n ) {scanf("%d", &t);if( t<0 )continue;sum += t;i++;}return sum;}【问题1】(3分)对于【C代码1】,写出下面的函数调用后x1、x2和x3的值。

x1 = adjustSalary(1,25,9000.0);x2 = adjustSalary(8,32,7000.0);x3 = adjustSalary(5,41,5000.0);【问题2】(6分)(1)写出函数调用为foo(1)的输出结果;(2)写出函数调用为foo(5)的输出结果;(3)写出函数调用为foo(10)的输出结果;(4)写出函数调用为foo(25)的输出结果。

【问题3】(6分)(1)简要说明【C代码3】中的函数getSum()的功能;(2)程序员小王将函数getSum改写后得到下面的函数getSum_v2(即用for语句来描述循环)。

请问,getSum_v2的功能是否与【C代码3】的getSum完全相同,若不同,请说明原因。

答案:【问题1】(1)x1=9000.000000(2)x2=14000.000000(3)x3=6000.000000【解析】对于x1,service_year=1,age=25,salary=9000.0,首先判断service_year<=5,因此再判断age<30,不进行任何运算,salary仍为9000.0,由于salary为float类型数据,因此输出为9000.000000。

对于x2,service_year=8,age=32,salary=7000.0,首先判断service_year>5,因此直接进行else中的运算,salary=7000.0*2.0=14000.0,由于salary为float类型数据,因此输出为14000.000000。

对于x3,service_year=5,age=41,salary=5000.0,首先判断service_year<=5,因此再判断age>30,进行运算salary=5000.0*1.2=6000.0,由于salary为float类型数据,因此输出为6000.000000。

【问题2】(1)foo(1):CentNickel(2)foo(5):Nickel(3)foo(10):DimeQuarter(4)foo(25):Quarter【解析】foo(1):coin=1,执行printf(“Cent\n”),输出Cent并回车,继续执行printf(“Nickel\n”),输出Nickel并回车,再执行break,结束foo函数。

foo(5):coin=5,执行printf(“Nickel\n”),输出Nickel并回车,再执行break,结束foo函数。

相关文档
最新文档