第8章通用數(shù)字仿真程序設(shè)計_第1頁
第8章通用數(shù)字仿真程序設(shè)計_第2頁
第8章通用數(shù)字仿真程序設(shè)計_第3頁
第8章通用數(shù)字仿真程序設(shè)計_第4頁
第8章通用數(shù)字仿真程序設(shè)計_第5頁
已閱讀5頁,還剩46頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第8章 通用數(shù)字仿真程序設(shè)計v81 概述v 對于一個簡單系統(tǒng),可以使用前幾章講述的方法,自己編制專用的仿真程序。如果對每個系統(tǒng)都求狀態(tài)方程、差分方程及編制程序等,對于工程和科研來說是很不方便的,既浪費時間,又容易出錯。由于一般控制系統(tǒng)都是用微分方程或框圖來描述,可以編制一些通用的仿真程序,只要送入不同的參數(shù)即可進(jìn)行不同系統(tǒng)的仿真。這樣,可減少輔助工作量,增加仿真結(jié)果的可靠性,大大提高了仿真的工作效率。 v 通用仿真程序一般應(yīng)該達(dá)到以下幾點要求:v 1使用方便v (1)容易操作,輸入?yún)?shù)、修改參數(shù)方便;v (2)對原控制系統(tǒng)的預(yù)加工越少越好;v (3)輸出結(jié)果形式直觀,并應(yīng)盡可能減少用戶對輸出結(jié)

2、果的預(yù)測(如輸出可能的最大值等);v (4)通用仿真程序應(yīng)有操作提示、出錯提示,從事專業(yè)的使用者不需要經(jīng)過培訓(xùn)就可以使用;v (5)程序中的各種功能可以重復(fù)選擇等等。v 要達(dá)到上述要求,主要取決于所采用的人機(jī)交互技術(shù),即人機(jī)會話方式。 v 2通用性強(qiáng)v 通用性指的是程序的適應(yīng)性。一般來說,仿真軟件的通用性強(qiáng),則使用比較麻煩;針對性強(qiáng),則在規(guī)定的領(lǐng)域內(nèi),可給用戶帶來更多方便。因此,在保證用戶使用方便的前提下,程序的適用面越廣越好。實際上,設(shè)計通用仿真程序時,總是有一定的針對性的。v 根據(jù)系統(tǒng)類型設(shè)計的通用仿真程序有:連續(xù)系統(tǒng)仿真程序、采樣系統(tǒng)仿真程序、連續(xù)-采樣系統(tǒng)仿真程序、離散事件系統(tǒng)仿真程序

3、、偏微分方程描述的系統(tǒng)仿真程序等。也可根據(jù)行業(yè)特點設(shè)計通用仿真程序,例如導(dǎo)彈系統(tǒng)仿真程序、宇航系統(tǒng)仿真程序、熱工系統(tǒng)仿真程序等。 v 3仿真精度高v 由前面分析已經(jīng)知道,仿真精度取決于仿真算法及所選用的計算步長。因此,為了保證仿真精度,在通用的仿真程序里要選用具有較高精度的仿真算法,比如,四階龍格-庫塔法、四階阿達(dá)姆斯法等。但這也帶來另外一個問題,有些系統(tǒng)仿真時,并不要求精度很高,而要求仿真速度較快,這樣所選擇的高階算法就不適用了。為了克服這種缺點,在通用程序里可以設(shè)置多種仿真算法,仿真時由用戶自己選定。 v82 面向微分方程的通用仿真程序v 在工程實際中,有些系統(tǒng)直接用狀態(tài)方程或微分方程描述

4、,多入多出線性定常系統(tǒng)都可以描述成形如式(8-1)的狀態(tài)方程或一階微分方程組的形式。v (8-1)v式中:X為n維狀態(tài)向量;Y為m維輸出向量;U為r維輸入向量;A為nn維狀態(tài)常系數(shù)矩陣;B為nr維輸入常系數(shù)矩陣;C為mn維輸出常系數(shù)矩陣;D為mr維傳遞常系數(shù)矩陣。v 對于其他形式描述的線性定常系統(tǒng) (如傳遞函數(shù)或高階微分方程等 ),可以采用本書第二章中的方法轉(zhuǎn)換成如式(8-1)的標(biāo)準(zhǔn)形式。v 為了使這類系統(tǒng)能直接進(jìn)行仿真,應(yīng)設(shè)計面向微分方程或面向狀態(tài)方程的通用仿真程序。DUCXYBUAXXv821 程序設(shè)計思想v 通用程序結(jié)構(gòu)與專用程序結(jié)構(gòu)形式類似,都是由初始化、輸入?yún)?shù)、仿真運行、輸出結(jié)果這

5、四部分組成。與專用程序不同的是,通用程序不是用來仿真某個特定的系統(tǒng),而是對在一定范圍內(nèi)各種不同的系統(tǒng)都能進(jìn)行仿真。這樣,程序設(shè)計存在下列特殊性:v 1通用程序的參數(shù)描述v 通用程序中應(yīng)該設(shè)置可變的內(nèi)存區(qū),來適應(yīng)不同系統(tǒng)的描述。包括狀態(tài)變量和中間變量的向量、系數(shù)的矩陣等,都要以程序變量的形式描述。還要定義相應(yīng)的維數(shù)變量,根據(jù)這些維數(shù)來為狀態(tài)變量、中間變量以及系數(shù)矩陣分配內(nèi)存區(qū)。實際上,在通用程序中,應(yīng)該盡可能不直接使用常數(shù),而都使用程序變量描述,這樣可以讓用戶通過人機(jī)交互界面部分的程序來設(shè)置或修改這些程序變量。對內(nèi)存區(qū)的控制應(yīng)該考慮初始化、賦值、更新、釋放等問題。 v 2人機(jī)交互界面部分v 通用

6、程序中應(yīng)該有友好的人機(jī)交互界面,一方面便于用戶可以設(shè)置各項參數(shù)和維數(shù)等;另一方面要能夠較好顯示仿真結(jié)果,以及對仿真結(jié)果進(jìn)行分析。人機(jī)交互界面中應(yīng)該盡可能提供輸入或輸出的提示信息、用戶操作失誤的防錯措施等。 v 3程序運行控制 v 通用程序設(shè)計應(yīng)該考慮運行控制問題。首先,從結(jié)構(gòu)上看,程序應(yīng)該是可以重復(fù)使用的,因此一次仿真結(jié)束后,用戶應(yīng)該能夠選擇是終止程序運行,還是返回修改參數(shù)再次仿真。其次,在仿真過程中,特別是實時仿真過程中,用戶應(yīng)該能夠隨時終止仿真過程。此外,在運行過程中需要避免非法的運算,如被零除、超出計算機(jī)最大值或陷入死循環(huán)等問題。v822 程序設(shè)計舉例v 這里為了突出程序的通用性設(shè)計,我

7、們選擇簡單的歐拉法作為本例中的仿真算法,程序設(shè)計框圖如圖81所示。其他仿真算法的設(shè)計與此類似。程序中主要的變量記號與式(8-1)中一致。由于篇幅所限,程序中省略了人機(jī)交互部分。 v83 面向控制系統(tǒng)方框圖的通用仿真程序v 當(dāng)控制系統(tǒng)較為復(fù)雜、龐大時,求解狀態(tài)方程形式會變得相當(dāng)復(fù)雜,而且由于系數(shù)矩陣是間接計算所得,因此每次系統(tǒng)參數(shù)的修改都需要進(jìn)行大量手工計算,這些都極大地限制了面向微分方程的通用仿真程序的應(yīng)用。實際上,在控制系統(tǒng)的分析、設(shè)計與綜合過程中,方框圖的描述形式是一種更常用的形式。如果能夠把系統(tǒng)看作是由許多典型算法模塊構(gòu)成的,在程序中事先編好這些典型算法模塊的程序,用戶使用時,根據(jù)一定的

8、界面調(diào)用這些典型模塊,組織成控制系統(tǒng),并設(shè)置參數(shù),則仿真過程就可以大大簡化。這樣的通用仿真程序稱之為面向控制系統(tǒng)方框圖的通用仿真程序。v831 典型模塊的選取v 通常,在控制系統(tǒng)中比較常見的線性模塊有以下幾種,可以選擇一個或幾個作為典型模塊: v832 模塊之間的連接v 當(dāng)選擇好典型模塊后,就可以編制通用仿真程序了。在程序中各模塊之間的連接有兩種典型方法:v 1連接矩陣法v 下面舉一個例子說明這種方法。假定選擇積分模塊k/s作為典型模塊,先將被仿真的系統(tǒng)化成僅用積分和比例模塊描述的形式,例如,對于圖82所描述的系統(tǒng),必須化成圖83的形式。 v 在每個積分模塊輸出處設(shè)一狀態(tài)變量xi(i15),每

9、個積分器的輸入為ui(i15),見圖83。由此,可以寫出系統(tǒng)的狀態(tài)方程為v 2關(guān)聯(lián)矩陣法 v 用連接矩陣表示系統(tǒng)的連接情況對機(jī)器內(nèi)存是很不經(jīng)濟(jì)的。對于上述的5階系統(tǒng),有一個輸入,就需要有一個65的矩陣存儲連接系數(shù)。如果系統(tǒng)階次很高時,占用內(nèi)存空間太多。所以現(xiàn)在的一些通用仿真程序不采用這種形式描述系統(tǒng)的連接情況,而是假想所選擇的典型模塊有固定的輸入個數(shù)(實際系統(tǒng)中也正是這樣),用一個關(guān)聯(lián)矩陣存儲模塊輸入端所關(guān)聯(lián)的模塊序號即可。v 某系統(tǒng)有50個典型模塊,1個輸入。如采用連接矩陣的方式,則需要50512550個內(nèi)存單元存儲系統(tǒng)的連接。如果假想每個模塊都有3個輸入端,采用第二種連接方式,則僅需要35

10、0150個內(nèi)存單元來存儲系統(tǒng)的連接。但是,后者也有一個缺點,由于關(guān)聯(lián)矩陣中的元素描述的是與該模塊關(guān)聯(lián)著的其他模塊的序號,因此與該模塊關(guān)聯(lián)的系數(shù)就無法表示了,只好把這些系數(shù)放在典型模塊里。 v84 基于結(jié)構(gòu)化方法設(shè)計的通用仿真程序v 雖然現(xiàn)在我們已經(jīng)有了面向?qū)ο蟮姆椒ǎ窃诠I(yè)控制領(lǐng)域的很多場合所使用的控制器,一般采用特殊的嵌入式實時操作系統(tǒng),這些操作系統(tǒng)大多數(shù)不支持面向?qū)ο蟮姆椒āS行┛刂破髦猩踔翛]有操作系統(tǒng)。與其對應(yīng)的仿真系統(tǒng)也往往采用相同的配置條件。這些原因制約了面向?qū)ο蠓椒ǖ氖褂茫虼?,結(jié)構(gòu)化設(shè)計方法依然是廣泛使用的設(shè)計方法。v 在實際應(yīng)用中,常見的設(shè)計方法是,在專門用于組態(tài)設(shè)計的計算

11、機(jī)(工程師站)中,基于普通操作系統(tǒng)(如Windows 2000等),采用面向?qū)ο蟮姆椒ㄔO(shè)計人機(jī)交互界面,讓用戶組態(tài)控制系統(tǒng)方框圖,形成組態(tài)文件。再把組態(tài)文件載入另一臺專門用于控制運算的計算機(jī)(控制站)中,基于特殊的、高性能的嵌入式實時操作系統(tǒng)(如VxWorks、QNX等),采用結(jié)構(gòu)化方法實現(xiàn)實時控制運算或者仿真運算。 v 本節(jié)討論采用結(jié)構(gòu)化方法實現(xiàn)實時控制運算或者仿真運算的方法,而采用面向?qū)ο蟮姆椒▽崿F(xiàn)仿真運算和人機(jī)交互界面的問題在第85節(jié)和第86節(jié)中再討論。v841 標(biāo)準(zhǔn)算法模塊函數(shù)v 正如第83節(jié)所述,方框圖的描述形式是一種常用的控制系統(tǒng)描述形式。該方法把系統(tǒng)看作由許多典型算法模塊構(gòu)成,這

12、樣就需要在程序中事先編好這些典型算法模塊,用戶使用時,根據(jù)一定的界面調(diào)用這些典型模塊,組織成控制系統(tǒng),并設(shè)置參數(shù)。v 這些典型算法模塊可以看作是一個個獨立的函數(shù),每個算法模塊都具有輸入值、輸出值、參數(shù)值、中間計算值和算法邏輯等要素。由于在一個系統(tǒng)中,可能有多個相同類型的算法模塊,因此每個典型算法模塊函數(shù)都可能被多次使用。這樣,典型算法模塊函數(shù)中就無法保存對應(yīng)的各個算法模塊的輸入值、輸出值、參數(shù)值、中間計算值等每個模塊特定的變量。為此,一般在程序中建立下列變量表,用來對系統(tǒng)進(jìn)行管理,這些變量表并不在標(biāo)準(zhǔn)算法函數(shù)內(nèi)部定義,而是定義在這些函數(shù)之外的程序中,比如最簡單的做法是定義為全局變量表。v 1模

13、塊序號 v 在控制系統(tǒng)組態(tài)時,每個新加上的算法模塊都有一個編號,稱為模塊序號。在有些系統(tǒng)中,序號是單獨編排的,而在另外一些系統(tǒng)中,序號就用該模塊第一個輸出信號的地址表示。大多數(shù)系統(tǒng)中,模塊序號還用來決定運算調(diào)度時的順序,這樣,在組態(tài)時要合理地編排塊號,以減少系統(tǒng)中不必要的延遲。如果塊號的編排不合理,會產(chǎn)生所謂的“繞圈”(Loopbacks)現(xiàn)象。為了說明這一情況,舉例如下。v 2模塊類型編號v 在控制運算調(diào)度時,依據(jù)模塊類型編號來調(diào)用不同的標(biāo)準(zhǔn)算法模塊函數(shù),來完成具體的模塊計算。標(biāo)準(zhǔn)算法模塊的分類方法參見第831節(jié)和第863節(jié)。該編號不是定義在標(biāo)準(zhǔn)算法模塊函數(shù)的內(nèi)部,而是一個具有全局性質(zhì)的查詢

14、表,表中每一個值對應(yīng)于一個標(biāo)準(zhǔn)算法模塊函數(shù)。這種查詢表一般可以用枚舉量構(gòu)成,或者采用宏定義的方式描述。 v 3輸入變量表v 每個算法模塊都有一些輸入變量,沒有輸入的情況可以看作“0”個輸入,以便統(tǒng)一處理。這些輸入變量的值來源于其他模塊的輸出變量,這反映了控制系統(tǒng)圖中信號線的連接關(guān)系。輸入變量表用來記錄這些輸入變量的來源。在控制運算調(diào)度時,依據(jù)輸入變量表來搜索其他算法模塊的輸出變量的值,作為本模塊本次運算的輸入值。 v 4輸出變量表v 每個算法模塊都有一些輸出變量,沒有輸出的情況可以看作“0”個輸出,以便統(tǒng)一處理。這些輸出變量的值用來記錄本模塊本次運算的計算結(jié)果。在控制運算調(diào)度時,輸出變量表被用

15、來為其他與之相連的算法模塊提供本次運算的輸入值。v 5參數(shù)表v 每個算法模塊都有一些參數(shù),比如PID算法中的比例系數(shù)、積分時間和微分時間等參數(shù)。在控制運算調(diào)度時,查詢這個參數(shù)表,來獲得具體模塊的參數(shù)值,以便完成運算。v 6中間量表v 也就是狀態(tài)變量表。凡是具有儲時性的算法模塊,比如PID、積分、慣性環(huán)節(jié)等以及定時、延遲等算法,每次計算時都要用到上一次或上幾次運算的中間量,這些中間量必須保存在一個臨時中間量表中,以便下次計算時查詢使用。 v842 控制運算調(diào)度v 控制運算調(diào)度函數(shù)實現(xiàn)對整個系統(tǒng)的運算,在開始運算之前,一般要檢查系統(tǒng)的連接情況,比如連接數(shù)據(jù)類型錯誤、端口懸空等問題。然后還有一個重要

16、步驟,就是初始化各個計算的輸入值表、輸出值表、中間變量表。初始化成功后開始進(jìn)入循環(huán)運算,直到控制步數(shù)滿了后退出循環(huán)。v 在循環(huán)體內(nèi),運算調(diào)度程序根據(jù)模塊序號輪流計算各個算法模塊,首先根據(jù)模塊序號查詢該模塊相應(yīng)的模塊類型表獲得模塊類型;然后根據(jù)模塊類型調(diào)用相應(yīng)的算法函數(shù);同時把該模塊所用的輸入變量表、參數(shù)表、中間量表傳遞給該算法函數(shù);算法函數(shù)完成計算后,把計算結(jié)果存入輸出變量表。循環(huán)體內(nèi)的程序設(shè)計框圖如圖86所示。v85 人-機(jī)交互界面v 人-機(jī)交互界面也稱計算機(jī)用戶界面,是指計算機(jī)與其使用者之間的對話接口,這種對話接口規(guī)定了用戶與計算機(jī)之間的信息交互的方式,是計算機(jī)系統(tǒng)的重要組成部分。用戶界面

17、的重要性在于它極大地影響了最終用戶的使用,影響了計算機(jī)的推廣應(yīng)用,甚至影響了人們的工作和生活。對于用戶來說,易于學(xué)習(xí),易于記憶,易于使用,以及能夠直觀、快速、有效地進(jìn)行與計算機(jī)之間的信息交互是非常重要的。盡管人們對人-機(jī)交互界面的重要性早已認(rèn)識到了,但多年來在這方面的進(jìn)展一直十分緩慢,這主要是由于它所涉及的問題,除了需要發(fā)展某些高性能的軟、硬件外,它還涉及到大量有關(guān)“人”的因素問題,同時開發(fā)用戶界面的工作量極大,加上不同用戶對界面的要求也不盡相同,因此,用戶界面已成為計算機(jī)軟件研制中最困難的部分之一。v851 交互方式v 在傳統(tǒng)的基于文本方式的軟件設(shè)計中,常用的人-機(jī)交互方式有:問答式、菜單選

18、擇式、填表式、指令語言式。此外,配合一些簡單的曲線輸出。眾所周知,文本所提供的信息量是十分有限的,如果一個軟件系統(tǒng)非常復(fù)雜,包含了大量需要與用戶交互的信息,這樣就使得基于文本方式的界面變的十分繁瑣、而且不直接、不連續(xù)。相反,圖形所能夠提供的信息量是非常大的,一幅圖所提供的信息量往往相當(dāng)于幾倍甚至十幾倍同樣篇幅的文本所能夠提供的信息量。現(xiàn)在由于計算機(jī)軟硬件技術(shù)的發(fā)展,大量的軟件設(shè)計采用了基于圖形化的方式,特別是在Windows這樣的多任務(wù)操作平臺得到廣泛使用以后,人-機(jī)交互界面也全面采用了圖形化的方式,這就是圖形用戶界面(GUl)。圖形用戶界面的廣泛流行是當(dāng)今計算機(jī)技術(shù)的重大成就之一,它極大地方

19、便了非專業(yè)用戶的使用,人們不再需要死記硬背大量的命令,而可以通過窗口、菜單方便地進(jìn)行操作。v圖形用戶界面GUI的主要特征是:v (1)WIMP。其中:v W (Windows)指窗口,是用戶或系統(tǒng)的一個工作區(qū)域。一個屏幕上可以有多個窗口。v I (Icons)指圖符,系統(tǒng)形象化的圖形標(biāo)志,易于人們隱喻和理解。v M (Menu)指菜單,可供用戶選擇的功能提示。v P (Pointing Devices)指鼠標(biāo)器等,便于用戶直接對屏幕對象進(jìn)行操作。v (2)用戶模型。GUI采用了不少Desktop桌面辦公的隱喻,使應(yīng)用者共享一個直觀的界面框架。由于人們熟悉辦公桌的情況,因而對計算機(jī)顯示的圖符的含

20、義容易理解,諸如文件夾、收件箱、畫筆、工作簿、鑰匙及時鐘等。v (3)過去的界面不僅需要記憶大量的命令,而且需要指定對象的位置,如行號、空格數(shù)、X及Y的坐標(biāo)等。采用GUI后,用戶可直接對屏幕上的對象進(jìn)行操作,如拖動、刪除、插入以至放大和旋轉(zhuǎn)等。用戶執(zhí)行操作后,屏幕能立即給出反饋信息或結(jié)果,因而稱為“所見即所得”(What You See Is What You Get)。用視、點(鼠標(biāo))代替了記、擊(鍵盤),由于鼠標(biāo)只有兩到三個鍵,相比較鍵盤的上百個鍵來說,不需要復(fù)雜的操作和記憶,也不需要較長的熟練過程,因此給用戶帶來了方便。v 圖形化界面的新發(fā)展還使得用戶可以直接看見自己所進(jìn)行的每一步操作的

21、結(jié)果,甚至包括復(fù)雜的科學(xué)計算或工程圖紙的建立都可以通過鼠標(biāo)的拖動、點擊等操作來建立,這樣就使得計算機(jī)屏幕像一個工作桌面一樣,而屏幕上的每一個文檔窗口就像桌面上的圖紙或者圖表一樣。這就是現(xiàn)在廣為流行的可視化(Visual)技術(shù)。v 可視化技術(shù)使得用戶的參與感極大增強(qiáng),交互方式從語義上更為接近特殊的應(yīng)用對象。這種交互方式具有明顯的面向?qū)ο蟮奶卣?。v852 人-機(jī)交互界面的功能v 一般情況下,一個軟件系統(tǒng)的人-機(jī)交互界面應(yīng)具有以下四個方面的主要功能:程序控制功能、數(shù)據(jù)庫控制功能、防錯功能以及在線幫助功能。 v 1運行控制v 用戶對程序運行的控制,就是指在程序運行的任何時刻,無論程序處于任何一種功能運

22、行狀態(tài),用戶均具有選擇另外一個功能運行的能力。因為只有這樣,才能使用戶具有調(diào)用程序的最大自由,使得用戶能充分發(fā)揮軟件包的各種功能,充分發(fā)揮人的創(chuàng)造能力和靈活性。否則,只能使用戶陷入一種死板的、預(yù)先固定的程序運行次序。用戶對程序運行的這種控制能力,可具體分為以下幾點:v (1)停止程序的運行,并在稍后的某個時刻重新啟動,不會丟失任何數(shù)據(jù)。v (2)對整個程序系統(tǒng)的各個組成部分,可根據(jù)需要任意組合,以適應(yīng)用戶的不同要求。v (3)非正常地結(jié)束一個命令時,不會造成整個程序運行的停止。v (4)可以完全自由地、方便地控制程序的運行,可以從某個功能轉(zhuǎn)向另一個功能。v (5)如果想終止某個輸出,并不會停止

23、整個程序的運行。v 2數(shù)據(jù)庫控制v 人-機(jī)界面僅僅具有對程序的控制功能還是不夠的,對用戶還應(yīng)提供對數(shù)據(jù)庫的控制,以適應(yīng)整個程序運行過程的需要。v 控制系統(tǒng)CAD所用的數(shù)據(jù)庫目前多為文件系統(tǒng)(fi1e system)。這種文件系統(tǒng)的建立、修改和補(bǔ)充均來自用戶的輸入和計算機(jī)運算的結(jié)果。為了有效地運用數(shù)據(jù)庫,用戶對數(shù)據(jù)庫應(yīng)具有以下一些控制能力:v (1)可以在任意時刻,有選擇地顯示、打印任意程序變量的數(shù)值。v (2)可以在任意時刻,有選擇地修改任意程序變量的數(shù)值。v (3)無需在此鍵入,即可將任意變量內(nèi)容轉(zhuǎn)移給另一變量。v (4)無需重新鍵入,即可把某個程序塊的輸出作為另一程序塊的輸入。v (5)可

24、隨時列出數(shù)據(jù)庫定義過的全部變量。v (6)可以把當(dāng)前工作的結(jié)果存儲起來,以備將來使用。v 對數(shù)據(jù)庫控制的關(guān)鍵在于使用戶能對數(shù)據(jù)庫內(nèi)容進(jìn)行方便地控制,以適應(yīng)系統(tǒng)分析和設(shè)計的需要。其重要性在于用戶可以充分利用已存入計算機(jī)的數(shù)據(jù),或者稍加變化其形式和內(nèi)容或地址,即可滿足不同程序的某些需要。如果用戶缺乏對數(shù)據(jù)庫的控制能力,就會使用戶進(jìn)行更多重復(fù)性的鍵入,給用戶帶來很多的不便,這顯然不符合“易于使用”的原則。v 3防錯v 一般情況下,計算機(jī)按照用戶輸入來執(zhí)行任務(wù),但由于用戶的輸入經(jīng)常會出現(xiàn)錯誤,因此,系統(tǒng)應(yīng)有一定的防錯和糾錯能力。也就是說,應(yīng)讓用戶有機(jī)會來認(rèn)識輸入錯誤和改正輸入錯誤,或者最好在提示錯誤信息的同時自動改正錯誤。否則,如果一旦輸入了一個錯誤信息,計算機(jī)就突然停止,或若無其事地繼續(xù)有限下去,結(jié)果都會使用戶心理上感到惶恐。v 一般,鍵入錯誤可以分成三類:v (1)非法字符的鍵入;v (2)所鍵入的數(shù)值超出了該變量可接受數(shù)值的范圍;v (3)所鍵入的數(shù)值,導(dǎo)致運算不能進(jìn)行。v 此外還有鼠標(biāo)操作的錯誤,這類錯誤更加復(fù)雜,常常有一些難以預(yù)料的情況,比如模塊被鼠標(biāo)拖動到界外造成模塊丟失情況。v 上述幾種類型的錯誤,如不設(shè)法子以制止,均可能引起程序的突然停止,甚至失去大量數(shù)據(jù)。因此,如果能避免這些錯誤所造成的后果,就可大大提高程序運行的效率。v 4

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論