2016年計(jì)算機(jī)軟件設(shè)計(jì)師考前模擬試題_第1頁
2016年計(jì)算機(jī)軟件設(shè)計(jì)師考前模擬試題_第2頁
2016年計(jì)算機(jī)軟件設(shè)計(jì)師考前模擬試題_第3頁
2016年計(jì)算機(jī)軟件設(shè)計(jì)師考前模擬試題_第4頁
2016年計(jì)算機(jī)軟件設(shè)計(jì)師考前模擬試題_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

2016年計(jì)算機(jī)軟件設(shè)計(jì)師考前模擬試題閱讀下列說明、圖1和圖2,回答問題1、問題2和問題3。

【說明】

下面是某租車信息管理系統(tǒng)的介紹:該車庫中備有若干車輛,每輛車有車號(hào)、車牌、車名、價(jià)格等屬性。車庫不定期地購買并注冊(cè)新車供用戶借用,也可將報(bào)廢的舊車注銷以停止租用。

車庫可為眾多用戶提供服務(wù)。每個(gè)用戶在借車之前需注冊(cè)姓名、地址等內(nèi)容。每個(gè)用戶最多可同時(shí)借3輛車。每輛車借期7天;若有一輛車超期,則不可再借其他車。一輛車超期一天罰款250元。若一輛車超期3周不歸還,則發(fā)布通告。若用戶借的車丟失,在罰款處理之前不能借車,每輛報(bào)失的車罰款該車目前市價(jià)(包括折舊)的1.2倍。注冊(cè)新用戶不受限制;而注銷用戶之前,該用戶必須歸還所有借的車,或者報(bào)失并接受罰款。

【狀態(tài)圖1】

圖1車輛的狀態(tài)圖

【問題1】

分析車輛的狀態(tài)和事件,指出圖1中的

(1)

、

(2)

、

(3)

、

(4)

分別是什么?

【問題2】

分析用戶的狀態(tài)和事件,指出圖2中的

(5)

、

(6)

、

(7)

(8)

分別是什么?(注意,用戶與車輛在狀態(tài)圖中的關(guān)系)。

【問題3】

指出UML中活動(dòng)圖的含義,并說明活動(dòng)圖和狀態(tài)圖的區(qū)別與聯(lián)系。

【狀態(tài)圖2】

圖2用戶的狀態(tài)圖

s

●試題二

閱讀以下說明和流程圖(如圖2所示),回答問題1和問題2,將答案寫在答卷的對(duì)應(yīng)欄內(nèi)。

【說明】

本流程圖實(shí)現(xiàn)從成績文件生成學(xué)生成績一覽表。

某中學(xué)某年級(jí)的學(xué)生成績數(shù)據(jù)(分?jǐn)?shù))登錄在成績文件F0中,其記錄格式見表2:

由該成績文件生成見表3的學(xué)生成績一覽表。生成的學(xué)生成績一覽表按學(xué)號(hào)升序排列。表中的名次是指該生相應(yīng)課程在年級(jí)中的名次。

流程圖中的順序文件F0是學(xué)生成績文件,F(xiàn)0文件經(jīng)處理1處理后產(chǎn)生順序文件F,然后經(jīng)過處理2至處理4對(duì)文件F進(jìn)行處理和更新。在處理5中,僅對(duì)文件F的紀(jì)錄進(jìn)行學(xué)生成績一覽表的編排輸出,不進(jìn)行排序和增加名次等處理。

【問題1】

流程圖中文件F的紀(jì)錄格式設(shè)定為見表4形式:

其中的①、②應(yīng)定義為何種數(shù)據(jù)項(xiàng)?【問題2】

簡述處理2、處理3和處理4作何種處理,若有排序處理則需指明排序的鍵及序(升序或降序)。

【流程圖】

圖3

●試題三

根據(jù)題意回答以下問題:

設(shè)某商業(yè)集團(tuán)數(shù)據(jù)庫中有3個(gè)實(shí)體集:一是"商店"實(shí)體集,屬性有商店編號(hào),商店名,地址等;二是"商品"實(shí)體集,屬性有商品號(hào),商品名,規(guī)格,單價(jià)等;三是"職工"實(shí)體集,屬性有職工編號(hào),姓名,性別,業(yè)績等。商店與商品間存在"銷售"聯(lián)系,每個(gè)商店可以銷售多種商品,每種商品也可以在多個(gè)商店和職工間存在"聘用"聯(lián)系,每個(gè)商店有許多職工,每個(gè)職工只能在一個(gè)商店工作,商店聘用職工有聘期和月薪。

問題:

1.請(qǐng)根據(jù)題意完善下面ER圖。

圖4

2.將ER圖轉(zhuǎn)換成關(guān)系模型,并注明主鍵和外鍵。

3.請(qǐng)寫出要查出員工"小李"在三月份的銷售業(yè)績的關(guān)系代數(shù)式。

●試題四

下列給定程序中,函數(shù)fun()的功能是:對(duì)N名學(xué)生的學(xué)習(xí)成績,按從高到低的順序找出前m(m≤10)名學(xué)生來,并將這些學(xué)生數(shù)據(jù)存放在一個(gè)動(dòng)態(tài)分配的連續(xù)存儲(chǔ)區(qū)中,此存儲(chǔ)區(qū)的首地址作為函數(shù)值返回。

注意:部分源程序給出如下。

請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的橫線上填入所編寫的若干表達(dá)式或語句。

試題程序:

#include<stdio.h>

#include<mallo

C.h>

#include<string.h>

#include<conio.h>

#defineN10

typedefstructss

{

charnum[10];

intorder;

}STU;

STU*fun(STUa[],intm)

{

STUb[N],*tt;

inti,j,k;

(1)

;

for(i=0;i<N;

i++)

b[i]=a[i];

for(k=0;k<m;k++)

{

for(i=j=0;i<N;i++)

if

(

(2)

)

j=i;

tt[k]=b[j];

b[j].order=0;

}

return

(3)

;

}

outresult(STUa[],FILE*pf)

{

inti;

for(i=0;i<N;i++)

fprintf(pf,"No=%sMark=%d\n",

a[i].num,a[i].order);

fprintf(pf,"\n\n");

}

main()

{

STU[N]={{"A01",80},{"A02",79},

{"A03",66},{"A04",82},{"A05",87},

{"A06",93},{"A07",78},{"A08",60},

{"A09",85},{"A10",73}};

STU*p_order;

inti,m;

clrscr();

printf("***TheOrigialdata***\n");

outresult(a,stdout);

printf("\nGivethenumeberofthe

studentswhohavebetterscore:");

scanf("%d",&m);

while(m>10)

{

printf("\nGivethenumberofthe

studetswhohavebetterscore:");

scanf("%d",&m);

}

p_order=fun(a,m);

printf("***THERESULT***\n");

printf("***Thetopstudents***\n");

for(i=0;i<m;i++)

printf("%s

%d\n",

p_order[i].num,p_order[i].order);

free(p_order);

}

●試題五

閱讀下列程序說明和C代碼,將應(yīng)填入(n)處的字句寫在答題紙的對(duì)應(yīng)欄內(nèi)。

【程序5說明】

設(shè)M叉樹采用列表法表示,即每棵子樹對(duì)應(yīng)一個(gè)列表,列表的結(jié)構(gòu)為:子樹根結(jié)點(diǎn)的值部分(設(shè)為一個(gè)字符)和用"()"括起來的各子樹的列表(如有子樹的話),各子列表間用","分隔。例如下面的三叉樹可用列表a(b(c,d),e,f(g,h,i))表示。

本程序輸入列表,生成一棵M叉樹,并由M叉樹輸出列表。假定輸入無錯(cuò)誤。

【程序5】

#include<stdio.h>

#include<stdli

B.h>

#defineM3

typedefstructnode{charval;

structnode*subTree[M];

}NODE;

charbuf[255],*str=buf;

NODE*d=NULL

NODE*makeTree()/*由列表生成M叉樹*/

{intk;NODE*s;

s=

(1)

;

s->val=*str++;

for(k=0;k<M;k++)s->subTree[k]=NULL;

if(*str=′(′){

k=0;

do{str++;

s->subTree[k]=

(2)

;

if(*str==′)′){str++;break;}

k=k+1;

}while(

(3)

);

}

returns;

}

voidwalkTree(NODE*t)/*由M叉樹輸出列表*/

{inti;

if(t!=NULL){

(4)

if(t->subTree[0]==NULL)return;

putchar(′(′);

for(i=0;i<M;i++){

(5)

;

if(i!=M-1&&t->subTree[i+1]!=

NULL)

putchar(′,′);

}

putchar(′)′);

}

}

voidmain()

{printf("Enterexp:");

scanf("%s",str);

d=makeTree();

walkTree(d);putchar(′\n′);

}

●試題六

閱讀下列程序說明和C++代碼,將應(yīng)填入(n)處的字句寫在答卷的對(duì)應(yīng)欄內(nèi)。

【說明】

源程序中定義了Circle類與Money類,Circle類可對(duì)半徑為r的圓進(jìn)行周長與面積的計(jì)算,而Money類用于計(jì)算一圓形游泳池的造價(jià)。游泳池四周有原形過道,過道外圍上柵欄,過道寬度為3米,根據(jù)鍵入的游泳池半徑,每米柵欄價(jià)格及每平方米過道價(jià)格,即可計(jì)算出游泳池的造價(jià)。請(qǐng)按要求完成下列操作,將程序補(bǔ)充完整。

①定義符號(hào)常量PI(值為3.14159f)與WIDTH(值為3.00f),分別用于表示圓周率與過道的固定寬度。

②定義Circle類默認(rèn)構(gòu)造函數(shù),把私有成員radius初始化為參數(shù)r的值。

③完成Money類默認(rèn)構(gòu)造函數(shù)的定義,把私有成員FencePrice(每米柵欄的價(jià)格)、ConcretePrice(每平方米過道的價(jià)格)初始化為參數(shù)f,c的值。

④完成Money類成員函數(shù)floatMoney::TotalMoney(floatfencelen,floatconarea)的定義,根據(jù)參數(shù)fencelen(柵欄的長度)和conarea(過道的面積),返回柵欄與過道的總造價(jià)。

注意:除在指定位置添加語句之外,請(qǐng)不要改動(dòng)程序中的其他內(nèi)容。

源程序文件test4.cpp清單如下:

#include<iostream.h>

(1)

classCircle

{

private:

floatradius;

public:

(2)

floatCircumference(){return2*PI*radius;}

floatArea(){returnPI*radius*radius;}

};

classMoney

{

private:

floatFencePrice;

floatConcretePrice;

public:

Money(floatf,floatc);

floatTotalMoney(floatfencelen,floatconarea);

};

Money::Money(floatf,floatc)

{

(3)

}

floatMoney::TotalMoney(floatfencelen,floatconarea)

{

(4)

}

voidmain()

{

floatradius,fence,concrete;

cout.setf(ios::fixed);

cout.setf(ios::showpoint);

cout.precision

(2)

;

cout<<"Entertheradiusofthepool:";

cin>>radius;

cout<<"EntertheFencePrice:";

cin>>fence;

cout<<"EntertheConcretePrice:";

cin>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論