久久久久久a|尺度大的美剧未删减电影完整|天堂中文av|91色欧美,甜蜜人生在线观看电视剧免费完整版国语版 ,长月烬明电视剧在线观看,彗星撞地球电影完整版在线观看

<kbd id="zl75z"><div id="zl75z"></div></kbd><big id="zl75z"><dfn id="zl75z"></dfn></big>
<table id="zl75z"><optgroup id="zl75z"></optgroup></table>
  • <rt id="zl75z"><dfn id="zl75z"><menuitem id="zl75z"></menuitem></dfn></rt>

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

    閱讀下列說(shuō)明和C++代碼,將應(yīng)填入  (n)  處的字句寫(xiě)在答題紙的對(duì)應(yīng)欄內(nèi)。
    【說(shuō)明】
    某發(fā)票(lnvoice)由抬頭(Head)部分、正文部分和腳注(Foot)部分構(gòu)成。現(xiàn)采用裝飾( Decorator)模式實(shí)現(xiàn)打印發(fā)票的功能,得到如圖5-1所示的類圖。

    【C++代碼】
    #include
    using namespace std;
    class Invoice{ public:
    (1)    {
    cout<<"This is the content of the invoice!"< }
    };
    class Decorator : public Invoice {
    Invoice *ticket;
    public:
    Decorator(lnvoice *t)      { ticket = t; }
    void printInvoice(){
    if(ticket != NULL)  (2);
    }
    };
    class HeadDecorator : public Decorator{
    public:
    HeadDecorator(lnvoice*t): Decorator(t) { }
    void printInvoice() {
    cout<< "This is the header of the invoice! "<< endl;
    (3)      ;
    }
    };
    class FootDecorator : public Decorator{
    public:
    FootDecorator(Invoice *t): Decorator(t) { }
    void printlnvoice(){
    (4)   ;
    cout<< "This is the footnote of the invoice!"<< endl;
    }
    };
    int main(void) {
    Invoice t;
    FootDecorator f(&t);
    HeadDecorator h(&f);
    h.printInvoice();
    cout<<”------------------------”< FootDecorator a(NULL)
    HeadDecorator b(     (5)    );
    b.printInvoice();
    return 0;
    }
    程序的輸出結(jié)果為:
    This is the header of the invoice!
    This is the content of the invoice!
    This is the footnote of the invoice!
    ----------------------------
    This is the header of the invoice!
    This is the footnote of the invoice!

    查看答案

    相關(guān)試題

    2題: 閱讀下列說(shuō)明,回答問(wèn)題1至問(wèn)題3,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
    【說(shuō)明】
    某賓館為了有效地管理客房資源,滿足不同客戶需求,擬構(gòu)建一套賓館信息管理系統(tǒng),以方便賓館管理及客房預(yù)訂等業(yè)務(wù)活動(dòng)。
    【需求分析結(jié)果】
    該系統(tǒng)的部分功能及初步需求分析的結(jié)果如下:
    (1)賓館有多個(gè)部門,部門信息包括部門號(hào)、部門名稱、電話、經(jīng)理。每個(gè)部門可以有多名員工,每名員工只屬于一個(gè)部門;每個(gè)部門只有一名經(jīng)理,負(fù)責(zé)管理本部門。
    (2)員工信息包括員工號(hào)、姓名、崗位、電話、工資,其中,員工號(hào)唯一標(biāo)識(shí)員工關(guān)系中
    的一個(gè)元組,崗位有經(jīng)理、業(yè)務(wù)員。
    (3)客房信息包括客房號(hào)(如1301、1302等)、客房類型、收費(fèi)標(biāo)準(zhǔn)、入住狀態(tài)(已入住/未入?。?,其中客房號(hào)唯一標(biāo)識(shí)客房關(guān)系中的一個(gè)元組,不同客房類型具有不同的收費(fèi)標(biāo)準(zhǔn)。
    (4)客戶信息包括客戶號(hào)、單位名稱、聯(lián)系人、聯(lián)系電話、聯(lián)系地址,其中客戶號(hào)唯一標(biāo)識(shí)客戶關(guān)系中的一個(gè)元組。
    (5)客戶預(yù)訂客房時(shí),需要填寫(xiě)預(yù)訂申請(qǐng)。預(yù)訂申請(qǐng)信息包括申請(qǐng)?zhí)?、客戶?hào)、入住時(shí)間、入住天數(shù)、客房類型、客房數(shù)量,其中,一個(gè)申請(qǐng)?zhí)栁ㄒ粯?biāo)識(shí)預(yù)訂申請(qǐng)中的一個(gè)元組;一位客戶可以有多個(gè)預(yù)訂申請(qǐng),但一個(gè)預(yù)訂申請(qǐng)對(duì)應(yīng)唯一的一位客戶。
    (6)當(dāng)客戶入住時(shí),業(yè)務(wù)員根據(jù)客戶的預(yù)訂申請(qǐng)負(fù)責(zé)安排入住客房事宜。安排信息包括客房號(hào)、姓名、性別、身份證號(hào)、入住時(shí)間、天數(shù)、電話,其中客房號(hào)、身份證號(hào)和入住時(shí)間唯一標(biāo)識(shí)一次安排。一名業(yè)務(wù)員可以安排多個(gè)預(yù)訂申請(qǐng),一個(gè)預(yù)訂申請(qǐng)只由一名業(yè)務(wù)員安排,而且可安排多間同類型的客房。
    【概念模型設(shè)計(jì)】
    根據(jù)需求階段收集的信息,設(shè)計(jì)的實(shí)體聯(lián)系圖如圖2-1所示。

    【關(guān)系模式設(shè)計(jì)】
    部門(部門號(hào),部門名稱,經(jīng)理,電話)
    員工(員工號(hào),    ( a   ),姓名,崗位,電話,工資)
    客戶(  ( b )  ,聯(lián)系人,聯(lián)系電話,聯(lián)系地址)
    客房(客房號(hào),客房類型,收費(fèi)標(biāo)準(zhǔn),入住狀態(tài))
    預(yù)訂申請(qǐng)(  ( c)    ,入住時(shí)間,天數(shù),客房類型,客房數(shù)量)
    安排(申請(qǐng)?zhí)?,客房?hào),姓名,性別,   (c)     ,天數(shù),電話,業(yè)務(wù)員)
    【問(wèn)題1】(4分)
    根據(jù)問(wèn)題描述,補(bǔ)充四個(gè)聯(lián)系,完善圖2-1,的實(shí)體聯(lián)系圖。聯(lián)系名可用聯(lián)系1、聯(lián)系2、聯(lián)系3和聯(lián)系4代替,聯(lián)系的類型為1:1、1:n和m:n (或1:1,和1:*和*:*)。
    【問(wèn)題2】(8分)
    根據(jù)題意,將關(guān)系模式中的空(a)~(d)補(bǔ)充完整,并填入答題紙對(duì)應(yīng)的位置上。  (2)給出“預(yù)訂申請(qǐng)”和“安排”關(guān)系模式的主鍵和外鍵。
    【問(wèn)題3】(3分)
    【關(guān)系模式設(shè)計(jì)】中的“客房”關(guān)系模式是否存在規(guī)范性問(wèn)題,請(qǐng)用100字以內(nèi)文字解釋你的觀點(diǎn)(若存在問(wèn)題,應(yīng)說(shuō)明如何修改“客房”關(guān)系模式)。
    答案解析與討論:m.nwblx.com/st/3817019868.html

    3題: 閱讀下列說(shuō)明,回答問(wèn)題1至問(wèn)題3,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
    【說(shuō)明】
    某種出售罐裝飲料的自動(dòng)售貨機(jī)( Vending Machine)的工作過(guò)程描述如下:
    (1)顧客選擇所需購(gòu)買的飲料及數(shù)量。
    (2)顧客從投幣口向自動(dòng)售貨機(jī)中投入硬幣(該自動(dòng)售貨機(jī)只接收硬幣)。硬幣器收集投入的硬幣并計(jì)算其對(duì)應(yīng)的價(jià)值。如果所投入的硬幣足夠購(gòu)買所需數(shù)量的這種飲料且飲料數(shù)量足夠,則推出飲料,計(jì)算找零,顧客取走飲料和找回的硬幣;如果投入的硬幣不夠或者所選購(gòu)的飲料數(shù)量不足,則提示用戶繼續(xù)投入硬幣或重新選擇飲料及數(shù)量。
    (3)一次購(gòu)買結(jié)束之后,將硬幣器中的硬幣移走(清空硬幣器),等待下一次交易。自動(dòng)售貨機(jī)還設(shè)有一個(gè)退幣按鈕,用于退還顧客所投入的硬幣。已經(jīng)成功購(gòu)買飲料的錢是不會(huì)被退回的。

    現(xiàn)采用面向?qū)ο蠓椒ǚ治龊驮O(shè)計(jì)該自動(dòng)售貨機(jī)的軟件系統(tǒng),得到如圖3-1所示的用例圖,其中,用例“購(gòu)買飲料”的用例規(guī)約描述如下。 參與者:顧客。 主要事件流:
    1.顧客選擇需要購(gòu)買的飲料和數(shù)量,投入硬幣;
    2.自動(dòng)售貨機(jī)檢查顧客是否投入足夠的硬幣;
    3.自動(dòng)售貨機(jī)檢查飲料儲(chǔ)存?zhèn)}中所選購(gòu)的飲料是否足夠;
    4.自動(dòng)售貨機(jī)推出飲料;
    5.自動(dòng)售貨機(jī)返回找零。
    各選事件流:
    2a.若投入的硬幣不足,則給出提示并退回到1;
    3a.若所選購(gòu)的飲料數(shù)量不足,則給出提示并退回到1 。
    根據(jù)用例“購(gòu)買飲料”得到自動(dòng)售貨機(jī)的4個(gè)狀態(tài):“空閑”狀態(tài)、“準(zhǔn)備服務(wù)”狀態(tài)、“可購(gòu)買”狀態(tài)以及“飲料出售”狀態(tài),對(duì)應(yīng)的狀態(tài)圖如圖3-2所示。 所設(shè)計(jì)的類圖如圖3-3所示。


    【問(wèn)題1】(6分)
    根據(jù)說(shuō)明中的描述,使用說(shuō)明中的術(shù)語(yǔ),給出圖3-2中的S1~S4所對(duì)應(yīng)的狀態(tài)名。
    【問(wèn)題2】(4分)
    根據(jù)說(shuō)明中的描述,使用說(shuō)明中的術(shù)語(yǔ),給出圖3-2中的E1~E4所對(duì)應(yīng)的事件名 。
    【問(wèn)題3】(5分)
    根據(jù)說(shuō)明中的描述,使用說(shuō)明中的術(shù)語(yǔ),給出圖3-3中C1~C5所對(duì)應(yīng)的類名。
    答案解析與討論:m.nwblx.com/st/381716722.html

    4題: 閱讀下列說(shuō)明和C代碼,回答問(wèn)題1至問(wèn)題3,將解答寫(xiě)在答題紙的對(duì)應(yīng)欄內(nèi)。
    【說(shuō)明】
    模式匹配是指給定主串t和子串s,在主串t中尋找子串s的過(guò)程,其中s稱為模式。如果匹配成功,返回s在t中的位置,否則返回-1 。
    KMP算法用next數(shù)組對(duì)匹配過(guò)程進(jìn)行了優(yōu)化。KMP算法的偽代碼描述如下:
    1.在串t和串s中,分別設(shè)比較的起始下標(biāo)i=j=0。
    2.如果串t和串s都還有字符,則循環(huán)執(zhí)行下列操作:
    (1)如果j=-l或者t[i]=s[j],則將i和j分別加1,繼續(xù)比較t和s的下一個(gè)字符;
    (2)否則,將j向右滑動(dòng)到next[j]的位置,即j =next[j]。
    3.如果s中所有字符均已比較完畢,則返回匹配的起始位置(從1開(kāi)始);否則返回-1。其中,next數(shù)組根據(jù)子串s求解。求解next數(shù)組的代碼已由get_next函數(shù)給出。
    【C代碼】
    (1)常量和變量說(shuō)明
    t,s:長(zhǎng)度為憫鉑Is的字符串
    next:next數(shù)組,長(zhǎng)度為Is
    (2)C程序
    #include
    #include
    #include
    /*求next[]的值*/
    void get_next( int *next, char *s, int Is)  {
    int i=0,j=-1;
    next[0]=-1;/*初始化next[0]*/
    while(i < ls){/*還有字符*/
    if(j==-1l ls[i]==s[j]){/*匹配*/
    j++;
    i++;
    if( s[i]==s[j])
    next[i] = next[j];
    else
    Next[i] = j;

    }
    else
    j = next[j];
    }
    }
    int kmp( int *next, char *t ,char *s, int lt, int Is )
    {
    Int i= 0,j =0
    while (i < lt && (1) ) {
    if( j==-1 ||     (2)  )  {
    i ++
    j ++
    } else
    (3)
    }
    if (j >= ls)
    return     (4)    else
    return -1;
    }
    【問(wèn)題1】(8分)
    根據(jù)題干說(shuō)明,填充C代碼中的空(1)~(4)。
    【問(wèn)題2】(2分)
    根據(jù)題干說(shuō)明和C代碼,分析出kmp算法的時(shí)間復(fù)雜度為(5)(主串和子串的長(zhǎng)度分別為It和Is,用O符號(hào)表示)。
    【問(wèn)題3】(5分)
    根據(jù)C代碼,字符串“BBABBCAC”的next數(shù)組元素值為(6)(直接寫(xiě)素值,之間用逗號(hào)隔開(kāi))。若主串為“AABBCBBABBCACCD”,子串為“BBABBCAC”,則函數(shù)Kmp的返回值是(7)。
    答案解析與討論:m.nwblx.com/st/3817229374.html

    6題: 閱讀下列說(shuō)明和java代碼,將應(yīng)填入  (n)  處的字句寫(xiě)在答題紙的對(duì)應(yīng)欄內(nèi)。
    【說(shuō)明】
    某發(fā)票(lnvoice)由抬頭(Head)部分、正文部分和腳注(Foot)部分構(gòu)成?,F(xiàn)采用裝飾(Decorator)模式實(shí)現(xiàn)打印發(fā)票的功能,得到如圖6-1所示的類圖。

    【java代碼】 class invoice{
    public void printInvoice(){
    System.out.println ( "This is the content of the invoice!");
    }
    }
    class Decorator extends Invoice {
    protected Invoice ticket;
    public Decorator(lnvoice t){
    ticket = t; }
    public void printInvoice(){
    if(ticket != null)
    (1) ;
    }
    }
    class HeadDecorator extends Decorator{
    public HeadDecorator(lnvoice t){
    super(t);
    }
    public void printInvoice (){
    Systent.out.println( "This is the header of the invoice! ");
    (2) ;
    }
    }
    class FootDecorator extends Decorator {
    public FootDecorator(Invoice t){
    super(t);
    }
    public void printlnvoice(){
    ( 3)        ;
    Systent.out.println( "This is the footnote of the invoice! ");
    }
    }
    Class test {
    public static void main(String[] args){
    Invoice t =new Invioce();
    Invoice ticket;
    ticket=     (4)       ;
    ticket.printInvoice();
    Systent.out.println(“------------------“);
    ticket=       (5)       ;
    ticket.printInvoice();    } }
    程序的輸出結(jié)果為:
    This is the header of the invoice!
    This is the content of the invoice!
    This is the footnote of the invoice!
    ----------------------------
    This is the header of the invoice!
    This is the footnote of the invoice!
    答案解析與討論:m.nwblx.com/st/381743190.html