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

付費下載

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

【說明】

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

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

【狀態(tài)圖1】

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

【問題1】

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

(1)

(2)

(3)

(4)

分別是什么?

【問題2】

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

(5)

(6)

(7)

(8)

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

【問題3】

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

【狀態(tài)圖2】

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

s

●試題二

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

【說明】

本流程圖實現從成績文件生成學生成績一覽表。

某中學某年級的學生成績數據(分數)登錄在成績文件F0中,其記錄格式見表2:

由該成績文件生成見表3的學生成績一覽表。生成的學生成績一覽表按學號升序排列。表中的名次是指該生相應課程在年級中的名次。

流程圖中的順序文件F0是學生成績文件,F0文件經處理1處理后產生順序文件F,然后經過處理2至處理4對文件F進行處理和更新。在處理5中,僅對文件F的紀錄進行學生成績一覽表的編排輸出,不進行排序和增加名次等處理。

【問題1】

流程圖中文件F的紀錄格式設定為見表4形式:

其中的①、②應定義為何種數據項?【問題2】

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

【流程圖】

圖3

●試題三

根據題意回答以下問題:

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

問題:

1.請根據題意完善下面ER圖。

圖4

2.將ER圖轉換成關系模型,并注明主鍵和外鍵。

3.請寫出要查出員工"小李"在三月份的銷售業(yè)績的關系代數式。

●試題四

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

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

請勿改動主函數main和其他函數中的任何內容,僅在函數fun()的橫線上填入所編寫的若干表達式或語句。

試題程序:

#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代碼,將應填入(n)處的字句寫在答題紙的對應欄內。

【程序5說明】

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

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

【程序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++代碼,將應填入(n)處的字句寫在答卷的對應欄內。

【說明】

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

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

②定義Circle類默認構造函數,把私有成員radius初始化為參數r的值。

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

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

注意:除在指定位置添加語句之外,請不要改動程序中的其他內容。

源程序文件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等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論