算法與程序設(shè)計(jì)(VB)知識(shí)點(diǎn)_第1頁(yè)
算法與程序設(shè)計(jì)(VB)知識(shí)點(diǎn)_第2頁(yè)
算法與程序設(shè)計(jì)(VB)知識(shí)點(diǎn)_第3頁(yè)
算法與程序設(shè)計(jì)(VB)知識(shí)點(diǎn)_第4頁(yè)
算法與程序設(shè)計(jì)(VB)知識(shí)點(diǎn)_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、稽山中學(xué)信息技術(shù)學(xué)業(yè)水平考試復(fù)習(xí)資料-算法與程序設(shè)計(jì)(VB)算法與程序設(shè)計(jì)操作知識(shí)點(diǎn) 知識(shí)目標(biāo)知識(shí)條目考核要求說(shuō)明1 算法及其表示方式 算法的基本概念 算法的常用表示方法 順序、選擇、循環(huán)三種控制結(jié)構(gòu)b選擇題操作題2算法的程序?qū)崿F(xiàn)對(duì)象、屬性、事件和事件處理的概念VB應(yīng)用程序的界面設(shè)計(jì)與調(diào)試基本數(shù)據(jù)類型、常量、變量、常用的標(biāo)準(zhǔn)函數(shù)、一維數(shù)組算術(shù)、關(guān)系、邏輯三類基本運(yùn)算及表達(dá)式賦值語(yǔ)句、選擇語(yǔ)句、循環(huán)語(yǔ)句、注釋語(yǔ)句解析算法、枚舉算法等常用算法的實(shí)現(xiàn)c知識(shí)點(diǎn)整理1、算法及其表示方式考點(diǎn)一:計(jì)算機(jī)解決問(wèn)題的過(guò)程用計(jì)算機(jī)來(lái)解決問(wèn)題要經(jīng)歷三個(gè)步驟:1、分析問(wèn)題,確定要用計(jì)算機(jī)做什么?2、尋找解決問(wèn)題的途徑

2、和方法(設(shè)計(jì)算法);3、用計(jì)算機(jī)進(jìn)行處理(編制和運(yùn)行程序)。計(jì)算機(jī)的基本功能與特征:計(jì)算機(jī)的基本功能是計(jì)算,計(jì)算機(jī)對(duì)信息的加工處理本質(zhì)上是通過(guò)計(jì)算完成的。是在程序指令的控制下完成對(duì)所有數(shù)據(jù)的處理。計(jì)算機(jī)的基本特征:速度快;準(zhǔn)確性高;存儲(chǔ)容量大。考點(diǎn)二:算法何為算法?簡(jiǎn)單地說(shuō),算法(Algorithm)就是解決問(wèn)題的方法和步驟。算法的特征:(1)有窮性(有限性)。(2)確定性(唯一性)。(3)可行性(能行性)。(4)有0到多個(gè)輸入。(5)有1到多個(gè)輸出。如何描述算法?算法描述可以有多種表達(dá)方法,一般用自然語(yǔ)言、流程圖和計(jì)算機(jī)語(yǔ)言進(jìn)行描述。流程圖中最基本、最常用的幾種符號(hào):2、程序的基本控制結(jié)構(gòu)&

3、#160;   任何正規(guī)的程序無(wú)論它有多復(fù)雜,都可以分解為三種基本結(jié)構(gòu),即順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。由這三種基本結(jié)構(gòu)可以派生出多樣、復(fù)雜的“多分支結(jié)構(gòu)”,用其解決各種問(wèn)題。結(jié)構(gòu)類型流程圖示意 功能說(shuō)明  順序結(jié)構(gòu)     一個(gè)步驟完成后,順序執(zhí)行緊跟著的下個(gè)處理步驟。如電視節(jié)目,按先后順序直線下來(lái)。    一般的程序設(shè)計(jì)語(yǔ)言中,順序結(jié)構(gòu)的語(yǔ)句主要是賦值語(yǔ)句、輸入/輸出語(yǔ)句等。 選擇(分支)結(jié)構(gòu)     在日常生活中,常常需

4、要對(duì)給定的條件進(jìn)行分析、比較和判斷,并根據(jù)結(jié)果采取不同的操作。在Visual Basic中,這樣的問(wèn)題通過(guò)選擇結(jié)構(gòu)來(lái)解決。如根據(jù)天氣情況,選擇體育課場(chǎng)地問(wèn)題。選擇結(jié)構(gòu)的語(yǔ)句包括If語(yǔ)句和Select Case語(yǔ)句。 循環(huán)結(jié)構(gòu) 對(duì)某個(gè)情況e進(jìn)行判斷,當(dāng)結(jié)果為真時(shí),執(zhí)行處理步驟step,然后再次判斷這個(gè)情況e,當(dāng)結(jié)果為真是,再次執(zhí)行步驟step,并繼續(xù)判斷情況e??偸侵貜?fù)上述過(guò)程,直到判斷的結(jié)果為假。循環(huán)結(jié)構(gòu)的語(yǔ)句可以用ForNext語(yǔ)句和Do whileloop語(yǔ)句實(shí)現(xiàn)。3、算法的程序?qū)崿F(xiàn)可視化程序開發(fā)工具VB(visual basic)考點(diǎn)一:可視化編程的任務(wù)設(shè)計(jì)過(guò)程創(chuàng)建工

5、程的基本過(guò)程:?jiǎn)?dòng)VB,創(chuàng)建一個(gè)工程vbp(包括窗體frm)界面設(shè)計(jì)對(duì)象屬性設(shè)置 編寫代碼調(diào)試運(yùn)行程序保存退出。注意保存文件的兩種情況:1.工程源文件的保存    程序沒有設(shè)計(jì)完成,為方便下次的修改編輯,可以將文件保存成工程文件。一個(gè)工程通常有兩個(gè)部分組成:窗體文件.frm和工程文件.vbp,工程文件至少由一個(gè)窗體構(gòu)成。由于一個(gè)工程由多個(gè)文件構(gòu)成,為方便處理,可以將同一工程的所有文件放在一個(gè)文件夾中。2.工程可執(zhí)行文件的保存一個(gè)程序設(shè)計(jì)完成后,為方便程序的實(shí)際應(yīng)用,我們可以將工程文件保存成可執(zhí)行文件.exe。工程的可執(zhí)行文件只可運(yùn)行程序,不能對(duì)可執(zhí)行文件

6、進(jìn)行修改編輯。考點(diǎn)二:VB中的幾個(gè)基本概念:1.類簡(jiǎn)單地說(shuō),類是對(duì)一類東西抽象出的結(jié)果,是一組具有相同屬性和操作的對(duì)象的集合。在VB中,類是系統(tǒng)設(shè)計(jì)好的,工具箱上的可視類圖標(biāo)就是標(biāo)準(zhǔn)類控件。部分控件名的前綴約定和命名舉例:對(duì)象類型意義前綴命名舉例Form窗體frmfrmlandCommand命令按鈕cmdcmdOKLabel標(biāo)簽lbllblInputTextBox文本框txttxtSourceListbox列表框lstlstaddimage圖像框imgbackimgtimer定時(shí)器timerpicturetimer2.對(duì)象對(duì)象是類的一個(gè)實(shí)例,是其中具體的個(gè)體。例如,窗體上的一個(gè)文本框、一個(gè)標(biāo)簽

7、都是對(duì)象。一個(gè)命令按鈕就是命令按鈕類的一個(gè)對(duì)象。對(duì)象有三個(gè)要素:屬性、方法和事件。屬性:對(duì)象的特征稱為對(duì)象的屬性。類中有很多對(duì)象,而這些對(duì)象既有共有的特點(diǎn)也有各自的特點(diǎn)。VB類控件主要屬性及其含義:通用屬性功能含義Name 定義對(duì)象的名稱,該屬性是所有對(duì)象共有的屬性。每個(gè)對(duì)象的名稱都是唯一的。在代碼編寫中,對(duì)對(duì)象的引用也是通過(guò)Name屬性,用戶可以使用系統(tǒng)默認(rèn)的Name屬性值,也可以自己定義。Caption 返回或設(shè)置對(duì)象的標(biāo)題欄或圖標(biāo)下的文本。Appearance 返回或設(shè)置對(duì)象的外觀樣式。屬性值為0,對(duì)象的樣式為平面;為1,對(duì)象樣式為立體。ForeColor&

8、#160;返回或設(shè)置對(duì)象的前景色,在彈出的調(diào)色板中選取顏色。BackColor 返回或設(shè)置對(duì)象的背景色,在彈出的調(diào)色板中選取顏色。Height 返回或設(shè)置對(duì)象的高度,VB中的單位是twips(緹),1twips=1/1440英寸。Width 返回或設(shè)置對(duì)象的寬度。Left 返回或設(shè)置控件左邊與其容器(窗體、圖片框控件、框架控件)左側(cè)之間的距離。Top 返回或設(shè)置控件頂端與其容器(窗體、圖片框控件、框架控件)頂部之間的距離。Visible 返回或設(shè)置一個(gè)值,該值用來(lái)確定對(duì)象是否可見。Enabled 返回或設(shè)置一個(gè)值,該值用來(lái)確

9、定對(duì)象是否響應(yīng)用戶產(chǎn)生的事件。在VB中,一個(gè)對(duì)象有很多屬性,我們可以通過(guò)改變屬性窗口中的相應(yīng)屬性值來(lái)改變對(duì)象的特征。窗體常用屬性及其含義屬性名功能含義Name定義對(duì)象的名稱。Captipon設(shè)置窗體標(biāo)題欄顯示的文字。Picture設(shè)置窗體背景圖片。文本框常用屬性及其含義屬性名功能含義Name定義對(duì)象的名稱,該屬性是所有對(duì)象共有的屬性。Text 該屬性存放了文本框內(nèi)顯示的內(nèi)容。用戶可在設(shè)計(jì)、運(yùn)行、中斷三種狀態(tài)下設(shè)置或修改文本框內(nèi)的文本。MultiLine 當(dāng)MultiLine為True時(shí),才可以在文本框內(nèi)輸入多行文本。即文本超過(guò)控件邊界時(shí),自動(dòng)換行。ScrollBars

10、60;設(shè)置邊框的滾動(dòng)條模式,文本框有四種邊框模式:ScrollBars=0,文本框無(wú)滾動(dòng)條;ScrollBars=1,有水平滾動(dòng)條;ScrollBars=2,有垂直滾動(dòng)條;ScrollBars=3,有水平和垂直滾動(dòng)條;文本框出現(xiàn)滾動(dòng)條前提是必須設(shè)置MultiLine為True,否則無(wú)效。PasswordChar 設(shè)置文本框內(nèi)的顯示內(nèi)容為該屬性值的內(nèi)容。一般設(shè)置密碼時(shí),會(huì)將該屬性值設(shè)置為“*”,這樣用戶輸入的密碼都會(huì)以“*”形式顯示在文本框內(nèi)。命令按鈕常用屬性及其含義屬性名功能含義Name定義對(duì)象的名稱。Captipon設(shè)置命令按鈕上顯示的文字。Enabled 設(shè)置命令按鈕是

11、否有效,是否響應(yīng)應(yīng)觸發(fā)事件。Picture設(shè)置按鈕上所加載的圖片。標(biāo)簽常用屬性及其含義屬性名功能含義Name定義對(duì)象的名稱。Captipon設(shè)置標(biāo)簽上顯示的文字。列表框常用屬性及其含義屬性名功能含義Name定義對(duì)象的名稱。itemdata給列表框中的每一項(xiàng)指定一個(gè)數(shù)字。圖像框常用屬性及其含義屬性名功能含義Name定義對(duì)象的名稱。Picture給圖像框設(shè)置一張顯示圖像。定時(shí)器常用屬性及其含義屬性名功能含義Name定義對(duì)象的名稱。enabled設(shè)置定時(shí)器的有效性。interval設(shè)置定時(shí)器的間隔時(shí)間,1000表示1秒。事件:VB是按照事件驅(qū)動(dòng)機(jī)制運(yùn)行程序的,事件的執(zhí)行能被對(duì)象響應(yīng)。如用戶單擊一個(gè)命

12、令按鈕就是一個(gè)事件。這個(gè)事件就可以被命令按鈕識(shí)別并響應(yīng),稱為命令按鈕的單擊(Click)事件,不同的對(duì)象能識(shí)別的事件也是不同的。方法:方法指對(duì)象的動(dòng)作,就是讓對(duì)象實(shí)施一個(gè)動(dòng)作或執(zhí)行一項(xiàng)任務(wù)。方法是控制對(duì)象功能及操作的內(nèi)部程序??傊?,方法指明了對(duì)象“能做什么”。4、VB數(shù)據(jù)的表示考點(diǎn)一、數(shù)據(jù)類型在VB中,為了便于數(shù)據(jù)的表示與處理,VB提供了數(shù)值型、字符串型、布爾型、日期型等基本數(shù)據(jù)類型,下表所示的是我們常用的數(shù)據(jù)類型。 VB常用的數(shù)據(jù)類型數(shù)據(jù)關(guān)鍵字所占內(nèi)存取值范圍 整型Integer 2字節(jié) -32768 32767長(zhǎng)整型Long 4字節(jié)

13、0;-2147483648 2147483647單精度型Single 4字節(jié)負(fù)數(shù):-3.402823E38 -1.4011298E-45;正數(shù):1.401298E-45 3.402823E38雙精度型Double 8字節(jié) 負(fù)數(shù):-1.797493134E308 -4.940656458E-324;正數(shù):4.940656458E-324 1.797493134E308;字符串型String 10字節(jié)+字符串長(zhǎng)度定長(zhǎng)字符串:0 65535個(gè)字符;不定長(zhǎng)字符串:0 20億個(gè)字符。布爾型(邏輯型)Boolean 2字節(jié) True 或False

14、日期型Date 8字節(jié) 100/1/1 9999/12/31考點(diǎn)二、常量與變量1.常量的形式及定義   在程序運(yùn)行期間始終保持不變的量,我們把它叫做常量(Constant)。VB中的常量有數(shù)值常量、字符串常量等。(1)數(shù)值常量類似于數(shù)學(xué)中的常數(shù),如打字速度為“60”。(2)用一對(duì)雙引號(hào)括起來(lái)的字符串稱為字符串常量。例如,“China”、“Vi- sual Basic”、“18”、“3.14”等。字符串常量指的是雙引號(hào)中的字符,不包括雙引號(hào)本身。     如果程序中多次用到同一個(gè)常量,往往用一個(gè)有意義的符號(hào)表示,這種

15、常量稱為符號(hào)常量;代表常量的符號(hào)稱為“常量名”,其定義形式如下:Const  常量名  As 類型表達(dá)式如:Const  PI3.14159262.變量及其定義變量有一個(gè)名字,它對(duì)應(yīng)著相應(yīng)的內(nèi)存單元。(1)變量命名必須以字母或漢字開頭,而不能以數(shù)字或其他字符開頭。只能由字母、漢字、數(shù)字和下劃線組成,不能含有小數(shù)點(diǎn)、空格等字符。字符個(gè)數(shù)不超過(guò)255個(gè)。變量名不能使用VB中的保留字。(信息提示:保留字也稱關(guān)鍵字,由VB專用,具有特殊含義。例如,Print、Sub、End等都是VB中的保留字。)VB不區(qū)分變量名中字母的大小寫。如HELLO和Hello是同一個(gè)變量。為增加

16、程序的可讀性,變量名最好取有意義的名稱,建議前面加上類型縮寫。(2)變量聲明變量應(yīng)該先聲明后使用。VB中變量聲明的方法是:Dim <變量名> As <數(shù)據(jù)類型>例如,Dim N As Integer,定義變量N為整型,初始值為0.(3)數(shù)組的定義數(shù)組的定義格式一:    Dim 數(shù)組名(常量) As 數(shù)據(jù)類型數(shù)組的定義格式二: Dim 數(shù)組(下界 to 上界)  As 數(shù)據(jù)類型    例如,用數(shù)組aryChinese來(lái)表示50名同學(xué)的語(yǔ)文成績(jī),可以定義為:   

17、 Dim aryChinese(49) As Single 或Dim aryChinese(0 to 49) As Single    這個(gè)數(shù)組共有50個(gè)元素,分別為aryChinese(0)、aryChinese(1)aryChinese(49),數(shù)據(jù)類型為單精度??键c(diǎn)三、運(yùn)算符與表達(dá)式運(yùn)算符的運(yùn)算規(guī)則及優(yōu)先級(jí)如下表所示:優(yōu)先順序運(yùn)算符類型運(yùn)算符1算術(shù)運(yùn)算符(指數(shù)運(yùn)算)2-(取負(fù))3*、/(乖、除)4(整除)5Mod(求余)6+、-(加、減)7字符串運(yùn)算符&、+(字符串連接)8關(guān)系運(yùn)算符=、<>、<、<=、>、>=9邏

18、輯運(yùn)算符Not(非)10And(與)11Or(或)5、數(shù)據(jù)處理考點(diǎn)一:程序中常用語(yǔ)句1. 賦值語(yǔ)句     VB中賦值語(yǔ)句用“=”來(lái)實(shí)現(xiàn)。賦值語(yǔ)句“=”后面可以是常量、變量或表達(dá)式。賦值語(yǔ)句中的“=”與數(shù)學(xué)中的“=”是不同的!如:N =  N+1,這里的意義是將N的值加1后重新賦給N,結(jié)果N的值比原值增加了1。2. Print語(yǔ)句    語(yǔ)法格式:對(duì)象名.Print 表達(dá)式列表    功能:在指定的對(duì)象上輸出文本。3. 注釋語(yǔ)句     為了提高程序的可讀性,通常需

19、要在程序適當(dāng)?shù)奈恢眉由媳匾淖⑨尅L砑幼⑨屖蔷幊痰囊粋€(gè)好習(xí)慣。    VB中注釋語(yǔ)句的格式為:在字符“'”后加注釋內(nèi)容或用“Rem 注釋內(nèi)容”。           如:r = InputBox ("輸入r:")  '輸入半徑r4.結(jié)束語(yǔ)句      語(yǔ)法格式:End功能:強(qiáng)制程序結(jié)束運(yùn)行??键c(diǎn)二:程序中常用函數(shù)1.數(shù)學(xué)函數(shù)    數(shù)學(xué)函數(shù)用于數(shù)學(xué)運(yùn)算

20、,包括三角函數(shù)、求平方根函數(shù)、求絕對(duì)值函數(shù)、對(duì)數(shù)函數(shù)、指數(shù)函數(shù)等,它們與相應(yīng)的數(shù)學(xué)定義相同。如表所示。常用數(shù)學(xué)函數(shù)函數(shù)功能實(shí)例結(jié)果Abs(x)求x的絕對(duì)值A(chǔ)bs(-4.6)4.6Sqr(x)求x的平方根Sqr(9) 3Sin(x)求x的正弦值Sin(30*3.14/180) 0.499770102643102Cos(x)求x的余弦值Cos (30*3.14/180)  0.866158094405463Tan(x)求x的正切值Tan(60*3.14/180) 1.72992922008979Atn(x)求x的反正切值4*Atn(1) 

21、3.14159265358979Exp(x)求指數(shù)函數(shù)ex Exp(2.0)  7.38905609893065Log(x)求x的自然對(duì)數(shù)值Log(10) 2.30258509299405Int(x)取整數(shù)函數(shù)Int(99.8) 99Rnd(x)產(chǎn)生01之間(不包括1)的隨機(jī)數(shù)Rnd() 返回一個(gè)隨機(jī)數(shù)2.字符串函數(shù)    VB系統(tǒng)提供了豐富的字符串處理函數(shù),給編程帶來(lái)了極大的方便(見表)。常用字符串函數(shù)函數(shù)功能實(shí)例結(jié)果Len(字符串) 求字符串的長(zhǎng)度Len("2008奧運(yùn)")6Left(字符串,截取長(zhǎng)度

22、) 截取字符串左邊部分Left("2008奧運(yùn)",4) 2008Mid(字符串,起始位置,截取長(zhǎng)度)從中間指定位置截取字符串Mid("2008奧運(yùn)",3,2)08Right(字符串,長(zhǎng)度)截取字符串右邊部分Right("2008奧運(yùn)",2)奧運(yùn)String(數(shù)值,字符)生成指定長(zhǎng)度與指定字符的字符串String(3,"9")9993.日期函數(shù)  Date()函數(shù)返回系統(tǒng)的當(dāng)前日期。Time()函數(shù)返回系統(tǒng)的當(dāng)前時(shí)間,如:dtmBeginTime = Time(),將系統(tǒng)當(dāng)前時(shí)間賦給變量dtmBeginTi

23、me。以此類推,Day()、Month()、Year()函數(shù)分別返回指定日期的日數(shù)、月份數(shù)、年份數(shù)。4.常用轉(zhuǎn)換函數(shù)在程序設(shè)計(jì)過(guò)程中,我們經(jīng)常要將不同類型的數(shù)據(jù)進(jìn)行轉(zhuǎn)換,這時(shí)就需要使用轉(zhuǎn)換函數(shù)。VB中常用轉(zhuǎn)換函數(shù)如表所示。常用轉(zhuǎn)換函數(shù)函數(shù)功能實(shí)例結(jié)果Val(字符串)將字符串轉(zhuǎn)換為數(shù)值2+Val(12)14Str(數(shù)值)將數(shù)值轉(zhuǎn)為字符串Str(5)5Chr(字符代碼)求字符代碼對(duì)應(yīng)的字符Chr(65)AAsc(字符)求字符對(duì)應(yīng)的字符代碼Asc("A")65Cint(表達(dá)式)將表達(dá)式的結(jié)果轉(zhuǎn)換為整數(shù),小數(shù)部分四舍五入Cint(3.14259*2)65.與用戶交互函數(shù)VB提供In

24、putBox()函數(shù)和MsgBox()函數(shù)用于人機(jī)交互。(1)InputBox()函數(shù)在前面已經(jīng)用過(guò),其語(yǔ)法格式為:      InputBox(提示信息,標(biāo)題,默認(rèn)值 ,x坐標(biāo),y坐標(biāo))參數(shù)一:提示信息為彈出對(duì)話框中顯示的說(shuō)明,必填項(xiàng),通常為字符串,其余參數(shù)可依據(jù)實(shí)際選擇使用;參數(shù)二:標(biāo)題為彈出對(duì)話框標(biāo)題欄中顯示的名稱,通常為字符串;參數(shù)三:默認(rèn)值為彈出對(duì)話框輸入項(xiàng)中顯示的值;參數(shù)四和參數(shù)五:X坐標(biāo)和Y坐標(biāo)用來(lái)設(shè)置對(duì)話框的彈出位置。(2)MsgBox()函數(shù)是VB程序設(shè)計(jì)中常用的交互函數(shù),其功能非常強(qiáng)大,可以顯示多種樣式的消息對(duì)話框。基本語(yǔ)法

25、格式:      MsgBox(提示信息,按鈕,標(biāo)題) 該函數(shù)的返回結(jié)果為一數(shù)值,其中:參數(shù)一:提示信息為彈出對(duì)話框中顯示的說(shuō)明,必填項(xiàng),通常為字符串,其余參數(shù)可依據(jù)實(shí)際選擇使用;參數(shù)二:按鈕一般用VB的內(nèi)部符號(hào)常量,這些符號(hào)常量有vbOkOnly、vbOKCancel、vbYesNo、vbYesNoCancel等等,它們一般可以望文生義。參數(shù)三:標(biāo)題為彈出對(duì)話框標(biāo)題欄中顯示的名稱,通常為字符串。6、算法的程序?qū)崿F(xiàn)考點(diǎn)一:選擇結(jié)構(gòu)的程序?qū)崿F(xiàn)在VB中,選擇結(jié)構(gòu)可用if語(yǔ)句來(lái)實(shí)現(xiàn),if語(yǔ)句有如下三種形式: 形式 示意圖 

26、;(1)單分支選擇結(jié)構(gòu),形式為:      If 條件 Then          語(yǔ)句或語(yǔ)句組      End If    '語(yǔ)句組是指有多條語(yǔ)句的情況 (2)雙分支選擇結(jié)構(gòu),形式為:     If 條件 Then       

27、 語(yǔ)句或語(yǔ)句組1     Else        語(yǔ)句或語(yǔ)句組2     End If  (3)多分支選擇結(jié)構(gòu),形式為:    If 條件 Then       語(yǔ)句或語(yǔ)句組1    ElseIF 條件2 Then      語(yǔ)句或語(yǔ)句組2 

28、0;      ElseIF 條件n Then      語(yǔ)句或語(yǔ)句組n    Else      語(yǔ)句或語(yǔ)句組n+1    End If 語(yǔ)句實(shí)例:例一:在三個(gè)文本框中輸入任意三個(gè)數(shù),求三個(gè)數(shù)中的最大數(shù)。 例二:求一元二次方程的解。Private Sub Command1_Click()Dim a, b, c, largest, j As Singlea = Val(txts

29、hu1.Text)b = Val(txtshu2.Text)c = Val(txtshu3.Text)If a >= b Then largest = a Else largest = bEnd IfIf c > largest Then largest = cEnd Ifj = MsgBox("三數(shù)中的最大數(shù)為:" & largest, vbOKCancel, "最大數(shù)")End SubPrivate Sub Command1_Click()Dim a, b, c, delta, x1, x2 As Singlea = Val(tx

30、ta.Text)b = Val(txtb.Text)c = Val(txtc.Text)delta = b * b - 4 * a * cIf delta > 0 Thenx1 = (-b + Sqr(delta) / (2 * a)x2 = (-b - Sqr(delta) / (2 * a)MsgBox "一元二次方程有不同的兩解,一解為:" & x1, vbYesNo, "求解結(jié)果"MsgBox "一元二次方程的另一解為" & x2, vbYesNo, "求解結(jié)果"ElseIf delt

31、a = 0 Thenx1 = (-b + Sqr(delta) / (2 * a)MsgBox "一元二次方程有相同兩解,為:" & x1, vbYesNo, "求解結(jié)果"Else: MsgBox "此方程在實(shí)數(shù)范圍內(nèi)無(wú)解!", vbYesNo, "求解結(jié)果"End IfEnd Sub考點(diǎn)二:循環(huán)結(jié)構(gòu)的程序?qū)崿F(xiàn)VB循環(huán)結(jié)構(gòu)常用的語(yǔ)句是ForNext語(yǔ)句和Do WhileLoop語(yǔ)句等。那么用程序如何解決上面的問(wèn)題呢?ForNext語(yǔ)句和Do WhileLoop語(yǔ)句的語(yǔ)法格式: ForNext語(yǔ)句的

32、格式 Do WhileLoop語(yǔ)句的格式For 循環(huán)變量=初值 To 終值 Step 步長(zhǎng)   循環(huán)體Next 循環(huán)變量說(shuō)明:(1)For-Next語(yǔ)句通常是在循環(huán)次數(shù)確定的時(shí)候使用;(2)步長(zhǎng)即循環(huán)變量的增量,當(dāng)步長(zhǎng)為1時(shí),Step 步長(zhǎng)可以省略不寫。Do While 條件循環(huán)體Loop 說(shuō)明:(1)當(dāng)問(wèn)題只知道循環(huán)結(jié)束的條件,重復(fù)執(zhí)行的次數(shù)事先并不知道,這時(shí)就需要用Do WhileLoop循環(huán)語(yǔ)句;(2)Do WhileLoop語(yǔ)句是在條件成立的時(shí)候執(zhí)行循環(huán)體,條件不成立時(shí)退出循環(huán)。   For/Next語(yǔ)句和Do While/L

33、oop語(yǔ)句在許多情況下是可以通用的,如上例所示。但是,F(xiàn)or/Next語(yǔ)句更適合用于循環(huán)次數(shù)容易確定的場(chǎng)合,而Do While/Loop語(yǔ)句的使用則更靈活。語(yǔ)句實(shí)例:  ForNext語(yǔ)句實(shí)現(xiàn): Do WhileLoop語(yǔ)句實(shí)現(xiàn):Private Sub cmdOk_Click()  Dim i As Integer, Sum As Integer  Sum = 0  For i = 1 To 24     Sum = Sum + i  Next i  lblsum.Capti

34、on = "兩年共存入:" & Sum & "元"End SubPrivate Sub cmdOk_Click()  Dim i As Integer, Sum As Integer  i=0 Sum = 0 do while i<=24     Sum = Sum + i     i=i+1 loop lblsum.Caption = "兩年共存入:" &

35、 Sum & "元"End Sub考點(diǎn)三:解析算法與枚舉算法解析算法枚舉算法解析法就是在分析具體問(wèn)題的基礎(chǔ)上,抽取出一個(gè)數(shù)學(xué)模型,這個(gè)數(shù)學(xué)模型能用若干個(gè)解析表達(dá)式表示出來(lái),解決了這些表達(dá)式,問(wèn)題也就得以解決。解析法是程序設(shè)計(jì)中最常用的算法之一。提示:高級(jí)程序設(shè)計(jì)語(yǔ)言提供的內(nèi)部函數(shù)其內(nèi)部實(shí)現(xiàn)大多也是用了解析法。    枚舉法也叫窮舉法、列舉法,它是將求解對(duì)象一一列舉出來(lái),然后逐一加以分析、處理,并驗(yàn)證結(jié)果是否滿足給定的條件,窮舉完所有對(duì)象,問(wèn)題將最終得以解決。舉例:    某超市規(guī)定,顧客購(gòu)買同種商品10件以

36、上(含10件)可享受批發(fā)價(jià)。請(qǐng)?jiān)O(shè)計(jì)一個(gè)收款機(jī)程序,輸入顧客所購(gòu)買商品的零售價(jià)、批發(fā)價(jià)、購(gòu)買數(shù)量及付款數(shù),程序能計(jì)算出顧客的應(yīng)付款及需要找回的零錢。請(qǐng)?jiān)O(shè)計(jì)解析法,并用流程圖或偽代碼描述。 Private Sub cmdjiezhang_Click()Dim lingjia, pijia, sum, yingfu, zhaoqian As SingleDim num As IntegerRem lingjia-零售價(jià);pijia-批發(fā)價(jià);num-購(gòu)買數(shù)量;sum-付款金額;yingfu-應(yīng)付款;zhaoqian-需找回零錢。lingjia = Val(txtling.Text)pijia

37、 = Val(txtpi.Text)num = Val(txtnum.Text)sum = Val(txtfu.Text)If num >= 10 Then   yingfu = pijia * num   zhaoqian = sum - yingfuElse   yingfu = lingjia * num   zhaoqian = sum - yingfuEnd IfLabel3.Caption = "您實(shí)際應(yīng)付的金額為:" & yingfu & "!收到付

38、款金額為:" & sum & "!應(yīng)找您零錢金額為:" & zhaoqian & "!謝謝您的惠顧,歡迎再次光臨!"End Sub舉例:用窮舉法編寫程序,找出所有的“水仙花數(shù)”。水仙花數(shù)是指一個(gè) n 位數(shù) ( n3 ),它的每個(gè)位上的數(shù)字的 n 次冪之和等于它本身。(例如:13 + 53 + 33 = 153)方法一:Private Sub Command1_Click() Dim sum As Integer Dim i, a, b, c As Integer List1.Clear For i = 100 T

39、o 999 a = i 100 b = i 10 Mod 10 c = i Mod 10 If a 3 + b 3 + c 3 = i Then List1.AddItem (Str(i) sum = sum + 1 End If Next iLabel1.Caption = "個(gè)數(shù):" + Str(sum)End Sub方法二:Private Sub Command1_Click() Dim sum As Integer Dim i, j, k As Integer List1.Clear For i = 1 To 9 For j = 0 To 9 For k = 0 T

40、o 9 If i 3 + j 3 + k 3 = 100 * i + 10 * j + k Then List1.AddItem (Str(100 * i + 10 * j + k) sum = sum + 1 End If Next k Next jNext iLabel1.Caption = "個(gè)數(shù):" + Str(sum)End Sub考點(diǎn)四:數(shù)組的應(yīng)用1. 數(shù)組及其定義什么是數(shù)組?數(shù)組不是一種基本數(shù)據(jù)類型,而是一組相同類型的變量集合,集合中的每個(gè)元素都是獨(dú)立的變量,它們能夠通過(guò)數(shù)組序號(hào)被引用。變量與數(shù)組的關(guān)系如圖所示,變量類似于一個(gè)個(gè)獨(dú)立的柜子,而數(shù)組則類似于一組柜

41、子,它們共同構(gòu)成一個(gè)整體,可以用統(tǒng)一的編號(hào)進(jìn)行管理。數(shù)組的定義數(shù)組的定義格式一:    Dim 數(shù)組名(常量) As 數(shù)據(jù)類型數(shù)組的定義格式二: Dim 數(shù)組(下界 to 上界)  As 數(shù)據(jù)類型    例如,用數(shù)組aryChinese來(lái)表示50名同學(xué)的語(yǔ)文成績(jī),可以定義為:    Dim aryChinese(49) As Single 或Dim aryChinese(0 to 49) As Single    這個(gè)數(shù)組共有50個(gè)元素,分別為aryChi

42、nese(0)、aryChinese(1)aryChinese(49),數(shù)據(jù)類型為單精度。數(shù)組的賦值數(shù)組的賦值和一般變量的賦值類似,下面這段代碼可以將數(shù)組中各元素重新置0:    For i = 0  To  49       aryChinese( i ) = 0    Next    程序設(shè)計(jì)中,常常通過(guò)循環(huán)語(yǔ)句來(lái)處理數(shù)組中的數(shù)據(jù)。2. 數(shù)組的應(yīng)用數(shù)據(jù)的查找常見的查找算法主要有:順序查找和二分(對(duì)分)查找。順序查

43、找二分(對(duì)分)查找原理實(shí)現(xiàn)順序查找是查找算法中簡(jiǎn)單、易行的算法。進(jìn)行查找時(shí),等待查找的候選數(shù)據(jù)放在數(shù)組變量中,要尋找的特定數(shù)據(jù)稱為查找鍵,存在變量key中,查找一般從數(shù)組的第一個(gè)元素開始,按照數(shù)據(jù)的順序查找指定的關(guān)鍵值;如果被查數(shù)據(jù)和該關(guān)鍵值相匹配,則表示找到;如果所有數(shù)據(jù)與關(guān)鍵值都不匹配,則表示被查數(shù)據(jù)中不存在該關(guān)鍵值,查找失敗。二分查找又稱折半查找,優(yōu)點(diǎn)是比較次數(shù)少,查找速度快,平均性能好;其缺點(diǎn)是要求待查表為有序表,且插入刪除困難。因此,折半查找方法適用于不經(jīng)常變動(dòng)而查找頻繁的有序列表。首先,假設(shè)表中元素是按升序排列,將表中間位置記錄的關(guān)鍵字與查找關(guān)鍵字比較,如果兩者相等,則查找成功;否則利用中間位置記錄將表分成前、后兩個(gè)子表,如果中間位置記錄的關(guān)鍵字大于查找關(guān)鍵字,則進(jìn)一步查找前一子表,否則進(jìn)一步查找后一子表。重復(fù)以上過(guò)程,直到找到滿足條件的記錄,使查找成功,或直到子表不存在為止,此時(shí)查找不成功。流程圖程序?qū)崿F(xiàn)i=1Do while i<=nIf d(i)=key ThenPrint i

溫馨提示

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

評(píng)論

0/150

提交評(píng)論