天堂888-欧美黄色小说-熟睡侵犯の奶水授乳在线-初尝情欲h名器av-亚洲天堂免费视频-日韩五十路-免费在线国产-国产又大又黄又粗-久草导航-色播导航-亚洲免费资源-熟女一区二区三区视频-亚洲美女视频在线-亚洲成人福利视频-婷婷精品在线-亚洲综合p-中文字幕 日本-亚洲骚片-亚洲自拍偷拍网-国产农村妇女精品一区二区-午夜中出-久久精品国产精品亚洲毛片-91精品毛片-99爱视频在线-狠狠操亚洲-美女让人操-里番本子纯肉侵犯肉全彩无码-999偷拍

2018上半年軟件設計師下午真題(二)

軟件設計師 責任編輯:胡媛 2018-06-01

添加老師微信

備考咨詢

加我微信

摘要:2018上半年軟件設計師考試已結束,小編為大家整理了2018上半年軟件設計師下午真題,以下為第二部分。

●  閱讀下列說明,回答問題1至問題3,將解答填入答題紙的對應欄內。

【說明】

某ETC( Electronic Toll Collection,不停車收費)系統在高速公路沿線的特定位置上設置一個橫跨道路上空的龍門架( Toll gantry),龍門架下包括6條車道( Traffic lanes),每條車道上安裝有雷達傳感器( Radar sensor)、無線傳輸器( Radio transceiver)和數碼相機( Digital Camera)等用于不停車收費的設備,以完成正常行駛速度下的收費工作。該系統的基本工作過程如下:

(1)每輛汽車上安裝有車載器,駕駛員( Driver)將一張具有識別碼的磁卡插入車載器中。磁卡中還包含有駕駛員賬戶的當前信用記錄。

(2)當汽車通過某條車道時,不停車收費設備識別車載器內的特有編碼,判斷車型,將收集到的相關信息發送到該路段所屬的區域系統( Regional center)中,計算通行費用創建收費交易( Transaction),從駕駛員的專用賬戶中扣除通行費用。如果駕駛員賬戶透支,則記錄透支賬戶交易信息。區域系統再將交易后的賬戶信息發送到維護駕駛員賬戶信息的中心系統( Central system)

(3)車載器中的磁卡可以使用郵局的付款機進行充值。充值信息會傳送至中心系統,以更新駕駛員賬戶的余額。

(4)當沒有安裝車載器或者車載器發生故障的車輛通過車道時,車道上的數碼相機將對車輛進行拍照,并將車輛照片及拍攝時間發送到區域系統,記錄失敗的交易信息;并將該交易信息發送到中心系統。

(5)區域系統會獲取不停車收費設備所記錄的交通事件( Traffic events);交通廣播電臺( Traffic advice center)根據這些交通事件進行路況分析并播報路況。

現采用面向對象方法對上述系統進行分析與設計,得到如表3-1所示的用例列表以及如圖3-1所示的用例圖和圖3-2所示的分析類圖。

2018上半年軟件設計師下午真題

【問題1】(4分)

根據說明中的描述,給出圖3-1中A1~A4所對應的參與者名稱。

【問題2)(5分)

根據說明中的描述及表3-1,給出圖3-1中U1-U5所對應的用例名稱。

【問題3】(6分)

根據說明中的描述,給出圖3-2中C1~C6所對應的類名。


● 閱讀下列說明和C代碼,回答問題1和問題2,將解答填入答題紙的對應欄內。

【說明】

某公司購買長鋼條,將其切割后進行出售。切割鋼條的成本可以忽略不計,鋼條的長度為整英寸。已知價格表P,其中中Pi(i=1,2,...,m)表示長度為i英寸的鋼條的價格。現要求解使銷售收益最大的切割方案。

求解此切割方案的算法基本思想如下:

假設長鋼條的長度為n英寸,最佳切割方案的最左邊切割段長度為i英寸,則繼續求解剩余長度為n-i 英寸鋼條的最佳切割方案。考慮所有可能的i,得到的最大收益rn對應的切割方案即為最佳切割方案。rn的遞歸定義如下:

rn =max1≤ i ≤n(pi +rn-i)

對此遞歸式,給出自頂向下和自底向上兩種實現方式

【C代碼】

/*常量和變量說明

n:長鋼條的長度

P[]:價格數組

*/

#define LEN 100

int Top_Down_ Cut_Rod(int P[],int n){/*自頂向下*/

int r=0;

int i;

if(n==0){

retum 0;

}

for(i=1;(1);i++){

int tmp=p[i]+Top_Down_ Cut_Rod(p,n-i);

r=(r>=tmp)?r:tmp;

}

return r;

}

int Bottom_Up_Cut_Rod(int p[],int n){ /*自底向上*/

int r[LEN]={0};

int temp=0;

int i,j;

for(j=1;j<=n;j++){

temp=0;

for(i=1;(2);i++){

temp=(3);

}

(4)

}

return r[n];

}

【問題1】(8分)

根據說明,填充C代碼中的空(1)~(4)。

【問題2】(7分)

根據說明和C代碼,算法采用的設計策略為(5)。

求解rn時,自頂向下方法的時間復雜度為(6);自底向上方法的時間復雜度為(7)(用O表示)。

● 閱讀下列說明和C++代碼,將應填入(n)處的字句寫在答題紙的對應欄內。

【說明】

生成器( Builder)模式的意圖是將一個復雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。圖5-1所示為其類圖。

  2018上半年軟件設計師下午真題

【C++代碼】

#include <iostream>

#include <string>

using namespace std;

class Product {

private:

string partA, partB;

public:

Product__(5)__{  }

void setPartA(const string&s){ PartA=s;}

void setPartB(const string&s){ PartB=s;}

∥其余代碼省略

};

class Builder{

public:

(1);

virtual void buildPartB__(6)__=0;

(2);

};

class ConcreteBuilder1: public Builder{

private:

Product*   product;

public:

ConcreteBuilder1__(7)__{product=new Product__(8)__; }

void buildPartA__(9)__{ (3)("Component A");}

void buildPartB__(10)__{ (4)("Component B");}

Product*getResult__(11)__{ return product;}

∥其余代碼省略

};

class ConcreteBuilder2: public Builder{

/*代碼省略*/

};

class Director {

private:

Builder* builder;

public:

Director(Builder*pBuilder){builder*pBuilder;}

void construct__(12)__{

(5)

∥其余代碼省略

}

∥其余代碼省略

};

int main__(13)__{

Director* director1=new Director(new ConcreteBuilder1__(14)__);

director1->construct__(15)__;

delete director 1;

return 0;

}


>>>>>>2018上半年軟件設計師下午真題匯總

>>>>>>查看更多軟件設計師歷年真題

備考資料:視頻課程備考資料  |  免費課程

真題練習:歷年真題 每日一練  |  在線試題庫

更多資料
更多課程
更多真題
溫馨提示:因考試政策、內容不斷變化與調整,本網站提供的以上信息僅供參考,如有異議,請考生以權威部門公布的內容為準!

軟考備考資料免費領取

去領取

!
咨詢在線老師!