wrod版試題 | word版答案 |
●試題一
閱讀下列說(shuō)明、圖1和圖2,回答問(wèn)題1、問(wèn)題2和問(wèn)題3。
【說(shuō)明】
下面是某租車(chē)信息管理系統(tǒng)的介紹:該車(chē)庫(kù)中備有若干車(chē)輛,每輛車(chē)有車(chē)號(hào)、車(chē)牌、車(chē)名、價(jià)格等屬性。車(chē)庫(kù)不定期地購(gòu)買(mǎi)并注冊(cè)新車(chē)供用戶借用,也可將報(bào)廢的舊車(chē)注銷(xiāo)以停止租用。
車(chē)庫(kù)可為眾多用戶提供服務(wù)。每個(gè)用戶在借車(chē)之前需注冊(cè)姓名、地址等內(nèi)容。每個(gè)用戶最多可同時(shí)借3輛車(chē)。每輛車(chē)借期7天;若有一輛車(chē)超期,則不可再借其他車(chē)。一輛車(chē)超期一天罰款250元。若一輛車(chē)超期3周不歸還,則發(fā)布通告。若用戶借的車(chē)丟失,在罰款處理之前不能借車(chē),每輛報(bào)失的車(chē)罰款該車(chē)目前市價(jià)(包括折舊)的1.2倍。注冊(cè)新用戶不受限制;而注銷(xiāo)用戶之前,該用戶必須歸還所有借的車(chē),或者報(bào)失并接受罰款。
【狀態(tài)圖1】
圖1車(chē)輛的狀態(tài)圖
【問(wèn)題1】
分析車(chē)輛的狀態(tài)和事件,指出圖1中的 (1) 、 (2) 、 (3) 、 (4) 分別是什么?
【問(wèn)題2】
分析用戶的狀態(tài)和事件,指出圖2中的 (5) 、 (6) 、 (7) 、 (8) 分別是什么?(注意,用戶與車(chē)輛在狀態(tài)圖中的關(guān)系)。
【問(wèn)題3】
指出UML中活動(dòng)圖的含義,并說(shuō)明活動(dòng)圖和狀態(tài)圖的區(qū)別與聯(lián)系。
【狀態(tài)圖2】
圖2用戶的狀態(tài)圖
s
●試題二
閱讀以下說(shuō)明和流程圖(如圖2所示),回答問(wèn)題1和問(wèn)題2,將答案寫(xiě)在答卷的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
本流程圖實(shí)現(xiàn)從成績(jī)文件生成學(xué)生成績(jī)一覽表。
某中學(xué)某年級(jí)的學(xué)生成績(jī)數(shù)據(jù)(分?jǐn)?shù))登錄在成績(jī)文件F0中,其記錄格式見(jiàn)表2:
由該成績(jī)文件生成見(jiàn)表3的學(xué)生成績(jī)一覽表。生成的學(xué)生成績(jī)一覽表按學(xué)號(hào)升序排列。表中的名次是指該生相應(yīng)課程在年級(jí)中的名次。
流程圖中的順序文件F0是學(xué)生成績(jī)文件,F(xiàn)0文件經(jīng)處理1處理后產(chǎn)生順序文件F,然后經(jīng)過(guò)處理2至處理4對(duì)文件F進(jìn)行處理和更新。在處理5中,僅對(duì)文件F的紀(jì)錄進(jìn)行學(xué)生成績(jī)一覽表的編排輸出,不進(jìn)行排序和增加名次等處理。
【問(wèn)題1】
流程圖中文件F的紀(jì)錄格式設(shè)定為見(jiàn)表4形式:
其中的①、②應(yīng)定義為何種數(shù)據(jù)項(xiàng)?
2007計(jì)算機(jī)軟件水平考試考前沖刺專(zhuān)題
希望與其他軟考考生進(jìn)行交流?點(diǎn)擊進(jìn)入軟考論壇>>>
更多信息請(qǐng)?jiān)L問(wèn):考試吧軟件水平考試欄目
[NextPage]
【問(wèn)題2】
簡(jiǎn)述處理2、處理3和處理4作何種處理,若有排序處理則需指明排序的鍵及序(升序或降序)。
【流程圖】
圖3
2007計(jì)算機(jī)軟件水平考試考前沖刺專(zhuān)題
希望與其他軟考考生進(jìn)行交流?點(diǎn)擊進(jìn)入軟考論壇>>>
更多信息請(qǐng)?jiān)L問(wèn):考試吧軟件水平考試欄目
[NextPage]
●試題三
根據(jù)題意回答以下問(wèn)題:
設(shè)某商業(yè)集團(tuán)數(shù)據(jù)庫(kù)中有3個(gè)實(shí)體集:一是"商店"實(shí)體集,屬性有商店編號(hào),商店名,地址等;二是"商品"實(shí)體集,屬性有商品號(hào),商品名,規(guī)格,單價(jià)等;三是"職工"實(shí)體集,屬性有職工編號(hào),姓名,性別,業(yè)績(jī)等。商店與商品間存在"銷(xiāo)售"聯(lián)系,每個(gè)商店可以銷(xiāo)售多種商品,每種商品也可以在多個(gè)商店和職工間存在"聘用"聯(lián)系,每個(gè)商店有許多職工,每個(gè)職工只能在一個(gè)商店工作,商店聘用職工有聘期和月薪。
問(wèn)題:
1.請(qǐng)根據(jù)題意完善下面ER圖。
圖4
2.將ER圖轉(zhuǎn)換成關(guān)系模型,并注明主鍵和外鍵。
3.請(qǐng)寫(xiě)出要查出員工"小李"在三月份的銷(xiāo)售業(yè)績(jī)的關(guān)系代數(shù)式。
●試題四
下列給定程序中,函數(shù)fun()的功能是:對(duì)N名學(xué)生的學(xué)習(xí)成績(jī),按從高到低的順序找出前m(m≤10)名學(xué)生來(lái),并將這些學(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()的橫線上填入所編寫(xiě)的若干表達(dá)式或語(yǔ)句。
試題程序:
#include<stdio.h>
#include<mallo
C.h>
#include<string.h>
#include<conio.h>
#define N 10
typedef struct ss
{
char num[10];
int order;
}STU;
STU *fun(STU a[], int m)
{
STU b[N],*tt;
int i,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(STU a[],FILE *pf)
{
int i;
for(i=0;i<N; i++)
fprintf(pf,"No=%s Mark=%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;
int i,m;
clrscr();
printf("*** The Origial data ***\n");
outresult(a, stdout);
printf("\nGive the numeber of the
students who have better score:");
scanf("%d",&m);
while (m>10)
{
printf("\nGive the number of the
studets who have better score:");
scanf("%d",&m);
}
p_order=fun(a,m);
printf("*** THE RESULT ***\n");
printf("*** The top students ***\n");
for(i=0; i<m; i++)
printf(" %s %d\n",
p_order[i].num,p_order[i].order);
free(p_order);
}
2007計(jì)算機(jī)軟件水平考試考前沖刺專(zhuān)題
希望與其他軟考考生進(jìn)行交流?點(diǎn)擊進(jìn)入軟考論壇>>>
更多信息請(qǐng)?jiān)L問(wèn):考試吧軟件水平考試欄目
[NextPage]
●試題五
閱讀下列程序說(shuō)明和C代碼,將應(yīng)填入(n)處的字句寫(xiě)在答題紙的對(duì)應(yīng)欄內(nèi)。
【程序5說(shuō)明】
設(shè)M叉樹(shù)采用列表法表示,即每棵子樹(shù)對(duì)應(yīng)一個(gè)列表,列表的結(jié)構(gòu)為:子樹(shù)根結(jié)點(diǎn)的值部分(設(shè)為一個(gè)字符)和用"()"括起來(lái)的各子樹(shù)的列表(如有子樹(shù)的話),各子列表間用","分隔。例如下面的三叉樹(shù)可用列表a(b(c,d),e,f(g,h,i))表示。
本程序輸入列表,生成一棵M叉樹(shù),并由M叉樹(shù)輸出列表。假定輸入無(wú)錯(cuò)誤。
【程序5】
#include<stdio.h>
#include<stdli
B.h>
#define M 3
typedef struct node{char val;
struct node*subTree[M];
}NODE;
char buf[255],*str=buf;
NODE*d=NULL
NODE*makeTree()/*由列表生成M叉樹(shù)*/
{int k;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) );
}
return s;
}
void walkTree(NODE*t)/*由M叉樹(shù)輸出列表*/
{int i;
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(′)′);
}
}
void main()
{printf("Enter exp:");
scanf("%s",str);
d=makeTree();
walkTree(d);putchar(′\n′);
}
●試題六
閱讀下列程序說(shuō)明和C++代碼,將應(yīng)填入(n)處的字句寫(xiě)在答卷的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
源程序中定義了Circle類(lèi)與Money類(lèi),Circle類(lèi)可對(duì)半徑為r的圓進(jìn)行周長(zhǎng)與面積的計(jì)算,而Money類(lèi)用于計(jì)算一圓形游泳池的造價(jià)。游泳池四周有原形過(guò)道,過(guò)道外圍上柵欄,過(guò)道寬度為3米,根據(jù)鍵入的游泳池半徑,每米柵欄價(jià)格及每平方米過(guò)道價(jià)格,即可計(jì)算出游泳池的造價(jià)。請(qǐng)按要求完成下列操作,將程序補(bǔ)充完整。
①定義符號(hào)常量PI(值為3.14159f)與WIDTH(值為3.00f),分別用于表示圓周率與過(guò)道的固定寬度。
②定義Circle類(lèi)默認(rèn)構(gòu)造函數(shù),把私有成員radius初始化為參數(shù)r的值。
③完成Money類(lèi)默認(rèn)構(gòu)造函數(shù)的定義,把私有成員FencePrice(每米柵欄的價(jià)格)、 ConcretePrice(每平方米過(guò)道的價(jià)格)初始化為參數(shù)f,c的值。
④完成Money類(lèi)成員函數(shù)float Money::TotalMoney(float fencelen, float conarea)的定義,根據(jù)參數(shù)fencelen(柵欄的長(zhǎng)度)和conarea(過(guò)道的面積),返回柵欄與過(guò)道的總造價(jià)。
注意:除在指定位置添加語(yǔ)句之外,請(qǐng)不要改動(dòng)程序中的其他內(nèi)容。
源程序文件test4.cpp清單如下:
#include <iostream.h>
(1)
class Circle
{
private:
float radius;
public:
(2)
float Circumference(){return 2 * PI * radius;}
float Area(){return PI * radius * radius;}
};
class Money
{
private:
float FencePrice;
float ConcretePrice;
public:
Money(float f,float c);
float TotalMoney(float fencelen, float conarea);
};
Money::Money(float f,float c)
{
(3)
}
float Money::TotalMoney(float fencelen, float conarea)
{
(4)
}
void main()
{
float radius,fence,concrete;
cout.setf(ios::fixed);
cout.setf(ios::showpoint);
cout.precision (2) ;
cout << "Enter the radius of the pool: ";
cin >> radius;
cout << "Enter the FencePrice: ";
cin >> fence;
cout << "Enter the ConcretePrice: ";
cin >> concrete;
Circle Pool(radius);
Circle PoolRim(radius + WIDTH);
Money mon(fence,concrete);
float totalmoney=mon.TotalMoney(PoolRim.Circumference(),(PoolRim.Area() - Pool.Area()));
cout << "The total money is RMB " << totalmoney << endl;
}
2007計(jì)算機(jī)軟件水平考試考前沖刺專(zhuān)題
希望與其他軟考考生進(jìn)行交流?點(diǎn)擊進(jìn)入軟考論壇>>>
更多信息請(qǐng)?jiān)L問(wèn):考試吧軟件水平考試欄目
[NextPage]
●試題七
【說(shuō)明】
下面是一個(gè)Applet程序,其功能是將完整的圖像顯示于Applet的區(qū)塊中,然后可以通過(guò)拖動(dòng)鼠標(biāo)讓圖像隨著鼠標(biāo)拖動(dòng)的軌跡而移動(dòng)。
程序運(yùn)行結(jié)果如圖5所示。
全真模擬試卷(四)第15頁(yè)(共16頁(yè)) 全真模擬試卷(四)第16頁(yè)(共16頁(yè))
圖5
import java.applet.*;
import java.awt.*;
/*
<applet code="ex4_7.class" width=800 height=400 >
</applet>
*/
public class ex4_7 extends Applet{
private Image iImg;
private int xPos,yPos;
public void init(){
xPos = yPos =(1);
iImg = getImage((2)"ex4_7.jpg");
}
public void paint(Graphics g){
g.drawImage(iImg,xPos,yPos,(3));
}
public boolean(4)(Event e,int x,int y){
xPos = x;
yPos = y;
(5);
return true;
}
}
ex4_7.html
<HTML>
<HEAD>
<TITLE>ex4_7</TITLE>
</HEAD>
<BODY>
<applet code="ex4_7.class" width=800 height=400 >
</applet>
</BODY>
</HTML>
2007計(jì)算機(jī)軟件水平考試考前沖刺專(zhuān)題
希望與其他軟考考生進(jìn)行交流?點(diǎn)擊進(jìn)入軟考論壇>>>
更多信息請(qǐng)?jiān)L問(wèn):考試吧軟件水平考試欄目
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |