版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
VB程序設(shè)計復(fù)習(xí)關(guān)鍵點劉新昱信管教研室fengyunke8@126.com1/55第一章VB概述屬性(Property):指對象性質(zhì)、特征。方法(Method):指對象能執(zhí)行動作。事件(Event):指能夠被對象識別動作。程序代碼中使用以下格式語句來改變屬性值:
對象名.屬性=屬性值經(jīng)過以下格式為變量賦值:
變量=對象名.屬性使用方法格式:控件名.方法VB采取事件驅(qū)動編程方式,事件過程普通格式:PrivateSub控件名_事件名([參數(shù)表])(程序代碼)EndSub
P.6652/55第三章創(chuàng)建用戶界面窗體類相關(guān)屬性、方法和事件屬性方法事件NameCaptionBackcolorForecolorEnabledVisibleFontLeftTopWidthHeightHideShowPrintClsClickLoadActiveDeactive3/55第三章創(chuàng)建用戶界面控件類名屬性方法事件文本框TextBoxNameTextPasswordCharMultiLineScrollbarsSetFocusP.673ChangeKeyPressP.163標簽LableCaptionAutoSize命令按鈕CommandButtonCaptionEnabledSetFocusClickP.6644/55第三章創(chuàng)建用戶界面控件類名屬性方法事件列表框ListBoxP.330P.1421ListListCountListIndexTextAddItemClearRemoveItemClick組合框ComboBoxStyleTextAddItemClearRemoveItemClick圖象控件Image圖片框控件PictureBoxPicturestretchAutosizePrintClsClickP.1125/55第三章創(chuàng)建用戶界面控件類名屬性方法事件選項按鈕OptionButton復(fù)選框CheckBoxCaptionValueClick框架FrameCaption水平滾動條Hscrollbar垂直滾動條VscrollbarValueMax和MinLargeChangeSmallChangeChange計時器TimerIntervalTimerP.1106/55第四章VB語言基礎(chǔ)VB應(yīng)用程序窗體文件標準模塊文件申明部分事件過程通用過程申明部分通用過程類模塊文件全局申明模塊申明全局申明窗體級申明7/55第四章VB語言基礎(chǔ)語句:VB程序最基本成份一個語句可經(jīng)過續(xù)行符號“_”(一個空格加一個下劃線)分成多行寫;多個語句也可經(jīng)過分行符號“:”(冒號)寫在一行上。注釋語句:[格式一]:Rem<注釋語句>[格式二]:’<注釋語句>8/55第四章VB語言基礎(chǔ)整型數(shù)浮點型數(shù)整型長整型單精度數(shù)雙精度數(shù)程序運行中取值一直保持不變數(shù)據(jù)稱為“常量”數(shù)值常量:八進制:(Integer)以&或&O為前綴;(Long)以&或&O為前綴,以&結(jié)尾。十六進制:(Integer)以&H為前綴;(Long)以&H為前綴,以&結(jié)尾。<底數(shù)>E<指數(shù)>或<底數(shù)>D<指數(shù)>,其中以E分隔數(shù)為單精度數(shù),以D分隔數(shù)為雙精度數(shù)字符常量:用引號括起來一串字符邏輯型常量:只有True(真)和False(假)兩個取值日期型常量:用#作為界定符,mm/dd/yy表示日期,hh:mm:ss表示時間符號常量:以符號形式表示常量[Public|Private]Const<常量名>[AsType]=<表示式>P.2229/55第四章VB語言基礎(chǔ)以符號形式出現(xiàn)在程序中,且取值能夠發(fā)生改變數(shù)據(jù)稱為“變量”,變量名命名規(guī)則以下:變量名只能是字母、數(shù)字和下劃線組成變量名必須以字母開頭,最終一個字符能夠是類型說明符字符串內(nèi)不得包含點號和用于類型說明符號%、&、!、#、@、$,也不能有空格
不超出255個字符在作用域內(nèi)必須唯一不得使用系統(tǒng)保留字(如EndPrivateSub),但能夠把保留字嵌入變量名中;同時變量名也不能是末尾帶有類型說明符保留字。變量名不區(qū)分大小寫。10/55第四章VB語言基礎(chǔ)變量說明語句局部變量(包含靜態(tài)變量)——在過程中申明Static|Dim<變量名>[As<類型>]窗體/模塊級變量——在模塊“通用”部分申明
Private|Dim<變量名>[As<類型>]
全局變量——在模塊“通用”部分申明
Public<變量名>[As<類型>]11/55第四章VB語言基礎(chǔ)變量初始值:當(dāng)對一個變量進行說明后,系統(tǒng)會自動為其賦一個默認初始值。數(shù)值型數(shù)據(jù)初值為0;字符型數(shù)據(jù)初值為空串“”;邏輯型數(shù)據(jù)初值為False;日期型數(shù)據(jù)初值為1899-12-30,0:00:00一條語句申明多個變量:必須對每個變量都逐一申明 例:Dimx,yasInteger12/55第四章VB語言基礎(chǔ)變量賦值:變量名=表示式隱式說明——類型說明符(P47,表3-4)例:k%=1:Country$=“China”定長字符串說明:Private|Dim|Static|Public<變量名>AsString*<長度>
例:DimString1AsString*10常量、定長字符串、數(shù)組不能在窗體通用申明中用Public進行申明!13/55第四章VB語言基礎(chǔ)OptionExplicit語句功效:系統(tǒng)自動檢驗?zāi)K中全部未加顯式說明變量,一旦發(fā)覺便產(chǎn)生犯錯信息提醒使用者更正錯誤。該語句應(yīng)在模塊通用說明部分輸入強制顯式說明好處:一個變量假如不被定義,會被看成變體類型來進行處理,從而降低程序效率;變量定義之后,若事后使用了錯誤變量名,則系統(tǒng)檢測到錯誤變量名時會發(fā)覺其沒有被申明,便會提醒用戶輸入錯誤。14/55第四章VB語言基礎(chǔ)算術(shù)運算符加(+)、減(-)、乘(*)、除(/)、整除(\)、取余(Mod)、乘方(^)、字符串連接(&)優(yōu)先級:^-(負號)*和/\Mod+和-&關(guān)系運算符:=、>、<、>=、<=、<>邏輯運算符:非(Not)、與(And)、或(Or)、異或(Xor)、等價(Eqv)、蘊含(Imp)優(yōu)先級:NotAndOrXorEqvImp15/55運算規(guī)則:先算術(shù)運算,再關(guān)系運算,最終邏輯運算()可用來改變運算優(yōu)先次序不一樣數(shù)據(jù)類型數(shù)據(jù)進行運算:結(jié)果為存放長度較長數(shù)據(jù)類型,但除法運算結(jié)果都為雙精度型要注意表示式可能溢出情況第四章VB語言基礎(chǔ)試驗4-216/55公共函數(shù):VB系統(tǒng)已預(yù)先定義好完成某特定功效程序段,公共函數(shù)可供編程者直接調(diào)用使用。算術(shù)函數(shù)(P52表4-6)sgn(x)rnd(x)sin(x)字符函數(shù)(P53表4-7)len(x)mid(x,n1,n2)instr(n,x,y)轉(zhuǎn)換函數(shù)(P54表4-8)fix(x)int(x)cint(x)日期與時間函數(shù)(P55表4-9)datetimenow第四章VB語言基礎(chǔ)P.18617/55第四章VB語言基礎(chǔ)格式化函數(shù)format[$](<算術(shù)表示式>,fmt$)[格式控制字符]:
數(shù)位控制符:#、0
標點控制符:.、,
指數(shù)輸出控制符:E+、E-
符號控制符:%、$、-、+例:X=123456.78PrintFormat(x,”00000000.0000”)PrintFormat(x,”###,###,###.#”)00123456.7800123,456.8P.282(4)18/55賦值語句普通形式為:var=<表示式>其中:var表示某個變量名或?qū)傩悦?賦值語句左邊不能是表示式或常量第四章VB語言基礎(chǔ)19/55變量(數(shù)值型)=表示式(數(shù)值型)將表示式值類型先轉(zhuǎn)換為變量類型再賦值變量(字符型)=表示式(數(shù)值型)將表示式值先轉(zhuǎn)換為數(shù)字字符再賦給變量變量(邏輯型)=表示式(數(shù)值型)
非零值轉(zhuǎn)換為True賦給變量,0值轉(zhuǎn)換為False賦給變量變量(數(shù)值型)=表示式(邏輯型)
True轉(zhuǎn)換為-1賦給變量,F(xiàn)alse轉(zhuǎn)換為0賦給變量P.559變量(字符型)=表示式(邏輯型)True轉(zhuǎn)化為“True”賦給變量,F(xiàn)alse轉(zhuǎn)化為“False”賦給變量變量(數(shù)值型)=表示式(字符型)報錯第四章VB語言基礎(chǔ)20/55InputBox函數(shù)v=InputBox[$](<Prompt>[,<Title>][,<Default>][,<x,y>])MsgBox函數(shù)MsgBox[(Prompt[,Button][,Title][,HelpFile,Context])]1.等同為一個方法使用,不加括號;例:MsgBox"非法數(shù)據(jù)!",,"警告"2.需要用戶響應(yīng)結(jié)果,將函數(shù)返回結(jié)果(P58表4-11)賦給一個變量例:Response=MsgBox("真刪除該項嗎?",4+48,"提醒信息")3.使用Print方法例:Print
MsgBox("非法數(shù)據(jù)!",,"警告")第四章VB語言基礎(chǔ)21/55第五章算法基礎(chǔ)及VB基本語句任何算法都可由以下三種基本結(jié)構(gòu)實現(xiàn):次序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)語句1語句2條件滿足?語句塊1語句塊2TrueFalse語句塊TrueFalse條件22/55第五章算法基礎(chǔ)及VB基本語句分支結(jié)構(gòu)If條件成立Then[A組語句]Else[B組語句]EndIf注意:語句體和Then或Else不能夠?qū)懺谕恍?.當(dāng)分支結(jié)構(gòu)中A組或者B組語句僅有一條時,可省略“EndIf”,但必須將全部語句寫在同一行:If條件成立Then<語句1>Else<語句2>
23/55第五章算法基礎(chǔ)及VB基本語句多分支結(jié)構(gòu)If條件1Then
語句塊1
ElseIf條件2Then語句塊2……
ElseIf條件nThen語句塊n
Else
語句塊n+1
EndIfSelectCase測試表示式
Case測試項1語句塊1
Case測試項2語句塊2……
CaseElse語句塊n+1EndSelectP.214P.54824/55SelectCase結(jié)構(gòu)注意點: (1)測試表示式能夠是算術(shù)表示式或字符表示式; (2)測試條件有四種形式: 詳細取值,如2,3,“A”等
閉區(qū)間,如3To78,“B”To“H”等
必須把比較小值寫在前面,把比較大值寫在后面,字符常量范圍必須按字母次序?qū)懗?/p>
IS關(guān)系運算表示式,如Is>20,Is<“P”等
只能是簡單條件,不能用邏輯運算符把兩個或多個簡單條件組合在一起
以上三種形式組合,以逗號間隔,條件組合是或關(guān)系,不能表示與關(guān)系
(3)CaseElse語句部分能夠省略; (4)以EndSelect語句結(jié)束; (5)該結(jié)構(gòu)是一個單出口結(jié)構(gòu),即只會執(zhí)行一個語句塊,若條件中有兩個成立,則按語句次序執(zhí)行前面語句塊。25/55第五章算法基礎(chǔ)及VB基本語句條件?循環(huán)體TrueFalse條件?循環(huán)體FalseTrue
DoWhile<條件><循環(huán)體>
LoopDo<循環(huán)體>LoopWhile<條件>“當(dāng)(while)型”循環(huán)——條件成立時,執(zhí)行循環(huán)體26/55第五章算法基礎(chǔ)及VB基本語句條件?循環(huán)體FalseTrue條件?循環(huán)體TrueFalse“直到(Until)型”循環(huán)——條件成立時,結(jié)束循環(huán)
DoUntil<條件><循環(huán)體>
LoopDo<循環(huán)體>LoopUntil<條件>27/55第五章算法基礎(chǔ)及VB基本語句For-Next循環(huán)For<計數(shù)變量>=<初值>To<終值>[Step<步長>] 循環(huán)體Next<計數(shù)變量>注意:計數(shù)變量應(yīng)為整型或單精度型,初值、終值和步長值為對應(yīng)類型表示式;步長值能夠為正,也可為負,省略時默認步長值為1;28/55計數(shù)變量=初值計數(shù)變量>終值是循環(huán)體計數(shù)變量=計數(shù)變量+步長值否步長值為正計數(shù)循環(huán)計算初值、終值和步長值[說明]:
For-Next是關(guān)鍵字,成對出現(xiàn),缺一不可;循環(huán)體為可執(zhí)行語句組成,能夠嵌套分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu);計數(shù)變量應(yīng)為整型或單精度型,初值、終值和步長值為對應(yīng)類型表示式;步長值能夠為正,也能夠為負,能夠省略,省略時默認步長值為1;循環(huán)次數(shù)為:Int((終值-初值)/步長值)+1語句ExitFor能夠無條件退出計數(shù)循環(huán)P.9429/55第五章算法基礎(chǔ)及VB基本語句ExitDo用于直接退出循環(huán),可在任意Do-Loop結(jié)構(gòu)循環(huán)體中出現(xiàn),普通形式為:If條件成立ThenExitDo試驗6-3循環(huán)體中可出現(xiàn)ExitFor語句,用于無條件退出循環(huán)試驗6-130/55第六章數(shù)組數(shù)組:一組含有相同類型有序變量集合數(shù)組必須先定義后使用。數(shù)組定義:Public|Private|Static|Dim數(shù)組名([<下界1>To]<上界1>[,[<下界2>To]<上界2>,…])As類型說明:<下界>TO<上界>決定了每一維大小,下界指下標最小值,上界指下標最大值,默認下界是從0開始,若想使下標從1開始,可在模塊“通用”部分中使用語句“OptionBase1”上、下界必須是常量或常量表示式,不得是變量,上、下界應(yīng)是整數(shù),若不是,則自動四舍五入31/55第六章數(shù)組返回上、下界函數(shù):UBound(數(shù)組名[,d]):返回數(shù)組某維維上界值LBound(數(shù)組名[,d]):返回數(shù)組某維維下界值Erase:初始化固定大小數(shù)組元素(依據(jù)數(shù)組類型給元素賦初值),或釋放動態(tài)數(shù)組存放空間。ForEachElementIn<數(shù)組名> 語句組 [ExitFor] 語句組 Next[Element]說明:Element必須是個Variant變量,它逐一代表數(shù)組中每一個元素。32/55第六章數(shù)組數(shù)組元素賦值經(jīng)過循環(huán)逐一給數(shù)組元素賦值(用InputBox函數(shù))變體變量名=Array([n1,n2,...]) 第六章PPTP.28數(shù)組元素輸出按矩陣格式輸出數(shù)組數(shù)組元素引用經(jīng)過數(shù)組名和下標來引用,但元素下標一定要在定義上下界范圍之內(nèi),不然便會報出“數(shù)組越界”錯誤。33/55第六章數(shù)組動態(tài)數(shù)組Dim數(shù)組名()as類型ReDim[Preserve]<數(shù)組名>(維界定義)控件數(shù)組:由一組含有相同名稱同類型控件組成,每個控件共享同一事件過程控件數(shù)組中每個控件都由其下標屬性Index標識控件數(shù)組第一個元素下標為034/55第六章數(shù)組Loadobject(index)Unloadobject(index)用于添加和刪除控件數(shù)組中控件,但添加和刪除控件只能針對現(xiàn)有控件數(shù)組操作index能夠跳序;Unload語句只能刪除由Load語句添加控件;由Load語句添加控件,其Visible屬性為False,所以要在程序中將剛裝載控件Visible屬性設(shè)置為True,才能在窗體上可見;另外,新控件大小、位置與原控件一樣,隱藏在其背后,所以還要重新設(shè)置它Top、Left等屬性;35/55第六章數(shù)組排序選擇法排序直接排序冒泡排序直接插入排序二分查找36/55第六章數(shù)組選擇法排序:Fori=1toN-1Forj=i+1toNIfA(i)<A(j)ThenTEMP=A(i)A(i)=A(j)A(j)=TEMPEndIfNextjNexti37/55第六章數(shù)組冒泡排序Fori=1ton-1Forj=1ton-iIfa(j)<a(j+1)ThenTEMP=A(j)A(j)=A(j+1) A(j+1)=TEMPEndIfNextjNexti38/55將待排序N個數(shù)據(jù)存放在數(shù)組SORT中,首先將SORT(1)認為已排序子序列,然后依次將SORT(2)、SORT(3)、…SORT(N)插入到已排好序子數(shù)列中。每插入一個元素都依次進行以下三個操作。1.先將待插元素SORT(I)放入變量Temp中;2.尋找插入位置:將temp依次與SORT(I-1)、SORT(I-2)、…進行比較,一旦SORT(k)<temp,則停頓比較,插入位置即是SORT(K)之后;3.空出位置,將元素插入:將SORT(k+1)至SORT(I-1)元素依次后移一位,再將變量temp值放入SORT(K+1)中;注意:為防止元素值丟失,必須先將SORT(I-1)賦給SORT(I),SORT(I-2)賦給SORT(I-1),…,直至SORT(K+1)賦給SORT(K+2).……重復(fù)上述操作,將每個元素都插入到指定位置中。[例8-11]:直接插入排序法——從小到大次序。39/553615436154616565463Temp2265432排序前排序后直接排序示例40/55PrivateSubinsertion(sort()AsInteger)DimkAsInteger,iAsInteger,tempAsInteger,UbAsIntegerUb=UBound(sort)Fori=2ToUbtemp=sort(i)k=i-1DoWhiletemp<sort(k)sort(k+1)=sort(k)k=k-1Ifk<=0ThenExitDoLoopsort(k+1)=tempNextiEndSub取待排序元素一邊比較一邊后移temp比已排序全部元素都小則結(jié)束尋找第一個比temp小元素位置為temp插入位置K指向前一個元素41/55[分析]:二分查找是一個快捷有效查找方法,使用二分查找前提是數(shù)據(jù)序列已排好序。假設(shè)有n個數(shù)已經(jīng)按照從小到大次序排列,并存放在數(shù)組A中,設(shè)Left為查找區(qū)間下界——下標,初值為1;Right為查找區(qū)間上界,初值為n;設(shè)需要查找數(shù)為x;二分查找算法以下:(1)求出查找區(qū)間中間位置Mid=Int((Left+Right)/2)(2)若A(Mid)=x,則找到,結(jié)束比較(3)若A(Mid)<x,則表明x在A(Mid+1)到A(Right)區(qū)間內(nèi),查找區(qū)間縮小二分之一,設(shè)置Left=Mid+1(4)若A(Mid)>x,則表明x在A(Left)到A(Mid-1)區(qū)間內(nèi),查找區(qū)間縮小二分之一,設(shè)置Right=Mid-1(5)重復(fù)執(zhí)行以上操作(6)結(jié)束循環(huán)條件有兩個:已經(jīng)找到;找不到--Left>Right二分查找42/55341111059678x=8LeftRightMidLeftRightMidRightLeftMid231111049678x=5LeftRightMidMidRightLeftMidLeftLeftMidLeftMid43/55Left=LBound(a)Right=UBound(a)x=InputBox("請輸入要查找數(shù)據(jù)")DoWhileLeft<=RightMid=Int((Left+Right)/2)Ifa(Mid)=xThen
ExitDoElseIfa(Mid)<xThenLeft=Mid+1Else Right=Mid-1EndIfLoopIfLeft<=RightThen Print"要查找";x;"是A(";Mid;")"Else Print"沒找到!";xEndIf二分查找44/55第七章過程過程Sub過程Function過程Property過程事件過程通用過程窗體事件過程控件事件過程公有過程私有過程45/55第七章過程窗體事件過程普通形式以下:PrivateSubForm_事件名([參數(shù)列表])[局部變量和常數(shù)申明]語句塊EndSub窗體事件過程InitializeLoadActivateGotfocus窗體事件過程名中不使用其詳細名稱,而固定用Form窗體事件固定為“Private”,說明它是模塊級46/55第七章過程控件事件過程普通形式以下:PrivateSub控件名_事件名([參數(shù)列表])[局部變量和常數(shù)申明]語句塊EndSub控件事件過程名中必須使用其詳細名稱控件事件固定有“Private”關(guān)鍵字,說明它是模塊級47/55第七章過程通用過程[
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 某燈具廠成品包裝成本管控管理制度
- 某燈具廠實驗室儀器校準規(guī)范
- 某輪胎廠硫化溫度控制規(guī)范
- 燈具廠成品庫存管理制度
- 2026上半年貴州事業(yè)單位聯(lián)考黔東南州招聘948人備考題庫附答案詳解(預(yù)熱題)
- 2026廣西南寧市吉祥路幼兒園招聘2人備考題庫含答案詳解(突破訓(xùn)練)
- 2026上半年貴州事業(yè)單位聯(lián)考習(xí)水縣招聘203人備考題庫附參考答案詳解(預(yù)熱題)
- 2026年安徽省合肥市青年路小學(xué)教育集團青年路小學(xué)、黃河路小學(xué)、云谷路小學(xué)2026年春季學(xué)期教師招聘備考題庫帶答案詳解(綜合題)
- 2026上半年海南事業(yè)單位聯(lián)考瓊中黎族苗族自治縣招聘60人備考題庫帶答案詳解(達標題)
- 2026年馬鞍山經(jīng)濟技術(shù)開發(fā)區(qū)管委會面向全省公開選調(diào)事業(yè)單位工作人員3名備考題庫完整答案詳解
- 經(jīng)銷商會議總結(jié)模版
- 兩癌預(yù)防知識講座
- 用電安全隱患檢測的新技術(shù)及應(yīng)用
- 新疆克州阿合奇縣2024-2025學(xué)年七年級上學(xué)期期末質(zhì)量檢測英語試卷(含答案及聽力原文無音頻)
- 《水庫泥沙淤積及影響評估技術(shù)規(guī)范》
- 2023-2024學(xué)年浙江省杭州市西湖區(qū)教科版五年級上冊期末考試科學(xué)試卷
- GB/T 7948-2024滑動軸承塑料軸套極限PV試驗方法
- DL∕T 1057-2023 自動跟蹤補償消弧線圈成套裝置技術(shù)條件
- AQ 2003-2018 軋鋼安全規(guī)程(正式版)
- 村委會指定監(jiān)護人證明書模板
- 送給業(yè)主禮物方案
評論
0/150
提交評論