深夜成人在线,chinese国产一区二区,欧美精品乱码,日韩欧美在线视频免费观看,国产午夜不卡,日韩av影院在线,五月天婷婷国产精品

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

閱讀下列說明和C代碼,回答問題1至問題3,將解答寫在答題紙的對應(yīng)欄內(nèi)。
【說明】
計算一個整數(shù)數(shù)組a的最長遞增子序列長度的方法描述如下:
假設(shè)數(shù)組a的長度為n,用數(shù)組b的元素b[i]記錄以a[i](0≤i;其中b[i]滿足最優(yōu)子結(jié)構(gòu),可遞歸定義為:

【C代碼】
下面是算法的C語言實現(xiàn)。
(1)常量和變量說明
a:長度為n的整數(shù)數(shù)組,待求其最長遞增子序列
b:長度為n的數(shù)組,b[i]記錄以a[i](0≤i度,其中0≤ilen:最長遞增子序列的長度
i,j:循環(huán)變量
temp:臨時變量
(2)C程序
#include
int maxL(int*b, int n) {
int i, temp=0;
for(i=0; i if(b[i]>temp)
temp=b[i];
}
return temp;
}
int main() {
int n, a[100], b[100], i, j, len;
scanf("%d", &n);
for(i=0; i scanf("%d", &a[i]);
}
(1)    ;
for(i=1; i for(j=0, len=0;     (2)    ; j++) {
if(    (3)     && len len=b[j];
}
(4)    ;
}
Printf("len:%d\n", maxL(b,n));
printf("\n");
}
【問題1】(8分)
根據(jù)說明和C代碼,填充C代碼中的空(1)~(4)。
【問題2】(4分)
根據(jù)說明和C代碼,算法采用了 (5) 設(shè)計策略,時間復(fù)雜度為 (6) (用O符號表示)。
【問題3】(3分)
已知數(shù)組a={3,10,5,15,6,8},根據(jù)說明和C代碼,給出數(shù)組b的元素值。

查看答案

相關(guān)試題

1題: 閱讀下列說明和圖,回答問題1至問題3,將解答填入答題紙的對應(yīng)欄內(nèi)。
【說明】
某大型披薩加工和銷售商為了有效管理生產(chǎn)和銷售情況,欲開發(fā)一披薩信息系統(tǒng), 其主要功能如下:
(1)銷售。處理客戶的訂單信息,生成銷售訂單,并將其記錄在銷售訂單表中。銷售訂單記錄了訂購者、所訂購的披薩、期望的交付日期等信息。
(2)生產(chǎn)控制。根據(jù)銷售訂單以及庫存的披薩數(shù)量,制定披薩生產(chǎn)計劃(包括生產(chǎn)哪些披薩、生產(chǎn)順序和生產(chǎn)量等),并將其保存在生產(chǎn)計劃表中。
(3)生產(chǎn)。根據(jù)生產(chǎn)計劃和配方表中的披薩配方,向庫存發(fā)出原材料申領(lǐng)單,將制作好的披薩的信息存入庫存表中,以便及時進行交付。
(4)采購。根據(jù)所需原材料及庫存量,確定采購數(shù)量,向供應(yīng)商發(fā)送采購訂單,并將其記錄在采購訂單表中;得到供應(yīng)商的供應(yīng)量,將原材料數(shù)量記錄在庫存表中,在采購訂單表中標記已完成采購的訂單。
(5)運送。根據(jù)銷售訂單將披薩交付給客戶,并記錄在交付記錄表中。
(6)財務(wù)管理。在披薩交付后,為客戶開具費用清單,收款并出具收據(jù);依據(jù)完成的采購訂單給供應(yīng)商支付原材料費用并出具支付細節(jié);將收款和支付記錄存入收支記錄表中。
(7)存儲。檢查庫存的原材料、拔薩和未完成訂單,確定所需原材料。
現(xiàn)采用結(jié)構(gòu)化方法對披薩信息系統(tǒng)進行分析與設(shè)計,獲得如圖1-1所示的上下文數(shù)據(jù)流圖和圖1-2所示的0層數(shù)據(jù)流圖。


【問題1】(4分)
根據(jù)說明中的詞語,給出圖1-1中的實體E1~E2的名稱。
【問題2】(5分)
根據(jù)說明中的詞語,給出圖1-2中的數(shù)據(jù)存儲D1~D5的名稱。
【問題3】(6分)
根據(jù)說明和圖中詞語,補充圖1-2中缺失的數(shù)據(jù)流及其起點和終點。
答案解析與討論:www.ichunya.com/st/381459990.html

2題: 閱讀下列說明,回答問題1至問題3,將解答填入答題紙的對應(yīng)欄內(nèi)。
【說明】
某集團公司在全國不同城市擁有多個大型超市,為了有效管理各個超市的業(yè)務(wù)工作,需要構(gòu)建一個超市信息管理系統(tǒng)。
【需求分析結(jié)果】
(1)超市信息包括:超市名稱、地址、經(jīng)理和電話,其中超市名稱唯一確定超市關(guān)系的每一個元組。每個超市只有一名經(jīng)理。
(2)超市設(shè)有計劃部、財務(wù)部、銷售部等多個部門,每個部門只有一名部門經(jīng)理,有多名員工,每個員工只屬于一個部門。部門信息包括:超市名稱、部門名稱、部門經(jīng)理和聯(lián)系電話。超市名稱、部門名稱唯一確定部門關(guān)系的每一個元組。
(3)員工信息包括:員工號、姓名、超市名稱、部門名稱、職位、聯(lián)系方式和工資。其中,職位信息包括:經(jīng)理、部門經(jīng)理、業(yè)務(wù)員等。員工號唯一確定員工關(guān)系的每一個元組。
(4)商品信息包括:商品號、商品名稱、型號、單價和數(shù)量。商品號唯一確定商品關(guān)系的每一個元組。一名業(yè)務(wù)員可以負責超市內(nèi)多種商品的配給,一種商品可以由多名業(yè)務(wù)員配給。
【概念模型設(shè)計】
根據(jù)需求分析階段收集的信息,設(shè)計的實體聯(lián)系圖和關(guān)系模式(不完整)如下:

【關(guān)系模式設(shè)計】
超市(超市名稱,經(jīng)理,地址,電話)
部門(  (a)  ,部門經(jīng)理,聯(lián)系電話)
員工(  (b)  ,姓名,聯(lián)系方式,職位,工資)
商品(商品號,商品名稱,型號,單價,數(shù)量)
配給(  (c)  ,配給時間,配給數(shù)量,業(yè)務(wù)員)
【問題1】(4分)
根據(jù)問題描述,補充四個聯(lián)系,完善圖1-1的實體聯(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:*和*:*)。
【問題2】(7分)
(1)根據(jù)實體聯(lián)系圖,將關(guān)系模式中的空(a)~(c)補充完整;
(2)給出部門和配給關(guān)系模式的主鍵和外鍵。
【問題3】(4分)
(1)超市關(guān)系的地址可以進一步分為郵編、省、市、街道,那么該屬性是屬于簡單屬性還是復(fù)合屬性?請用100字以內(nèi)文字說明。
(2)假設(shè)超市需要增設(shè)一個經(jīng)理的職位,那么超市與經(jīng)理之間的聯(lián)系類型應(yīng)修改為  (d)  ,超市關(guān)系應(yīng)修改為  (e)  。
答案解析與討論:www.ichunya.com/st/381463849.html

3題: 閱讀下列說明和圖,回答問題1至問題3,將解答填入答題紙的對應(yīng)欄內(nèi)。
【說明】
某公司欲開發(fā)一個管理選民信息的軟件系統(tǒng)。系統(tǒng)的基本需求描述如下:
(1)每個人(Person)可以是一個合法選民(Eligible)或者無效的選民(Ineligible)。
(2)每個合法選民必須通過該系統(tǒng)對其投票所在區(qū)域(即選區(qū),Riding)進行注冊( Registration)。每個合法選民僅能注冊一個選區(qū)。
(3)選民所屬選區(qū)由其居住地址(Address)決定。假設(shè)每個人只有一個地址,地址可以是鎮(zhèn)(Town)或者城市(City)。
(4)某些選區(qū)可能包含多個鎮(zhèn);而某些較大的城市也可能包含多個選區(qū)。
現(xiàn)采用面向?qū)ο蠓椒▽υ撓到y(tǒng)進行分析與設(shè)計,得到如圖1-1所示的初始類圖。

【問題1】 (8分)
根據(jù)說明中的描述,給出圖1-1中C1~C4所對應(yīng)的類名(類名使用說明中給出的英文詞匯)。
【問題2】(3分)
根據(jù)說明中的描述,給出圖1-1中M1~M6處的多重度。
【問題3】(4分)
現(xiàn)對該系統(tǒng)提出了以下新需求:
(1)某些人擁有在多個選區(qū)投票的權(quán)利,因此需要注冊多個選區(qū);
(2)對手滿足(1)的選民,需要劃定其“主要居住地”,以確定他們應(yīng)該在哪個選區(qū)進行投票。
為了滿足上述需求,需要對圖1-1所示的類圖進行哪些修改?請用100字以內(nèi)文字說明。
答案解析與討論:www.ichunya.com/st/3814720120.html

5題: 閱讀下列說明和C++代碼,將應(yīng)填入 (n) 處的字句寫在答題紙的對應(yīng)欄內(nèi)。
【說明】
某燈具廠商欲生產(chǎn)一個燈具遙控器,該遙控器具有7個可編程的插槽,每個插槽都有開關(guān)按鈕,對應(yīng)著一個不同的燈。利用該遙控器能夠統(tǒng)一控制房間中該廠商所有品牌燈具的開關(guān),現(xiàn)采用Command(命令)模式實現(xiàn)該遙控器的軟件部分。Command模式的類圖如圖1-1所示。

【C++代碼】
class Light {
public:
Light(string name) { /* 代碼省略 */ }
void on() { /* 代碼省略 */ }    // 開燈
void off() { /* 代碼省略 */ }  // 關(guān)燈
};
class Command {
public:
(1)    ;
};
class LightOnCommand:public Command { // 開燈命令
private:
Light* light;
public:
LightOnCommand(Light* light) { this->light=light; }
void execute() {     (2)    ; }
};
class LightOffCommand:public Command { // 關(guān)燈命令
private:
Light *light;
public:
LightOffCommand(Light* light) { this->light=light; }
void execute() {     (3)    ; }
};
class RemoteControl{ // 遙控器
private:
Command* onCommands[7];
Command* offCommands[7];
public:
RemoteControl() { /* 代碼省略 */ }
void setCommand(int slot, Command* onCommand, Command* offCommand) {
(4)    =onCommand;
(5)    =offCommand;
}
void onButtonWasPushed(int slot) {     (6)    ; }
void offButtonWasPushed(int slot) {     (7)    ; }
};
int main() {
RemoteControl* remoteControl=new RemoteControl();
Light* livingRoomLight=new Light("Living Room");
Light* kitchenLight=new Light("kitchen");
LightOnCommand* livingRoomLightOn=new LightOnCommand(livingRoomLight);
LightOffCommand* livingRoomLightOff=newLightOffCommand(livingRoomLight);
LightOnCommand* kitchenLightOn=new LightOnCommand(kitchenLight);
LightOffCommand* kitchenLightOff=new LightOffCommand(kitchenLight);
remoteControl->setCommand(0, livingRoomLightOn, livingRoomLightOff);
remoteControl->setCommand(1, kitchenLightOn, kitchenLightOff);
remoteControl->onButtonWasPushed(0);
remoteControl->offButtonWasPushed(0);
remoteControl->onButtonWasPushed(1);
remoteControl->offButtonWasPushed(1);
/* 其余代碼省略 */
return 0;
}
答案解析與討論:www.ichunya.com/st/3814921042.html

6題: 閱讀下列說明和Java代碼,將應(yīng)填入 (n) 處的字句寫在答題紙的對應(yīng)欄內(nèi)。
【說明】
某燈具廠商欲生產(chǎn)一個燈具遙控器,該遙控器具有7個可編程的插槽,每個插槽都有開關(guān)燈具的開關(guān),現(xiàn)采用Command(命令)模式實現(xiàn)該遙控器的軟件部分。Command模式的類圖如圖1-1所示。

【Java代碼】
class Light {
public Light() {}
public Light(String name) { /* 代碼省略 */ }
public void on()  { /* 代碼省略 */ }    // 開燈
public void off()  { /* 代碼省略 */ }    // 關(guān)燈
// 其余代碼省略
}
(1)     {
public void execute();
}
class LightOnCommand implements Command { // 開燈命令
Light light;
public LightOnCommand(Light light) { this.light=light; }
public void execute() {     (2)    ; }
}
class LightOffCommand implements Command { // 關(guān)燈命令
Light light;
public LightOffCommand(Light light) { this.light=light; }
public void execute(){     (3)    ; }
}
class RemoteControl { // 遙控器
Command[] onCommands=new Command[7];
Command[] offCommands=new Command[7];
public RemoteControl() { /* 代碼省略 */ }
public void setCommand(int slot, Command onCommand, Command offCommand) {
(4)    =onCommand;
(5)    =offCommand;
}
public void onButtonWasPushed(int slot) {
(6)    ;
}
public void offlButtonWasPushed(int slot){
(7)    ;
}
}
class RemoteLoader {
public static void main(String[] args) {
RemoteControl remoteControl=new RemoteControl();
Light livingRoomLight=new Light("Living Room");
Light kitchenLight=new Light("kitchen");
LightOnCommand livingRoomLightOn=new LightOnCommand(livingRoomLight);
LightOffCommand livingRoomLightOff=new LightOffCommand(livingRoomLight);
LightOnCommand kitchenLightOn=new LightOnCommand(kitchenLight);
LightOffCommand kitchenLightOff=new LightOffCommand(kitchenLight);
remoteControl.setCommand(0, livingRoomLightOn, livingRoomLightOff);
remoteControl.setCommand(1, kitchenLightOn, kitchenLightOff);
remoteControl.onButtonWasPushed(0);
remoteControl.offButtonWasPushed(0);
remoteControl.onButtonWasPushed(1);
remoteControl.offButtonWasPushed(1);
}
}
答案解析與討論:www.ichunya.com/st/3815027966.html