女人久久久www免费人成看片,国内自拍偷拍网,国产一区二区三区免费在线观看,欧美精品三区四区,91久久国产综合久久91,欧美成人精品第一区二区三区 ,美女成人在线观看

軟題庫 學習課程
試卷年份2004年上半年
試題題型【分析簡答題】
試題內容

10、[函數(shù)5]
int DeleteNode(Bitree *r,int e){
Bitree p=* r,pp,s,c;
while(  (1)  ){/ * 從樹根結點出發(fā)查找鍵值為e的結點 * /
pp=p;
if(e<p->data) p=p->Lchild;
else p=p->Rchild
}
if(! p)return-1;/ * 查找失敗 * /
if(p->Lchild && p->Rchild){/ * 處理情況③ * /
s=  (2)  ;pp=p;
while(  (3)  ){pp=s;s=s->Rchild;}
p->dara=s->data;P=s;
}
/ * 處理情況①、② * /
if(  (4)  )c=p->Lchild;
else c=p->Rchild
if(p==*r)  *r=c;
else if(  (5)  )pp->Lchild=c;
else pp->Rchild=c;
free(p);
return 0;
}

查看答案

相關試題

2題:

閱讀下列說明和算法,回答問題1和問題2,將解答填入答題紙的對應欄內。
[說明]
算法2-1是用來檢查文本文件中的圓括號是否匹配。若文件中存在圓括號沒有對應的左括號或者右括號,則給出相應的提示信息,如下所示:
文件    提示信息
(1+2)
abc)                            缺少對應左括號:第2行,第4列
((def)8x))                            缺少對應左括號:第3行,第10列
(((h)
ij)(k
(1ml)                                缺少對應右括號:第5行,第4列;第4行,第1列
在算法2-1中,stack為一整數(shù)棧。算法中各函數(shù)的說明如表4-1所示。

[算法2-1]
將棧stack置空,置EOF為False
ch←nextch();
while(not EOF.
k←kind(ch);
if(k==  (1)  )
push(  (2)  );push(  (3)  );
elself(k==  (4)  )
if(not empty())
pop(),pop(),
else
顯示錯誤信息(缺少對應左括號或右括號);
顯示行號row;顯示列號col;
endif
endif
ch←nextch();
endwhile
if(not empty())
顯示錯誤信息(缺少對應左括號或右括號);
while(not empty())
row←pop();col←pop();
顯示行號row;顯示列號col
cndwhile
endif
為了識別更多種類的括號,對算法2-1加以改進后得到算法2-2。算法2-2能夠識別圓括號,方括號和花括號(不同類型的括號不能互相匹配)。改進后,函數(shù)kinnd(char ch)的參數(shù)及其對應的返回值如表4-2所示。

表4-2  函數(shù)的參數(shù)及其返回值


[算法2-2]
將棧stack置空,置EOF為False
ch←nextch();
while(not EOF.
k←kind(ch);
if(k>0)
if(  判斷條件1  )
push(  (5)  );push(  (6)  );push(  (7)  );
elseif(  判斷條件2  and  判斷條件3  )
pop();pop();pop();
else
顯示錯誤信息(缺少對應左括號或右括號);
顯示行號row;顯示列號col;
endif
endif
ch←nexteh();
endwhile
if(not empty())
顯示錯誤信息(缺少對應左括號或右括號);
while(not empty())
pop();row←pop();col←pop();
顯示行號row;顯示列號col;
endwhile
endif
[問題1]
試將[算法2-1)和[算法2-2]中(1)~(7)處補充完整。
[問題2]
從下面的選項中選擇相應的判斷邏輯填補[算法2-2]中的“判斷條件1”至“判斷條件 3”。注意,若“判斷條件2”的邏輯判斷結果為假,就無需對“判斷條件3”進行判斷。
(a)字符是括號(b)字符是左括號(c)字符是右括號(d)???e)棧不空
(f)棧頂元素表示的是與當前字符匹配的左括號
(g)棧頂元素表示的是與當前字符匹配的右括號



答案解析與討論:m.xiexiliangjiufa.com/st/2451014077.html

3題:

試題三
閱讀下列說明以及圖4-4和圖4-5,回答問題1、問題2和問題3,將解答填入答題紙的對應欄內。
[說明]
某電話公司決定開發(fā)一個管理所有客戶信息的交互式網絡系統(tǒng)。系統(tǒng)的功能如下。
1.瀏覽客戶信息:任何使用因特網的用戶都可以瀏覽電話公司所有的客戶信息(包括姓名、住址、電話號碼等)。
2.登錄:電話公司授予每個客戶一個賬號。擁有授權賬號的客戶,可以使用系統(tǒng)提供的頁面設置個人密碼,并使用該賬號和密碼向系統(tǒng)注冊。
3.修改個人信息:客戶向系統(tǒng)注冊后,可以發(fā)送電子郵件或者使用系統(tǒng)提供的頁面,對個人信息進行修改。
4.刪除客戶信息:只有公司的管理人員才能刪除不再接受公司服務的客戶的信息。系統(tǒng)采用面向對象方法進行開發(fā),在開發(fā)過程中確定的類如表4-3所示。
表4-3  開發(fā)過程中確定的類


[問題1]
在需求分析階段,采用UML的用例圖(use case diagram)描述系統(tǒng)功能需求,如圖4-4所示。指出圖中的A,B,C和D分別是哪個用例?


[問題2]
在UML中,重復度(multiplicity)定義了某個類的一個實例可以與另一個類的多個實例相關聯(lián)。通常把它寫成一個表示取值范圍的表達式或者一個具體的值。例如,圖4-5中的類InternetClient和CustomerList,InternetClient端的“0...*”表示:1個 CustomerList的實例可以與0個或多個InternetClient的實例相關聯(lián);CustomerList端的“1”表示:1個InternetClient的實例只能與1個CustomerList的實例相關。
指出圖4-5中(1)~(4)處的重復度分別為多少?


[問題3]
類通常不會單獨存在,因此當對系統(tǒng)建模時,不僅要識別出類,還必須對類之間的相互關系建模。在面向對象建模中,提供了4種關系:依賴(dependency)、概括(generaliza tion)、關聯(lián)(association)和聚集(aggregation)。分別說明這4種關系的含義,并說明關聯(lián)和聚集之間的主要區(qū)別。



答案解析與討論:m.xiexiliangjiufa.com/st/2451120874.html

4題:

9、[程序4]

START

PRUGBC    LD       GR0,DATA

LEA      GR1,0

LEA      GR3,48

LOOP1     CPL      GR0,WDT,GR1

JP2      LOOP2

ST       GR3,BTASC,GR1

LEA      GR1,1,GR1

LEA      GR2,-4,GR1

JN2      LOOP1

(1)

LOOP2     LEA      GR2,48

LOOP3     CPL      GR0,WDT,GR1

JMI      NEXT

(2)

LEA      GR2,1,GR2

JMP      LOOP3

NEXT (3)

LEA      GR1,1,GR1

LEA      GR2,-4,GR1

JNZ       LOOP2

LAST (4) ;處理個位數(shù)

(5)

EXIT

C48      DC        48

WDT      DC        10000

DC    1000

DC   100

DC   10

BTASC   DS    5

DATA   DC    #FA59H

END

答案解析與討論:m.xiexiliangjiufa.com/st/2451221337.html

6題:

試題六
11、[程序6]
#include<ioStream.h>
template<class T>class Array;
template<class T>class ArrayBody{
friend  (1)  ;
T* tpBody;
int iRows,iCurrentRow;
ArrayBOdy(int iRsz,int iCsz){
tpBody=  (2)  ;
iRows=iRsz,iColumns=iCsz;iCurrentRow=-1;
}
public:
T& operator[](int j) {
bool row_error,column_error;
row_error=column_error=false;
try{
if(iCurrentRow<0||iCurrentRow≥iRows)
row_error=;
if(j<0|| j≥iColumns
column_error=;
if(row_error==true || column_error==true)
(3)  ;
}
eatch(char) {
if(row error==true)
cerr<<“行下標越界[“<<iCurrentRow<<”]”;
if(column error==true)
cerr<<“列下標越界[“<<j<<”]”;
cout<<“\n”;
}
return tpBody[iCurrentRow * iColumns+j];
}
~ArrayBody(){delere[]tpBody;}
};
template<class T>class Array {
ArrayBody<T> tBody;
public:
ArrayBody<T> & operator[](int i){
(4)  ;
return tBody;
};


void main()
{
Array<int> a1(10,20);
Array<double> a2(3,5);
int b1;
double b2;
b1=a1[-5][10];         / * 有越界提示:行下標越界[-5] * /
b1=a1[10][15];         / * 有越界提示:行下標越界[10] * /
b1=a1[1][4];           / * 沒有越界提示 * /
b2=a2[2][6];           / * 有越界提示:列下標越界[6] * /
b2=a2[10][20];         / * 有越界提示:行下標越界[10]列下標越界[20] * /
b2=a2[1][4];           / * 沒有越界提示 * /
}

答案解析與討論:m.xiexiliangjiufa.com/st/2451421879.html