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

下載本文檔

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

文檔簡介

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

【算法說明】

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

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

{

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

}

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

【流程圖】

圖2

算法的流程圖

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

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

【問題1】

指出算法的流程圖中

(1)

(3)

處的內(nèi)容。

【問題2】

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

(4)

(9)

處的內(nèi)容。

●試題二

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

【說明】

某城市電信局受理了許多用戶申請在指定電話上開設(shè)長話業(yè)務(wù)。長話包括國內(nèi)長途和國際長途。電信局保存了長話用戶檔案和長話業(yè)務(wù)檔案。

長話用戶檔案的記錄格式為

長話業(yè)務(wù)檔案的記錄格式為

電話用戶每次通話的計費數(shù)據(jù)都自動地記錄在電信局程控交換機的磁帶上。計費數(shù)據(jù)的記錄格式為

該電信局為了用計算機自動處理長話收費以提高工作效率,開發(fā)了長話計費管理系統(tǒng)。該系統(tǒng)每月能為每個長話用戶打印出長話繳費通知單。長話繳費通知單的記錄格式為

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

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

月計費文件經(jīng)過長話出賬處理形成長話賬單文件。長話賬單文件的記錄格式為長話賬單文件經(jīng)過處理5和處理6的處理后,就可以形成長話繳費通知單。

【問題1】

(1)

請說明流程圖1中的文件F0、F1分別是哪個文件。

(2)

處理1和處理5分別按照哪些數(shù)據(jù)項進行分類?

【問題2】

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

【問題3】

說明處理6的功能。

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

圖3

s

●試題三

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

【函數(shù)3說明】

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

typedefstructTnode{

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

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

}*Bitree;

在二叉查找樹上刪除一個結(jié)點時,要考慮三種情況:

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

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

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

【函數(shù)3】

intDeleteNode(Bitree*r,inte){

Bitreep=*r,pp,s,c;

while(

(1)

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

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;

}●試題四

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

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

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

試題程序:

#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));

}

●試題五

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

【說明】

①在類體中添加函數(shù)move(doubleax,doubleay)的定義,使得點的坐標x和y分別移動ax和ay個單位。

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

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

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

源程序文件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;

}●試題六

【說明】

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

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

評論

0/150

提交評論