2015年下半年程序员考试下午真题

程序员 责任编辑:YLM 2017-08-18

添加老师微信

备考咨询

加我微信

摘要:以下是由希赛网整理的2015年上半年程序员考试上午真题,希望对备考程序员考试的考生有所帮助。

2015年上半年程序员考试上午真题:

>>>点击进入软考初级程序员历年真题下载

● 阅读以下说明和流程图,填补流程图中的空缺,将解答填入答题纸的对应栏内。
【说明】
下面流程图的功能是:在给定的一个整数序列中查找最长的连续递增子序列。设序列存放在数组 A[1:n](n≥2)中,要求寻找最长递增子序列 A[K: K+L-1] (即A[K]<A[K+1]<…<A[K+L-1])。流程图中,用 Kj 和Lj 分别表示动态子序列的起始下标和长度,最后输出最长递增子序列的起始下标 K 和长度 L。
例如,对于序列 A={1 ,2,4,4 ,5,6,8,9,4,5,8},将输出K=4, L=5。
【流程图】
1.png

注:循环开始框内应给出循环控制变量的初值和终值,默认递增值为1,格式为: 循环控制变量=初值,终值

● 阅读以下说明和 C 代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
【说明】
下面的代码运行时,从键盘输入一个四位数(各位数字互不相同,可以有0). 取出组成该四位数的每一位数,重组成由这四个数字构成的最大四位数 max4和最小四位数 min4(有0时为三位数).计算 max4与 min4的差值,得到一个新的四位数。若该数不等于 6174, 则重复以上过程,直到得到 6174 为止。
例如,输入 1234,则首先由 4321-1234, 得到 3087;然后由 8730-378,得到 8352;最后由 8532-2358,得到6174。
2.png

● 阅读以下说明和 C 代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
【说明】
对一个整数序列进行快速排序的方法是:在待排序的整数序列中取第一个数作为基准值,然后根据基准值进行划分,从而将待排序列划分为不大于基准值者(称为左子序列)和大于基准值者(称为右子序列),然后再对左子序列和右子序列分别进行快速排序, 最终得到非递减的有序序列。
函数 quicksort(int a[],int n)实现了快速排序,其中,n 个整数构成的待排序列保存在数组元素 a[0]-a[n-1]中。
3.png

●阅读以下说明和 C 代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
【说明】
函数 GetListElemPtr(LinkList L,int i)的功能是查找含头结点单链表的第i个元素。若找到,则返回指向该结点的指针,否则返回空指针。
函数DelListElem(LinkList L,int i,ElemType *e) 的功能是删除含头结点单链表的第 i个元素结点,若成功则返回 SUCCESS ,并由参数e 带回被删除元素的值,否则返回ERROR 。
例如,某含头结点单链表 L 如图 4-1 (a) 所示,删除第 3 个元素结点后的单链表如 图 4-1 (b) 所示。
4.png5.png
5.png

● 阅读以下说明和 C++代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
【说明】
在股票交易中,股票代理根据客户发出的股票操作指示进行股票的买卖操作。其类图如图5-1所示,相应的c++代码附后。
6.png7.png

● 阅读以下说明和 Java 代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
【说明】
在股票交易中,股票代理根据客户发出的股票操作指示进行股票的买卖操作。其类图如图 6-1 所示。相应的Java 代码附后。
8.png【 Java 代码】
import java.util.ArrayList;
import java.util.List;class Stock {
private String name;
private int quantity;
public Stock(String name ,int quantity) {
this.name = name; this.quantity = quantity;
}
public void buy__(6)__ { System.out.println("[ 买进]: " + name + ",数量. "
+ quantity);}
public void sell__(7)__ { System.out.println("[ 卖出]: " + name + ",数量. "
+ quantity);}
}
interface Order {
void execute__(8)__;
}
class BuyStock > (1) Order {
private Stock stock;public BuyStock(Stock stock) { >(2) = stock; }
public void execute__(9)__ { stock.buy__(10)__;}
}//类SellStock实现和BuyStock 类似,略 class Broker {
private List<Order> orderList = new ArrayList<Order>__(11)__;
public void takeOrder(>(3) order) { orderList.add(order); }
public void placeOrders__(12)__ {
for (> (4) order : orderList) { order.execute__(13)__; }
orderList.clear__(14)__;
}
}public class StockCommand {
public static void main(String[] args) {
Stock aStock = new Stock("股票 A" ,10);
Stock bStock = new Stock("股票 B" ,20);Order buyStockOrder = new BuyStock(aStock);
Order sellStockOrder = new SellStock(bStock );Broker broker = new Broker__(15)__;
broker.takeOrder(buyStockOrder);
broker.takeOrder(sellStockOrder);
broker. >(5) ;
}
}

更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

软考备考资料免费领取

去领取