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

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

閱讀下列說明和 Java代碼,將應(yīng)填入 (n) 處的字句寫在答題紙的對應(yīng)欄內(nèi)。
【說明】
某快餐廳主要制作并出售兒童套餐,一般包括主餐(各類比薩)、飲料和玩具,其餐品種類可能不同,但其制作過程相同。前臺(tái)服務(wù)員 (Waiter) 調(diào)度廚師制作套餐?,F(xiàn)采用生成器 (Builder) 模式實(shí)現(xiàn)制作過程,得到如圖 6-1 所示的類圖。

【Java代碼】
class Pizza {
private String parts;
public void setParts(String parts) {     this.parts = parts; }
public String toString() {      return this.parts;   }
}

abstract class PizzaBuilder {
protected Pizza pizza;
public Pizza getPizza() { return pizza;  }
public void createNewPizza() {      pizza = new Pizza();     }
public  (1)   ;
}

class HawaiianPizzaBuilder extends PizzaBuilder {
public void buildParts() {     pizza.setParts("cross + mild + ham&pineapp1e”};
}

class SpicyPizzaBuilder extends PizzaBuilder {
public void buildParts() { pizza.setParts("pan baked + hot + pepperoni&salami");          }
}

class Waiter {
private PizzaBuilder pizzaBuilder;
public void setPizzaBuilder(PizzaBuilder pizzaBuilder) {  /*設(shè)置構(gòu)建器*/
( 2 )    ;
}
public Pizza getPizza(){ return pizzaBuilder.getPizza(); }
public void construct() {      /*構(gòu)建*/
pizzaBuilder.createNewPizza();
( 3 )   ;
}
}

Class FastFoodOrdering {
public static viod mainSting[]args) {
Waiter waiter = new Waiter();
PizzaBuilder hawaiian_pizzabuilder = new HawaiianPizzaBuilder();

( 4 )    ;
( 5 )    ;
System.out.println("pizza: " + waiter.getPizza());
}
}

程序的輸出結(jié)果為:
Pizza:cross + mild + ham&pineapple

查看答案

相關(guān)試題

3題: 閱讀下列系統(tǒng)設(shè)計(jì)說明,回答問題1至問題3,將解答填入答題紙的對應(yīng)欄內(nèi)。
【說明】
某玩具公司正在開發(fā)一套電動(dòng)玩具在線銷售系統(tǒng),用于向注冊會(huì)員提供端對端的玩具 定制和銷售服務(wù)。在系統(tǒng)設(shè)計(jì)階段,"創(chuàng)建新訂單 (New Order)" 的設(shè)計(jì)用例詳細(xì)描述如表 3-1 所示,候選設(shè)計(jì)類分類如表 3-2 所示,并根據(jù)該用例設(shè)計(jì)出部分類圖如圖3-1所示。
表 3-1 創(chuàng)建新訂單 (NewOrder) 設(shè)計(jì)用例


表3-2 候選設(shè)計(jì)類分類


在訂單處理的過程中,會(huì)員可以點(diǎn)擊“取消訂單"取消該訂單。如果支付失敗,該訂單將被標(biāo)記為掛起狀態(tài),可后續(xù)重新支付,如果掛起超時(shí)30分鐘未支付,系統(tǒng)將自動(dòng)取消該訂單。訂單支付成功后,系統(tǒng)判斷訂單類型: (1)對于常規(guī)訂單,標(biāo)記為備貨狀態(tài),訂單信息發(fā)送到貨運(yùn)部,完成打包后交付快遞發(fā)貨;     (2)對于定制訂單,會(huì)自動(dòng)進(jìn)入定制狀態(tài),定制完成后交付快遞發(fā)貨。會(huì)員在系統(tǒng)中點(diǎn)擊”收貨"按鈕變?yōu)槭肇洜顟B(tài),結(jié)束整個(gè)訂單的處理流程。根據(jù)訂單處理過程所設(shè)計(jì)的狀態(tài)圖如圖3-2所示。
圖3-2 訂單狀態(tài)圖
【問題1】(6分)
根據(jù)表3-1中所標(biāo)記的候選設(shè)計(jì)類,請按照其類別將編號 C1~C12 分別填入表 3-2  中的(a)、(b)和(c)處。
【問題2】 (4 分)
根據(jù)創(chuàng)建新訂單的用例描述,請給出圖3-1中X1~X4處對應(yīng)類的名稱。
【問題3】 (5分)
根據(jù)訂單處理過程的描述,在圖 3-2 中S1~S5處分別填入對應(yīng)的狀態(tài)名稱。
答案解析與討論:m.xiexiliangjiufa.com/st/3842121292.html

4題: 閱讀下列說明和C代碼,回答問題 1 至問題 3,將解答寫在答題紙的對應(yīng)欄內(nèi)。
【說明】
假幣問題:有n枚硬幣,其中有一枚是假幣,己知假幣的重量較輕?,F(xiàn)只有一個(gè)天平,要求用盡量少的比較次數(shù)找出這枚假幣。
【分析問題】
將n枚硬幣分成相等的兩部分:
(1)當(dāng)n為偶數(shù)時(shí),將前后兩部分,即 1...n/2和n/2+1...0,放在天平的兩端,較輕的一端里有假幣,繼續(xù)在較輕的這部分硬幣中用同樣的方法找出假幣:
(2)當(dāng)n為奇數(shù)時(shí),將前后兩部分,即1..(n -1)/2和(n+1)/2+1...0,放在天平的兩端,較輕的一端里有假幣,繼續(xù)在較輕的這部分硬幣中用同樣的方法找出假幣;若兩端重量相等,則中間的硬幣,即第 (n+1)/2枚硬幣是假幣。
【C代碼】
下面是算法的C語言實(shí)現(xiàn),其中:
coins[]: 硬幣數(shù)組
first,last:當(dāng)前考慮的硬幣數(shù)組中的第一個(gè)和最后一個(gè)下標(biāo)

#include

int getCounterfeitCoin(int coins[], int first,int last)
{
int firstSum = 0,lastSum = 0;
int ì;
If(first==last-1){       /*只剩兩枚硬幣*/
if(coins[first]< coins[last])
return first;
return last;
}

if((last - first + 1) % 2 ==0){      /*偶數(shù)枚硬幣*/
for(i = first;i<( 1 );i++){
firstSum+= coins[i];
}
for(i=first + (last-first) / 2 + 1;i< last +1;i++){
lastSum += coins[i];
}
if(   2   ){
Return getCounterfeitCoin(coins,first,first+(last-first)/2;)
}else{
Return getCounterfeitCoin(coins,first+(last-first)/2+1,last;)
}
}
else{      /*奇數(shù)枚硬幣*/
For(i=first;i<="" p="">
firstSum+=coins[i];
}
For(i=first+(last-first)/2+1;i
lastSum+=coins[i];
}
If(firstSum
return getCounterfeitCoin(coins,first,first+(last-first)/2-1);
}else if(firstSum>lastSum){
return getCounterfeitCoin(coins,first+(last-first)/2-1,last);
}else{
Return(  3   )
}
}
}
【問題一】
根據(jù)題干說明,填充C代碼中的空(1)-(3)
【問題二】
根據(jù)題干說明和C代碼,算法采用了(   )設(shè)計(jì)策略。
函數(shù)getCounterfeitCoin的時(shí)間復(fù)雜度為(   )(用O表示)。
【問題三】
若輸入的硬幣數(shù)為30,則最少的比較次數(shù)為(  ),最多的比較次數(shù)為(   )。
答案解析與討論:m.xiexiliangjiufa.com/st/3842215171.html

5題: 閱讀下列說明和 C++代碼,將應(yīng)填入(n)處的字句寫在答題紙的對應(yīng)欄內(nèi)。
【說明】
某快餐廳主要制作井出售兒童套餐,一般包括主餐(各類比薩)、飲料和玩具,其餐品種類可能不同,但其制作過程相同。前臺(tái)服務(wù)員(Waiter)調(diào)度廚師制作套餐?,F(xiàn)采用生成器(Builder) 模式實(shí)現(xiàn)制作過程,得到如圖 5-1 所示的類圖。

圖5-1    類圖
【C++代碼】
#include
#include
using namespace std;

class Pizza {
private: string parts;
public:
void setParts(string parts) {     this->parts=parts;  }
string getParts() {  return parts;   }
};
class PizzaBuilder {
protected:Pizza* pizza;
public:
Pizza* getPizza() {  retum pizza;  }
void createNewPizza() { pizza = new Pizza();     }
(   1   );
}
class HawaiianPizzaBuilder :public PizzaBuilder {
public:
void buildParts() { pizza->setParts("cross +mild + ham&pineapple");   }
};
class SpicyPizzaBuider: public PizzaBuilder {
public:
void buildParts() { pizza->setParts("pan baked +hot + ham&pineapple");    }

}

Class Waiter{
Private:
PizzaBuilder* pizzaBuilder;
public:
void setPizzaBuilder(PizzaBuilder* pizzaBuilder) {   /*設(shè)置構(gòu)建器*/
(  2  )
}
Pizza* getPizza() {  return pizzaBuilder->getPizza(); }
void construct() {     /*構(gòu)建*/
pizzaBuilder->createNewPizza();
(  3  )
}
};

int main(){
Waiter*waiter=new Waiter();
PizzaBuilder*hawaiian pizzabuilder=new HawaiianPizzaBuilder()

(   4  );
(   5  );
cout<< "pizza: "<< waiter->getPizza()->getParts()<< endl;
}
程序的輸出結(jié)果為:
pizza: cross + mild + ham&pineapple
答案解析與討論:m.xiexiliangjiufa.com/st/384239657.html