1. 軟體工程導論判定表和判定樹有何特點用於何種場合如何使用
軟體工程包括三個要素:方法、工具和過程。
軟體工程方法為軟體開發提供了「如何做」的技術。它包括了多方面的任務,如項目計劃與估算、軟體系統需求分析、數據結構、系統總體結構的設計、演算法過程的設計、編碼、測試以及維護等。
軟體工具為軟體工程方法提供了自動的或半自動的軟體支撐環境。目前,已經推出了許多軟體工具,這些軟體工具集成起來,建立起稱之為計算機輔助軟體工程(CASE)的軟體開發支撐系統。CASE將各種軟體工具、開發機器和一個存放開發過程信息的工程資料庫組合起來形成一個軟體工程環境。
軟體工程的過程則是將軟體工程的方法和工具綜合起來以達到合理、及時地進行計算機軟體開發的目的。過程定義了方法使用的順序、要求交付的文檔資料、為保證質量和協調變化所需要的管理、及軟體開發各個階段完成的里程碑。
軟體工程是一種層次化的技術。任何工程方法(包括軟體工程)必須以有組織的質量保證為基礎。全面的質量管理和類似的理念刺激了不斷的過程改進,正是這種改進導致了更加成熟的軟體工程方法的不斷出現。支持軟體工程的根基就在於對質量的關注。
2. 某交易所規定給經紀人的手續費計算演算法如下:
總手續費等於基本手續費加上與交易中的每股價格和股數有關的附加手續費。如果交易總金額少於1000元,則基本手續費為交易金額的8.4%;如果交易總金額在1000元到10000元之間,則基本手續費為交易金額的5%,再加34元;如果交易總金額超過10000元,則基本手續費為交易金額的4%加上134元。當每股售價低於14元時,附加手續費為基本手續費的5%,除非買進、賣出的股數不是100的倍數,在這種情況下附加手續費為基本手續費的9%。當每股售價在14元到25元之間時,附加手續費為基本手續費的2%,除非交易的股數不是100的倍數,在這種情況下附加手續費為基本手續費的6%。當每股售價超過25元時,如果交易的股數零散(即,不是100的倍數),則附加手續費為基本手續費的4%,否則附加手續費為基本手續費的1%。 要求: (1) 用判定表表示手續費的計算方法; (2) 用判定樹表示手續費的計算方法
http://wenku..com/link?url=KPvzT3jSq3mvcbdZa2NpxlQ75OWLz_Sq8c3tg3q_vgpltAiETJYS6ri_taibKOAqY_
詳情見第12頁
3. 關於軟體工程中判定表和判定樹表的問題
能夠清晰地表示復雜的條件組合與相應的動作之間的對應關系。
一張判斷表由四部分組成,左上部列出所有條件,左下部列出所有可能做的動作,右上部是表示各種條件的組合的一個矩陣,右下部是和每種條件組合的相對應的動作。
判定樹:判定樹是判定表的變種,也能夠清晰地表示復雜的條件組合與相應的動作之間的對應關系。
(3)判定表表示演算法擴展閱讀:
注意事項:
在軟體項目、it項目實施之初,需要了解項目的基本情況、需要了解客戶的基本情況、需要了解公司的人員配置情況。只有做到這些,才可以更好的為項目管理制定出更為合理的項目是實施計劃、項目管理計劃。
眾所周知,計劃是很重要的,在項目管理方面,計劃也是也是很重要的,只有做好了項目計劃,這里的項目計劃包括項目管理計劃、項目管理的項目實施計劃、項目管理的項目人員計劃、項目管理的項目成本計劃等,只有有了項目計劃,後續的工作才有依據、項目實施才有一個實施標准、項目實施、項目管理才會有目標。
4. 設計一個判別表達式中左、右括弧是否配對出現的演算法,採用()數據結構最佳
設計一個判別表達式中左、右括弧是否配對出現的演算法,採用棧數據結構最佳。
原因:棧是一種具有記憶能力的線性表,存取規則是先進後出,判別時遇到一個左括弧時就向棧插入左括弧,遇到右括弧就從棧中刪除一個左括弧,最後若棧中沒有左括弧就證明括弧成對,所以採用棧最適合判斷表達式中括弧是否成對出現。
(4)判定表表示演算法擴展閱讀:
限定僅在表尾進行插入和刪除操作的線性表。這一端被稱為棧頂,相對地,把另一端稱為棧底。向一個棧插入新元素又稱作進棧、入棧或壓棧,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素;從一個棧刪除元素又稱作出棧或退棧,它是把棧頂元素刪除掉,使其相鄰的元素成為新的棧頂元素。
棧操作數據元素只有兩種動作:
1、數據元素用棧的數據結構存儲起來,稱為「入棧」,也叫「壓棧」。
2、數據元素由於某種原因需要從棧結構中提取出來,稱為「出棧」,也叫「彈棧」。
5. 結構化語言,判定樹,判定表
(1)結構化語言可以直接對邏輯結構進行描述,簡單明了。適用於簡單的邏輯關系分析。
(2)判定表用來描述一些不易用語言表達清楚或需要很大篇幅才能用語言表達清楚的加工邏輯。其優點是能把各種組合情況一個不漏的表示出來,有時還能幫助發現遺漏和矛盾的情況。
(3)若一個動作的執行不只是依賴一個條件,而是與多個條件有關,那麼這項策略的表達就比較復雜。如果用判斷語句,就有多重嵌套。層次一多可讀性就下降。用判定樹來表示,可以更直觀一些。
幫助發現遺漏和矛盾的情況。
6. .假設某航空公司規定,乘客可以免費托運重量不超過20公斤的行李.當行李重量超過20公斤時,對頭等艙
按規定,托運的行李每件不能超過50千克,體積不能超過40厘米×60厘米×100厘米,每位旅客免費托運行李額頭等艙為30千克,經濟艙為20千克,持嬰兒票的旅客無免費行李額。超出部分每千克按經濟艙票價的1.5%加收費用。不知道回答你的問題沒。
7. 試寫一個判別表達式中開、閉括弧是否配對出現的演算法。
typedef char ElemType
bool MatchCheck(SqList exp)
{
int count=0;
{
if(*p=='(') count++;
else if(*p==')')
count--;
p++;
}
if (count==0)
(7)判定表表示演算法擴展閱讀:
根據公式可知即把所有樣本中各個樣本根據自己所屬的類計算出樣本與總體的協方差矩陣的總和,這從宏觀上描述了所有類和總體之間的離散冗餘程度。同理可以的得出(4)式中為分類內各個樣本和所屬類之間的協方差矩陣之和。
它所刻畫的是從總體來看類內各個樣本與類之間(這里所刻畫的類特性是由是類內各個樣本的平均值矩陣構成)離散度。
其實從中可以看出不管是類內的樣本期望矩陣還是總體樣本期望矩陣,它們都只是充當一個媒介作用,不管是類內還是類間離散度矩陣都是從宏觀上刻畫出類與類之間的樣本的離散度和類內樣本和樣本之間的離散度。
8. 3.18② 試寫一個判別表達式中開、閉括弧是否配對出現的演算法。
Status MatchCheck(SqList exp)
/* 順序表exp表示表達式; */
/* 若exp中的括弧配對,則返回TRUE,否則返回FALSE */
/* 註:本函數不使用棧 */
{
if((0 != exp.length % 2))
{
return FALSE;
}
int i = 0;
int j = 0;
for( ; i <= exp.length - 1; i++)
{
if(exp.elem[i] == '(')
j++;
if(exp.elem[i] == ')')
j--;
if(j < 0)
return FALSE;
}
if(j == 0)
return TRUE;
else
return FALSE;
}
9. 分不多,數據結構,求解。試寫一個判別表達式中開、閉括弧是否配對出現的演算法。
{int i,count = 0;
for(i=0;i<exp.length;i++)
{
if(*(exp.elem+i)=='(') ++count;
if(*(exp.elem+i)==')') --count;
}
if(count==0)
天亮了,樓主醒醒
10. 設計一個演算法,判斷一個順序表中各結點值是否有序
有序的話前驅與後繼元素之差要麼遞增,要麼遞減,或不變