小言_互联网的博客

2018年下半年软考真题 程序员 下午试卷 案例【含答案解析】

287人阅读  评论(0)

问题:1.1   (共15分)
阅读以下说明和流程图,填写流程图中的空缺,将解答填入答题纸的对应栏内。

【说明】
设[a1b1],[a2,b2],...,[an,bn]是数轴上从左到右排列的n个互不重叠的区间(a1<b1<a2<b2...<an<bn).以下流程图将一个新的区间[A,B](A<B)添加到上述区间集,形成新的从左到右排列的若千个互不重叠的区间(若A、B落在原有的两个区间,则以原有区间最左端点和最右端点为基准,形成新的区间),最后依次输出这些区间的端点。
例如,给定区间集:[1,2],[4,6],[8,10],[13,15],[17,20],添加区间[5,14]后,依次输出1,2,4,15,17,20,表示合并后的区间集:[1,2],[4,15],[17,20]。
该流程图采用的算法是:先在a1,b1,a2,b2,...,an,bn中扫描定位A点,再继续描定位B点,在扫描过程中随时输出已确定的区间的端点值。

 

(共15分)
阅读以下C代码,回答问题1和问题2,将解答填入答题纸的对应栏内。
【C代码1】

问题:2.1   (7分)
写出C代码1运行时分别输入-1331、795的输出结果。

问题:2.2   写出【C代码2】运行时的输出结果。

问题:3.1   (共15分)
阅读以下说明和C代码,填写程序中的空(1)〜(6),将解答写入答题纸的对应栏内。

【说明】
某地电价分三档:
(1)当月用电量不超过180度时,每度电0.5元:
(2)当月用电量超出180度但不超过360度的部分,每度电0.55元:
(3)当月用电量超过360度的部分,每度电0.7元。
例如,某户A一个月的用电量为150度,其电费为150*0.5=75.00元;某户B用电量为280度,其电费为180*0.5+(280-180)*0.55=145.00元;某户C用电量为450度,其电费为180*0.5+(360-180)*0.55+(450-360)*0.7=90.0+99.0+63.0=252.00元
下面程序运行时读入m(m>0)个住户某月的用电量,计算该月每户应缴的电费并输出,同时找出这m个住户中该月的最大用电量和最小用电量。

问题:4.1   (共15分)
阅读以下说明和C代码,填写程序中的空(1)〜(6),将解答写入答题纸的对应栏内。

【说明】
函数insertElem 的功能是在元素升序排列的数组中加入一个新元素并保持数组元素升序排列的特点。在main函数中输入若干表示价格的实数,输入为0或负数或实数个数超出限定数量时终止,调用insertElem将价格按升序保存在数组pdata中,最后输出所输入的实数。

问题:5.1   (共15分)
阅读以下说明和Java程序,填写程序中的空(1)〜(5),将解答写入答题纸的对应栏内。

【说明】
以下Java代码实现一个简单乐器系统,音乐类(Music)可以使用各类乐器(Inspument)进行演奏和调音等操作。对部分乐器进行建模,其类图如图5-1所示,包括:乐器Inspument)、打击乐器(Percussion)、弦乐器(Spinged)、管乐器(Wind)、木管乐器(Woodwind)、铜管乐器(Brass)。

【Java代码】

答案解析获取:https://ai.52learn.online/9699


转载:https://blog.csdn.net/update7/article/details/113818617
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场