女人久久久www免费人成看片,国内自拍偷拍网,国产一区二区三区免费在线观看,欧美精品三区四区,91久久国产综合久久91,欧美成人精品第一区二区三区 ,美女成人在线观看

軟題庫(kù) 學(xué)習(xí)課程
試卷年份2014年上半年
試題題型【分析簡(jiǎn)答題】
試題內(nèi)容

閱讀下列說(shuō)明和Java代碼,將應(yīng)填入 (n)處的字句卸載答題紙的對(duì)應(yīng)欄內(nèi).
【說(shuō)明】
某實(shí)驗(yàn)室欲建立一個(gè)實(shí)驗(yàn)室環(huán)境監(jiān)測(cè)系統(tǒng),能夠顯示實(shí)驗(yàn)室的溫度、濕度以及潔凈度等環(huán)境數(shù)據(jù)。當(dāng)獲取到最新的環(huán)境測(cè)量數(shù)據(jù)時(shí),顯示的環(huán)境數(shù)據(jù)能夠更新。
現(xiàn)在采用觀察者(Observer)模式來(lái)開(kāi)發(fā)該系統(tǒng)。觀察者模式的類(lèi)圖如圖6-1所示。

【Java代碼】
import java.util.*;
interface Observer {
public void update(float temp, float humidity, float cleanness);
}
interface Subject {
public void registerObserver(Observer o); //注冊(cè)對(duì)主題感興趣的觀察者
public void removeObserver(Observer o);   //刪除觀察者
public void notifyObservers();             //當(dāng)主題發(fā)生變化時(shí)通知觀察者
}
class EnvironmentData implements     (1)     {
private ArrayList observers;
private float temperature, humidity, cleanness;
public EnvironmentData() {   observers = new ArrayList(); }
public void registerObserver(Observer o) { observers.add(o); }
public void removeObserver(Observer o)   { /* 代碼省略 */ }
public void notifyObservers() {
for (int i = 0; i < observers.size(); i++) {
Observer observer = (Observer)observers.get(i);
(2)   ;
}
}
public void measurementsChanged() {    (3)   ; }
public void setMeasurements(float temperature, float humidity, float cleanness) {
this.temperature = temperature;
this.humidity = humidity;
this.cleanness = cleanness;
(4)    ;
}
}
class CurrentConditionsDisplay implements      (5)      {
private float temperature;
private float humidity;
private float cleanness;
private Subject envData;
public CurrentConditionsDisplay(Subject envData) {
this.envData = envData;
(6)   ;
}
public void update(float temperature, float humidity, float cleanness) {
this.temperature = temperature;
this.humidity = humidity;
this.cleanness = cleanness;
display();
}
public void display() {/* 代碼省略 */ }
}
class EnvironmentMonitor{
public static void main(String[] args) {
EnvironmentData envData = new EnvironmentData();
CurrentConditionsDisplay currentDisplay = new CnrrentConditionsDisplay(envData);
envData.setMeasurements(80, 65, 30.4f);
}
}

查看答案

相關(guān)試題

3題: 閱讀下列說(shuō)明和圖,回答問(wèn)題1至問(wèn)題3,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
某高校圖書(shū)館欲建設(shè)一個(gè)圖書(shū)館管理系統(tǒng),目前已經(jīng)完成了需求分析階段的工作。功能需求均使用用例進(jìn)行描述,其中用例“借書(shū)(Check Out Books)”的詳細(xì)描述如下。
參與者:讀者(Patron)。
典型事件流:
1.輸入讀者ID;
2.確認(rèn)該讀者能夠借閱圖書(shū),并記錄讀者ID;
3.輸入所要借閱的圖書(shū)ID;
4.根據(jù)圖書(shū)目錄中的圖書(shū)ID確認(rèn)該書(shū)可以借閱,計(jì)算歸還時(shí)間,生成借閱記錄;
5.通知讀者圖書(shū)歸還時(shí)間。
重復(fù)步驟3~5,直到讀者結(jié)束借閱圖書(shū)。
備選事件流:
2a.若讀者不能借閱圖書(shū),說(shuō)明讀者違反了圖書(shū)館的借書(shū)制度(例如,沒(méi)有支付借書(shū)費(fèi)用等)
①告知讀者不能借閱,并說(shuō)明拒絕借閱的原因;
②本用例結(jié)束。
4a.讀者要借閱的書(shū)無(wú)法外借
①告知讀者本書(shū)無(wú)法借閱;
②回到步驟3。
說(shuō)明:圖書(shū)的歸還時(shí)間與讀者的身份有關(guān)。如果讀者是教師,圖書(shū)可以借閱一年; 如果是學(xué)生,則只能借閱3個(gè)月。讀者ID中包含讀者身份信息。
現(xiàn)采用面向?qū)ο蠓椒ㄩ_(kāi)發(fā)該系統(tǒng),得到如圖3-1所示的系統(tǒng)類(lèi)模型(部分);以及如圖3-2所示的系統(tǒng)操作“checkOut(bookID)(借書(shū))”通信圖(或協(xié)作圖)。




【問(wèn)題1】(8分)
根據(jù)說(shuō)明中的描述,以及圖3-1和圖3-2,給出圖3-1中C1-C4處所對(duì)應(yīng)的類(lèi)名(類(lèi) 名使用圖3-1和圖3-2中給出的英文詞匯)。
【問(wèn)題2】(4分)
根據(jù)說(shuō)明中的描述,以及圖3-1和圖3-2,給出圖3-2中M1-M4處所對(duì)應(yīng)的方法名(方法名使用圖3-1和圖3-2中給出的英文詞匯)。
【問(wèn)題3】(3分)
用例“借書(shū)”的備選事件流4a中,根據(jù)借書(shū)制度來(lái)判定讀者能否借閱圖書(shū)。若圖書(shū)館的借書(shū)制度會(huì)不斷地?cái)U(kuò)充,并需要根據(jù)圖書(shū)館的實(shí)際運(yùn)行情況來(lái)調(diào)整具體使用哪些制度。為滿(mǎn)足這一要求,在原有類(lèi)設(shè)計(jì)的基礎(chǔ)上,可以釆用何種設(shè)計(jì)模式?簡(jiǎn)要說(shuō)明原因。
答案解析與討論:m.xiexiliangjiufa.com/st/381417404.html

4題: 閱讀下列說(shuō)明和C代碼,回答問(wèn)題1至問(wèn)題3,將解答寫(xiě)在答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
采用歸并排序?qū)個(gè)元素進(jìn)行遞增排序時(shí),首先將n個(gè)元素的數(shù)組分成各含n/2個(gè)元素的兩個(gè)子數(shù)組,然后用歸并排序?qū)蓚€(gè)子數(shù)組進(jìn)行遞歸排序,最后合并兩個(gè)已經(jīng)排好序的子數(shù)組得到排序結(jié)果。
下面的C代碼是對(duì)上述歸并算法的實(shí)現(xiàn),其中的常量和變量說(shuō)明如下:
arr:待排序數(shù)組
p,q,r:一個(gè)子數(shù)組的位置從p到q,另一個(gè)子數(shù)組的位置從q+1到r
begin,end:待排序數(shù)組的起止位置
left,right:臨時(shí)存放待合并的兩個(gè)子數(shù)組
n1,n2:兩個(gè)子數(shù)組的長(zhǎng)度
i,j,k:循環(huán)變量
mid:臨時(shí)變量
【C代碼】
#inciude
#inciude
#define MAX 65536
void merge(int arr[],int p,int q,int r) {
int *left, *right;
int n1,n2,i,j,k;
n1=q-p+1;
n2=r-q;
if((left=(int*)malloc((n1+1)*sizeof(int)))=NULL) {
perror("malloc error");
exit(1);
}
if((right=(int*)malloc((n2+1)*sizeof(int)))=NULL) {
perror("malloc error");
exit(1);
}
for(i=0;ileft[i]=arr[p+i];
}
left[i]=MAX;
for(i=0; i right[i]=arr[q+i+1]
}
right[i]=MAX;
i=0; j=0;
for(k=p;   (1)  ; k++) {
if(left[i]> right[j]) {
(2)  ;
j++;
}else {
arr[k]=left[i];
i++;
}
}
}
void mergeSort(int arr[],int begin,int end){
int mid;
if(  (3)  ){
mid=(begin+end)/2;
mergeSort(arr,begin,mid);
(4)  ;
merge(arr,begin,mid,end);
}
}
【問(wèn)題1】
根據(jù)以上說(shuō)明和C代碼,填充1-4。
【問(wèn)題2】
根據(jù)題干說(shuō)明和以上C代碼,算法采用了(5)算法設(shè)計(jì)策略。
分析時(shí)間復(fù)雜度時(shí),列出其遞歸式位(6),解出漸進(jìn)時(shí)間復(fù)雜度為(7)(用O符號(hào)表示)??臻g復(fù)雜度為(8)(用O符號(hào)表示)。
【問(wèn)題3】
兩個(gè)長(zhǎng)度分別為n1和n2的已經(jīng)排好序的子數(shù)組進(jìn)行歸并,根據(jù)上述C代碼,則元素之間比較次數(shù)為(9)。
答案解析與討論:m.xiexiliangjiufa.com/st/3814226162.html

5題: 閱讀下列說(shuō)明和C++代碼,將應(yīng)填入 (n)處的字句寫(xiě)在答題紙的對(duì)應(yīng)欄內(nèi).
【說(shuō)明】
某實(shí)驗(yàn)室欲建立一個(gè)實(shí)驗(yàn)室環(huán)境監(jiān)測(cè)系統(tǒng),能夠顯示實(shí)驗(yàn)室的溫度、濕度以及潔凈度等環(huán)境數(shù)據(jù)。當(dāng)獲取到最新的環(huán)境測(cè)量數(shù)據(jù)時(shí),顯示的環(huán)境數(shù)據(jù)能夠更新。
現(xiàn)在采用觀察者(Observer)模式來(lái)開(kāi)發(fā)該系統(tǒng)。觀察者模式的類(lèi)圖如圖5-1所示。

【C++代碼】
#include
#include
using namespace std;
class Observer {
public:
virtual void update(float temp, float humidity, float cleanness)=0;
};
class Subject {
public:
virtual void registerObserver(Observer* o) = 0; //注冊(cè)對(duì)主題感興趣的觀察者
virtual void removeObserver(Observer* o) = 0; //刪除觀察者
virtual void notifyObservers() = 0;//當(dāng)主題發(fā)生變化時(shí)通知觀察者
};
class EnvironmentData : public     (1)     {
private:
vector observers;
float temperature, humidity, cleanness;
public:
void registerObserver(Observer* o) { observers.push_back(o); }
void removeObserver(Observer* o) { /* 代碼省略 */ }
void notifyObservers() {
for(vector::const_iterator it = observers.begin();            it != observers.end(); it++)
{       (2)    ; }
}
Void measurementsChanged() {     (3)    ; }
void setMeasurements(float temperature, float humidity, float cleanness) {
this->temperature = temperature;
this->humidity = humidity;
this->cleanness = cleanness;
(4)    ;
}
};
class CurrentConditionsDisplay : public     (5)    {
private:
float temperature, humidity, cleanness;
Subject* envData;
public:
CurrentConditionsDisplay(Subject* envData) {
this->envData = envData;
(6)   ;
}
void update(float temperature, float humidity, float cleanness)  {this->temperature = temperature;
this->humidity = humidity;
this->cleanness = cleanness;
display();
}
void display() { /* 代碼省略 */ }
};
int main() {
EnvironmentData* envData = new EnvironmentData();
CurrentConditionsDisplay* currentDisplay = new CurrentConditionsDisplay(envData);
envData->setMeasurements(80, 65, 30.4f);
return 0;
}
答案解析與討論:m.xiexiliangjiufa.com/st/3814319684.html