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

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

2016年計(jì)算機(jī)軟件水平考試設(shè)計(jì)師模擬練習(xí)題閱讀以下算法說(shuō)明和流程圖,回答問(wèn)題1和問(wèn)題2。

【算法說(shuō)明】

下面是一段插入排序的程序,將R[k+1]插入到R[1…k]的適當(dāng)位置。R[0]=R[k+1];j=k;

while(R[j]>R[0])

{

R[j+1]=R[j];j--;

}

R[j+1]=R[0];

【流程圖】

圖2

算法的流程圖

【測(cè)試用例設(shè)計(jì)】

(while循環(huán)次數(shù)為0、1、2次)

【問(wèn)題1】

指出算法的流程圖中

(1)

(3)

處的內(nèi)容。

【問(wèn)題2】

指出測(cè)試用例設(shè)計(jì)中

(4)

(9)

處的內(nèi)容。

●試題二

閱讀以下說(shuō)明和流程圖,回答問(wèn)題1至問(wèn)題3,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。

【說(shuō)明】

某城市電信局受理了許多用戶(hù)申請(qǐng)?jiān)谥付娫?huà)上開(kāi)設(shè)長(zhǎng)話(huà)業(yè)務(wù)。長(zhǎng)話(huà)包括國(guó)內(nèi)長(zhǎng)途和國(guó)際長(zhǎng)途。電信局保存了長(zhǎng)話(huà)用戶(hù)檔案和長(zhǎng)話(huà)業(yè)務(wù)檔案。

長(zhǎng)話(huà)用戶(hù)檔案的記錄格式為

長(zhǎng)話(huà)業(yè)務(wù)檔案的記錄格式為

電話(huà)用戶(hù)每次通話(huà)的計(jì)費(fèi)數(shù)據(jù)都自動(dòng)地記錄在電信局程控交換機(jī)的磁帶上。計(jì)費(fèi)數(shù)據(jù)的記錄格式為

該電信局為了用計(jì)算機(jī)自動(dòng)處理長(zhǎng)話(huà)收費(fèi)以提高工作效率,開(kāi)發(fā)了長(zhǎng)話(huà)計(jì)費(fèi)管理系統(tǒng)。該系統(tǒng)每月能為每個(gè)長(zhǎng)話(huà)用戶(hù)打印出長(zhǎng)話(huà)繳費(fèi)通知單。長(zhǎng)話(huà)繳費(fèi)通知單的記錄格式為

流程圖描述了該系統(tǒng)的數(shù)據(jù)處理過(guò)程。

該系統(tǒng)每天對(duì)原始的計(jì)費(fèi)數(shù)據(jù)進(jìn)行分類(lèi)排序,并確定每個(gè)通話(huà)記錄的通話(huà)類(lèi)型(市話(huà)/國(guó)內(nèi)長(zhǎng)途/國(guó)際長(zhǎng)途),再根據(jù)話(huà)費(fèi)單價(jià)文件算出每個(gè)通話(huà)記錄應(yīng)收取的話(huà)費(fèi)。因此,形成的日計(jì)費(fèi)文件中,增加了兩個(gè)數(shù)據(jù)項(xiàng):通話(huà)類(lèi)型和話(huà)費(fèi)。該系統(tǒng)每日對(duì)日計(jì)費(fèi)文件進(jìn)行累計(jì)(按電話(huà)號(hào)碼和通話(huà)類(lèi)型,對(duì)該類(lèi)型的話(huà)費(fèi)進(jìn)行累計(jì),得到該電話(huà)號(hào)碼該通話(huà)類(lèi)型的當(dāng)月話(huà)費(fèi)總計(jì)),形成月計(jì)費(fèi)文件。

月計(jì)費(fèi)文件經(jīng)過(guò)長(zhǎng)話(huà)出賬處理形成長(zhǎng)話(huà)賬單文件。長(zhǎng)話(huà)賬單文件的記錄格式為長(zhǎng)話(huà)賬單文件經(jīng)過(guò)處理5和處理6的處理后,就可以形成長(zhǎng)話(huà)繳費(fèi)通知單。

【問(wèn)題1】

(1)

請(qǐng)說(shuō)明流程圖1中的文件F0、F1分別是哪個(gè)文件。

(2)

處理1和處理5分別按照哪些數(shù)據(jù)項(xiàng)進(jìn)行分類(lèi)?

【問(wèn)題2】

處理4能發(fā)現(xiàn)哪些錯(cuò)誤(不需考慮設(shè)備故障錯(cuò)誤)?

【問(wèn)題3】

說(shuō)明處理6的功能。

【流程圖】(如圖3所示)

圖3

s

●試題三

閱讀下列函數(shù)說(shuō)明和C函數(shù),將應(yīng)填入(n)處的字句寫(xiě)在答題紙的對(duì)應(yīng)欄內(nèi)。

【函數(shù)3說(shuō)明】

函數(shù)DeleteNode(Bitree*r,inte)的功能是:在樹(shù)根結(jié)點(diǎn)指針為r的二叉查找(排序)樹(shù)上刪除鍵值為e的結(jié)點(diǎn),若刪除成功,則函數(shù)返回0,否則函數(shù)返回-1。二叉查找樹(shù)結(jié)點(diǎn)的類(lèi)型定義為:

typedefstructTnode{

intdata;/*結(jié)點(diǎn)的鍵值*/

structTnode*Lchild,*Rchild;/*指向左、右子樹(shù)的指針*/

}*Bitree;

在二叉查找樹(shù)上刪除一個(gè)結(jié)點(diǎn)時(shí),要考慮三種情況:

①若待刪除的結(jié)點(diǎn)p是葉子結(jié)點(diǎn),則直接刪除該結(jié)點(diǎn);

②若待刪除的結(jié)點(diǎn)p只有一個(gè)子結(jié)點(diǎn),則將這個(gè)子結(jié)點(diǎn)與待刪除結(jié)點(diǎn)的父結(jié)點(diǎn)直接連接,然后刪除結(jié)點(diǎn)p;

③若待刪除的結(jié)點(diǎn)p有兩個(gè)子結(jié)點(diǎn),則在其左子樹(shù)上,用中序遍歷尋找關(guān)鍵值的結(jié)點(diǎn)s,用結(jié)點(diǎn)s的值代替結(jié)點(diǎn)p的值,然后刪除結(jié)點(diǎn)s,結(jié)點(diǎn)s必屬于上述①、②情況之一。

【函數(shù)3】

intDeleteNode(Bitree*r,inte){

Bitreep=*r,pp,s,c;

while(

(1)

){/*從樹(shù)根結(jié)點(diǎn)出發(fā)查找鍵值為e的結(jié)點(diǎn)*/

pp=p;

if(e<p->data)p=p->Lchild;

elsep=p->Rchild;

}

if(!p)return-1;/*查找失敗*/

if(p->Lchild&&p->Rchild){/*處理情況③*/

s=

(2)

;pp=p;

while(

(3)

){pp=s;s=s->Rchild;}

p->data=s->data;p=s;

}

/*處理情況①、②*/

if(

(4)

)c=p->Lchild;

elsec=p->Rchild;

if(p==*r)*r=c;

elseif(

(5)

)pp->Lchild=c;

elsepp->Rchild=c;

free(p);

return0;

}●試題四

請(qǐng)補(bǔ)充函數(shù)fun(),該函數(shù)的功能是將字符串tt中的大寫(xiě)字母都改為對(duì)應(yīng)的小寫(xiě)字母,其他字符不變。例如,若輸入"AreyoucomefromSichuan?",則輸入"areyoucomefromsichuan?"。

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

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

試題程序:

#include<stdio.h>

#include<string.h>

#include<conio.h>

char*fun(chartt[])

{

inti;

for(i=0;tt[i];i++)

{

if((tt[i]>=′A′)&&(

(1)

))

(2)

;

}

return(

(3)

)

;

}

main()

{

chartt[81];

printf("\nPleaseenterastring:");

gets(tt);

printf("\nTheresultstringis:\n%s",

fun(tt));

}

●試題五

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

【說(shuō)明】

①在類(lèi)體中添加函數(shù)move(doubleax,doubleay)的定義,使得點(diǎn)的坐標(biāo)x和y分別移動(dòng)ax和ay個(gè)單位。

②在類(lèi)定義外完成重載的兩個(gè)構(gòu)造函數(shù)CPosition()和CPosition(doubledx,doubledy),其中前者為不帶參數(shù)的構(gòu)造函數(shù),使CPosition對(duì)象的默認(rèn)值為x=0,y=0,后者為帶參數(shù)的構(gòu)造函數(shù),把數(shù)據(jù)成員x和y分別初始化為參數(shù)dx和dy的值。

③完成函數(shù)doubledistance(doublebx,doubleby)的定義,該函數(shù)返回*this和點(diǎn)(bx,by)的距離。

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

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

#include<iostream.h>

#include<math.h>

classCPosition

{

public:

CPosition();

CPosition(doubledx,doubledy);

doublegetx();

doublegety();

(1)

doubledistance(doublebx,doubleby);

private:

doublex;

doubley;

};

(2)

{

x=0;y=0;

}

CPosition::CPosition(doubledx,doubledy)

{

x=dx;y=dy;

}

doubleCPosition::getx()

{

returnx;

}

doubleCPosition::gety()

{

returny;

}

doubleCPosition::distance(doublebx,doubleby)

{

(3)

}

voidmain()

{

doublea,b;

cout<<"Inputx,ypositionofapoint:";

cin>>a>>b;

CPositionpsA(a,b);

cout<<"Inputx,ypositionofanotherpoint:";

cin>>a>>b;

cout<<"Thedistanceis"<<psA.distance(a,b)<<endl;

}●試題六

【說(shuō)明】

下面是一個(gè)Applet程序,其功能是建立一個(gè)圖形用戶(hù)界面的窗口,包括一個(gè)文本顯示區(qū)和一個(gè)按鈕,點(diǎn)擊按鈕,可以在文本區(qū)已有的文本基礎(chǔ)上追加顯示10條"WelcometoChina"信息,并且文本區(qū)由滾動(dòng)條控制文本的上下滾動(dòng)。

程序運(yùn)行結(jié)果如圖4所示。

importjavax.swing.*;

importjavA.a(chǎn)wt.*;

importjavA.a(chǎn)wt.event.*;

/*

<applet

code="ex5_6.class"width=800height=400>

</applet>

圖4

*/

publicclassex5_6extendsJApplet{

JButtonjb=newJButton("AddText");

JTextPanejtp=newJTextPane();

publicvoidinit(){

jb.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

for(inti=1;i<10;i++)

(1)

+"WelcometoChina!\n");

}

});

Containercp=

(2)

;

cp.add(newJScrollPane(jtp));

cp.add(

(3)

);

}

publicstaticvoidmain(String[]args){

ex5_6obj5_6=newex5_6();

Stringstr=obj5_6.getClass().toString();

if(str.indexOf("class")!=-1)

str=str.substring

(6)

;

JFramefrm=newJFrame(str);

frm.addWindowListener(new

(4)

{

publicvoidwindowClosing(WindowEventwe){

System.ex

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論