2020年浙江省高三信息技術(shù)程序選考知識(shí)點(diǎn)總結(jié)大全_第1頁(yè)
2020年浙江省高三信息技術(shù)程序選考知識(shí)點(diǎn)總結(jié)大全_第2頁(yè)
2020年浙江省高三信息技術(shù)程序選考知識(shí)點(diǎn)總結(jié)大全_第3頁(yè)
2020年浙江省高三信息技術(shù)程序選考知識(shí)點(diǎn)總結(jié)大全_第4頁(yè)
2020年浙江省高三信息技術(shù)程序選考知識(shí)點(diǎn)總結(jié)大全_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、算法的基本概念及常用表達(dá)方法 (b)1.算法的基本概念概念是解題方法的精確描述,由有限個(gè)步驟組成。算法特征(1)有窮性:算法的有窮性是指算法必須能在執(zhí)行有限個(gè)步驟之后終止。(2)確定性:算法的每一步驟必須有確切的定義,不能有歧義。(3)能行性:每個(gè)步驟是可行的,并且能在有限的時(shí)間內(nèi)完成。(4)有 0 個(gè)或多個(gè)輸入:初始數(shù)據(jù)可從外界輸入,也可含于算法之中。(5)有一個(gè)或多個(gè)輸入:一定要有結(jié)果,以一定方式輸出。2.算法的常用表示方法自然語(yǔ)言自然語(yǔ)言是指人們?cè)谌粘I钪惺褂玫恼Z(yǔ)言,用自然語(yǔ)言描述的算法通俗易懂,但缺乏直觀(guān)性和間接性,容易產(chǎn)生歧義。流程圖流程圖也稱(chēng)程序框圖

2、,它是算法的一種圖形化的表示方法,與自然語(yǔ)言相比,它描述的算法形象、直觀(guān),更容易理解。偽代碼偽代碼是介于自然語(yǔ)言和計(jì)算機(jī)程序語(yǔ)言之間的一種算法描述,沒(méi)有嚴(yán)格的語(yǔ)法限制,也是專(zhuān)業(yè)軟件開(kāi)發(fā)人員描述算法的一種常用方法。3.順序、選擇、循環(huán)三種控制結(jié)構(gòu)順序結(jié)構(gòu):在算法執(zhí)行流程中,執(zhí)行完一個(gè)處理步驟Step1 后,順序執(zhí)行緊跟著的下一個(gè)處理步驟 Step2。選擇結(jié)構(gòu):在算法執(zhí)行流程中,往往需要對(duì)某個(gè)情況e 進(jìn)行判斷,當(dāng)結(jié)果為真時(shí),執(zhí)行Y 指向流程線(xiàn)下的步驟 Step1;否則執(zhí)行 N 指向流程線(xiàn)下的步驟 Step2。循環(huán)結(jié)構(gòu):

3、在算法執(zhí)行流程中,對(duì)某個(gè)情況e 進(jìn)行判斷,當(dāng)結(jié)果為真時(shí),執(zhí)行Y 指向流程線(xiàn)下的步驟 Step1,然后判斷的結(jié)果為假,執(zhí)行 N 指向流程線(xiàn)下的其他語(yǔ)句。Step1Y情況 e 為真?        NY情況 e 為真?       NStep2Step1Step2Step14.基本算法枚舉算法枚舉算法又稱(chēng)窮舉算法,是一種全過(guò)程搜索結(jié)果法,在所有可能的結(jié)果中把搜索

4、到的每一個(gè)結(jié)果進(jìn)行逐個(gè)比對(duì),過(guò)濾不符合要求的結(jié)果,保留符合要求的結(jié)果。解析算法并用解析的方法找出能正確體現(xiàn)問(wèn)題前提與求解結(jié)果之間關(guān)系的數(shù)學(xué)表達(dá)式, 通過(guò)表達(dá)式的計(jì)算來(lái)實(shí)現(xiàn)問(wèn)題求解的算法。排序算法把雜亂無(wú)章的數(shù)據(jù)變?yōu)橛行驍?shù)據(jù)的過(guò)程稱(chēng)為排序。排序可以對(duì)數(shù)值、字符、圖形等數(shù)據(jù)進(jìn)行操作,要領(lǐng)會(huì)采用冒泡排序和選擇排序算法對(duì)數(shù)據(jù)進(jìn)行排序的過(guò)程。查找算法查找算法是一種能以較少的步驟或較短的事件查詢(xún)所需數(shù)據(jù)的方法。常見(jiàn)的查找算法有順序查找和對(duì)分查找(二分查找),順序查找對(duì)源數(shù)據(jù)沒(méi)有要求,而對(duì)分查找則要求源數(shù)據(jù)必須是有序的。遞歸算法在一個(gè)子程序(過(guò)程或函數(shù))的定義中直接或間接地調(diào)用該子程序本身(即自己

5、調(diào)用自己)的算法,稱(chēng)為遞歸算法。例:流程圖表示“交換 AB”開(kāi)始b輸入 a, 的值caabbcb輸出 a, 的值結(jié)束        開(kāi)始b輸入 a, 的值aa+bba-baa-bb輸出 a, 的值結(jié)束面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思想與方法 (b)1.面向?qū)ο蟪绦蛟O(shè)計(jì)有類(lèi)、方法、對(duì)象、屬性、事件、事件驅(qū)動(dòng)等概念。2.在 VB 環(huán)境中建立一個(gè)應(yīng)用程序 VB 程序設(shè)計(jì)環(huán)境:VB 

6、應(yīng)用程序設(shè)計(jì)環(huán)境主要由對(duì)象窗口、控件工具箱、屬性窗口、工程窗口組成。VB 的基本控件:標(biāo)簽 Label、文本框 TextBox、命令按鈕 CommandButton 列表框 ListBox、圖像 Image、計(jì)時(shí)器 Timer 等。屬性窗口:VB 應(yīng)用程序中的對(duì)象都有各自的相關(guān)屬性,屬性窗口中的各屬性及相應(yīng)屬性值用來(lái)描述和反映對(duì)象的特征。例如,對(duì)象名稱(chēng)(Name)、標(biāo)題(Caption)、字體(Font)等屬性,決定了對(duì)象展現(xiàn)給用戶(hù)的是什么樣的外觀(guān)及功能。在 VB 環(huán)境中建立

7、一個(gè)應(yīng)用程序的一般步驟如圖所示。分析問(wèn)題、設(shè)計(jì)算法界面設(shè)計(jì)編寫(xiě)和輸入代碼運(yùn)行、調(diào)試和保存程序類(lèi)、對(duì)象、屬性、方法、事件和事件處理的概念及應(yīng)用 (c)1.類(lèi)類(lèi)(class)是對(duì)相同性質(zhì)的對(duì)象的一種抽象,而一個(gè)對(duì)象則是類(lèi)的一個(gè) “實(shí)例”。2.對(duì)象、屬性、方法對(duì)象是客觀(guān)存在的事物或概念。它有兩個(gè)特點(diǎn):狀態(tài)和行為。VB 中常用的對(duì)象有窗體、標(biāo)簽、文本框、命令按鈕等。一個(gè)對(duì)象的狀態(tài)是通過(guò)若干個(gè)屬性 (Property)來(lái)描述的;行為是對(duì)屬性進(jìn)行操作和處理的方法(Method)。在面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中,一個(gè)對(duì)象是由一組表示對(duì)象狀態(tài)的數(shù)據(jù)和一組描述處理對(duì)象屬性的方

8、法的代碼構(gòu)成的。對(duì)象的屬性定義其外觀(guān),方法定義其行為。關(guān)于對(duì)象 List1 的屬性和方法Additem 是方法Appearance 是屬性屬性和屬性值控件名控件的類(lèi)型選中的屬性可以設(shè)置該屬性的值屬性名屬性值3.事件和事件處理過(guò)程事件(Event)就是發(fā)生在對(duì)象上的事情,通常是由用戶(hù)在對(duì)象上激發(fā)的一種動(dòng)作。事件定義對(duì)象和用戶(hù)的交互。事件名ClickDblClickKeyPress說(shuō)明鼠標(biāo)單擊事件鼠標(biāo)雙擊事件鍵盤(pán)按鍵事件事件名LoadTimerChange說(shuō)明窗體加載事件定時(shí)器事件對(duì)象內(nèi)容改變事件處理過(guò)程:一個(gè)事件的發(fā)生,可以引起某個(gè)對(duì)象上某個(gè)方法(事件處理

9、過(guò)程)的執(zhí)行,即由某個(gè)事件驅(qū)動(dòng)了相應(yīng)的事件處理過(guò)程的執(zhí)行。這就是面向?qū)ο蟪绦蛟O(shè)計(jì)中的事件驅(qū)動(dòng)概念。例如:Private Sub Command1_Click()事件處理過(guò)程名的命名格式:對(duì)象名_事件名例如:此程序事件處理過(guò)程名為 Command1_Click此程序事件處理過(guò)程為 Command1_Click()VB 應(yīng)用程序的調(diào)試及運(yùn)行 (c)1.VB 應(yīng)用程序的界面設(shè)計(jì)VB 程序設(shè)計(jì)語(yǔ)言:基于 Basic 語(yǔ)言的可視化程序設(shè)計(jì)環(huán)境,采用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法(OOP)。VB 應(yīng)用程序

10、設(shè)計(jì)環(huán)境的窗口主要由對(duì)象窗口、控件工具箱、屬性窗口、工程窗口組成???#160;件工具箱 集中了常用的 基本控件 : 標(biāo) 簽 Label 、文 本 框 TextBox 、命令 按鈕CommandButton 列表框 ListBox、圖像 Image、計(jì)時(shí)器 Timer 等。控件類(lèi)名標(biāo)簽文本框命令按鈕列表框圖像計(jì)時(shí)器LabelTextBoxCommand ButtonListBoxImageTimer,窗體(Form)

11、是 VB 應(yīng)用程序的基本結(jié)構(gòu)。窗體可以看作是一個(gè)“容器” 其中放置著各種各樣在應(yīng)用程序中必須用到的對(duì)象。應(yīng)用程序中對(duì)象:6 個(gè)應(yīng)用程序窗體中對(duì)象:5 個(gè)注:窗體算一個(gè)對(duì)象。2.VB 應(yīng)用程序的運(yùn)行和保存運(yùn)行:?jiǎn)螕艄ぞ邫谥小斑\(yùn)行”選項(xiàng)中的啟動(dòng)按鈕,運(yùn)行應(yīng)用程序。保存:在“文件”菜單中選“工程另存為”,該應(yīng)用程序的窗體和工程分別存儲(chǔ)到文件中,其相應(yīng)的文件擴(kuò)展名分別是“.frm”和“.vbp”??梢赃x“文件”菜單中的“生成工程 xxx.exe”,這樣,就可在 Windows 環(huán)境中直接運(yùn)行這個(gè)程序了。工程名稱(chēng)窗

12、體名稱(chēng)注:一個(gè)工程可以有多個(gè)窗體。工程文件名窗體文件名VB 基本數(shù)據(jù)類(lèi)型、常量、變量與數(shù)組 (c)1.基本數(shù)據(jù)類(lèi)型數(shù)據(jù)是信息的一種記錄形式。VB 常用的基本數(shù)據(jù)類(lèi)型:數(shù)據(jù)關(guān)鍵字取值范圍整型Integer -32768  32767范圍內(nèi)的任何整數(shù)長(zhǎng)整型單精度實(shí)數(shù)型雙精度實(shí)數(shù)型字符串型LongSingleDoubleString-2147483648  2147483647范圍內(nèi)的任何整數(shù)內(nèi)絕對(duì)值在 1.401298E  3.402823E38 的任何實(shí)數(shù),有效數(shù)字約 

13、;6 7 位。內(nèi)絕對(duì)值在 10E-324  1.79E308 的任何實(shí)數(shù),有效數(shù)字約 14  15位。一段文字或符號(hào)邏輯型日期型或Boolean 真(True) 假(False)Date    日期和時(shí)間2.常量常量是程序執(zhí)行過(guò)程中其值不變的存儲(chǔ)單元或數(shù)據(jù)。在 VB 中,常量有整數(shù)常量、實(shí)數(shù)常量、字符串常量和邏輯常量這幾種類(lèi)型。如整數(shù)常量 15、20 等;實(shí)數(shù)常量 3.14159、-2.01等;字

14、符串常量“VB “15”等;邏輯常量 True、False。符號(hào)常量:為了方便程序的修改、調(diào)試及使程序具有更好的可閱讀性,我們通常將某個(gè)常量定義為符號(hào)常量。如下列語(yǔ)句來(lái)定義代表圓周率的近似值的符號(hào)常量Pi。Const Pi=3.14163.變量變量是數(shù)據(jù)的一個(gè)存儲(chǔ)區(qū),在程序運(yùn)行過(guò)程中這些存儲(chǔ)區(qū)中的值是可以改變的。命名規(guī)則:(1)變量名由字母、數(shù)字和下劃線(xiàn)等字符組成,但必須以字母開(kāi)頭;(2)變量名最長(zhǎng)為 255 個(gè)字符;(3)變量名中的大小寫(xiě)字母是不加區(qū)分的;(4)保留字(又稱(chēng)關(guān)鍵字)不能作變量名。例如:True、Caption、If、Do

15、60;、While、For、Next、End 等都是 VB 中的保留字。變量說(shuō)明語(yǔ)句為:Dim變量名As變量的類(lèi)型4.一維數(shù)組數(shù)組是由一批同類(lèi)型的變量構(gòu)成的一個(gè)序列,組成數(shù)組的每一個(gè)變量被稱(chēng)為數(shù)組的元素,也稱(chēng)為下標(biāo)變量,下標(biāo)是一個(gè)整數(shù),用來(lái)指出某個(gè)元素在數(shù)組中的位置,數(shù)組中每個(gè)元素的位置由它的下標(biāo)唯一確定。一維組變量說(shuō)明語(yǔ)句為:Dim數(shù)組變量名(A1 To A2) As元素的類(lèi)型VB 各類(lèi)基本運(yùn)算、表達(dá)式與常用的標(biāo)準(zhǔn)函數(shù) (c)1.VB 的基本運(yùn)算VB 的基本運(yùn)算包括算術(shù)運(yùn)算、關(guān)系運(yùn)算和邏輯運(yùn)算

16、三大類(lèi)。算術(shù)運(yùn)算基本運(yùn)算乘冪取負(fù)乘法實(shí)數(shù)除法整數(shù)除法求余數(shù)加法減法字符連接運(yùn)算符-*/Mod+-+或&優(yōu)先級(jí)123345666示例72 計(jì)算結(jié)果為 49-7 表示負(fù) 77*2 計(jì)算結(jié)果為 147/2 計(jì)算結(jié)果為 3.572 計(jì)算結(jié)果為 37Mod2 計(jì)算結(jié)果為 17+2 計(jì)算結(jié)果為 97-2 計(jì)算結(jié)果為 5“7”+”2”計(jì)算結(jié)果”72”說(shuō)明:在表格中,基本運(yùn)算的優(yōu)先程度的最高級(jí)別為 1,級(jí)別的數(shù)字越大,優(yōu)先級(jí)越低。在同

17、一個(gè)表達(dá)式中,如果有一個(gè)以上的基本運(yùn)算,則先執(zhí)行優(yōu)先級(jí)高的運(yùn)算;同優(yōu)先級(jí)的基本運(yùn)算,按從左向右順序執(zhí)行;若表達(dá)式中有括號(hào),則先計(jì)算括號(hào)內(nèi)的表達(dá)式;如果有多層括號(hào),則按由內(nèi)向外的順序進(jìn)行計(jì)算。關(guān)系運(yùn)算關(guān)系運(yùn)算用來(lái)比較兩個(gè)數(shù)據(jù)的大小,或用來(lái)判斷等號(hào)兩邊的數(shù)據(jù)是否相等。關(guān)系運(yùn)算的結(jié)果是一個(gè)邏輯值,若兩個(gè)數(shù)據(jù)之間有指定的關(guān)系成立,則計(jì)算的結(jié)果值為真(True),否則計(jì)算的結(jié)果值為假(False)。關(guān)系運(yùn)算相等不相等小于大于小于等于大于等于運(yùn)算符=<><><=>=優(yōu)先級(jí)777777示例7=2 結(jié)果為 False7<>2 結(jié)果為

18、 True7<2 結(jié)果為 False7>2 結(jié)果為 True7<=2 結(jié)果為 False7>=2 結(jié)果為 True說(shuō)明:所有關(guān)系運(yùn)算具有相同的優(yōu)先級(jí)。邏輯運(yùn)算邏輯運(yùn)算用來(lái)連接簡(jiǎn)單的邏輯表達(dá)式,以描述對(duì)于復(fù)雜情況的判斷。關(guān)系運(yùn)算非與或運(yùn)算符NotAndOr優(yōu)先級(jí)8910示例Not(7>2)結(jié)果為 False(7>2)and(7<2)結(jié)果為 False(7>2)or(7<2)結(jié)果為 True說(shuō)明:參加邏輯運(yùn)算的數(shù)據(jù)必須是邏輯類(lèi)

19、型的,它們可以是關(guān)系運(yùn)算結(jié)果,或其他邏輯運(yùn)算的結(jié)果。2.表達(dá)式表達(dá)式是由變量、常量、運(yùn)算符、函數(shù)和圓括號(hào)等按一定的規(guī)則組合而成的,一個(gè)表達(dá)式可以包括算術(shù)運(yùn)算、關(guān)系運(yùn)算和邏輯運(yùn)算等多種基本運(yùn)算,可以在 VB 立即窗口中使用 Print方法打印表達(dá)式的值。3.常用的標(biāo)準(zhǔn)函數(shù)VB 中常用的數(shù)學(xué)函數(shù)、類(lèi)型轉(zhuǎn)換函數(shù)、字符串函數(shù):函數(shù)名Abs(x)Int(x)Fix(x)Sqr(x)Rnd()Asc(x)Chr(x)Val(x)Str(x)Len(x)函數(shù)的功能求 x 的絕對(duì)值求不大于 x 的最大整數(shù)函數(shù)直接截去小數(shù)點(diǎn)后求&#

20、160;x 的算術(shù)平方根產(chǎn)生一個(gè)大于等于 0 且 1 之間的隨機(jī)數(shù)將字符 x 轉(zhuǎn)換為 ASCII 碼值將 ASCII 代碼 x 轉(zhuǎn)換為所對(duì)應(yīng)的字符數(shù)字字符串 x 轉(zhuǎn)換為數(shù)值數(shù)值 x 轉(zhuǎn)換為字符串計(jì)算字符串 x 的長(zhǎng)度示例Abs(-3.5)的返回值為 3.5Int(3.5) 的返回值為 3Int(-3.5) 的返回值為-4Fix(3.5)的返回值為 3Fix(

21、-3.5)的返回值為-3Sqr(16) 的返回值為 4Rnd()的返回值為0,1)之間的一個(gè)隨機(jī)數(shù)Asc(“A”) 的返回值為 65Chr(66) 的返回值為”B”Val(“12.3”) 的返回值為 12.3Str(1.23) 的返回值為”12.3”Len(“Hello”) 的返回值為 5Mid(x,n,k)取字符串 x 中第 n 個(gè)字符起長(zhǎng)度為 k 的子串Mid(“Hello”,3,2) 的返回值為”ll”常用 V

22、B 語(yǔ)句 (c)1.賦值語(yǔ)句變量名=表達(dá)式 或 變量名=對(duì)象名.屬性名=表達(dá)式2.分支語(yǔ)句(選擇語(yǔ)句)分支語(yǔ)句用來(lái)描述分支結(jié)構(gòu)執(zhí)行的計(jì)算,使程序在執(zhí)行過(guò)程中,根據(jù)不同的判斷結(jié)果,選擇執(zhí)行不同的語(yǔ)句。其主要語(yǔ)句是 If 語(yǔ)句。行 If 語(yǔ)句格式(1)If條件表達(dá)式Then語(yǔ)句當(dāng)條件成立時(shí),執(zhí)行后面的語(yǔ)句。(2)If條件表達(dá)式Then語(yǔ)句 1Else語(yǔ)句 2當(dāng)條件成立時(shí),執(zhí)行 Then 后面的語(yǔ)句 1,否則執(zhí)行語(yǔ)句 2。注:一個(gè)行 If 語(yǔ)

23、句必須在一行內(nèi)寫(xiě)完,最后沒(méi)有 End If。塊 If 語(yǔ)句(1)If條件表達(dá)式Then語(yǔ)句End If(2)If條件表達(dá)式 1Then語(yǔ)句塊 1ElseIf條件表達(dá)式 2Then語(yǔ)句塊 2End If(3) If條件表達(dá)式 1Then語(yǔ)句塊 1ElseIf條件表達(dá)式 2Then語(yǔ)句塊 2Else語(yǔ)句塊 0End If注:(1)塊 If 語(yǔ)句的 ElseIf 語(yǔ)句部分和 Else

24、 語(yǔ)句部分是可選的。(2)If 語(yǔ)句的條件表達(dá)式的返回值是邏輯型的,當(dāng)返回值為 True 時(shí),執(zhí)行 True 后面的語(yǔ)句塊,如果返回值為 False,則執(zhí)行 Else 后面的語(yǔ)句塊。3.循環(huán)語(yǔ)句For 語(yǔ)句For循環(huán)變量=初值to終值 Step步長(zhǎng)語(yǔ)句塊Next循環(huán)變量使用說(shuō)明:(1)循環(huán)變量、初值、終值、步長(zhǎng)必須是數(shù)值型變量,一般是整數(shù)。(2)步長(zhǎng)是非零整數(shù),如果步長(zhǎng)為 1,“Step 1”可以省略。(3)Next 后面的循環(huán)變量與 For&#

25、160;語(yǔ)句中的循環(huán)變量必須一致。執(zhí)行 Next 語(yǔ)句后,循環(huán)變量增加一個(gè)步長(zhǎng)值。(4)當(dāng)步長(zhǎng)為正整數(shù)時(shí),循環(huán)執(zhí)行條件是循環(huán)變量小于或等于終值;當(dāng)步長(zhǎng)為負(fù)整數(shù)時(shí),循環(huán)執(zhí)行條件是循環(huán)變量大于或等于終值。Do 語(yǔ)句DoWhile條件表達(dá)式語(yǔ)句塊Loop使用說(shuō)明:(1)先計(jì)算條件表達(dá)式的值,如果為真(True),執(zhí)行語(yǔ)句塊,否則終止執(zhí)行循環(huán)。(2)遇到 Loop 時(shí),再計(jì)算條件表達(dá)式,重復(fù)第(1)步操作。(3)直到條件表達(dá)式的值為 False,循環(huán)結(jié)束。4.注釋語(yǔ)句注釋是以單引號(hào)()開(kāi)頭的一串文字,可以出現(xiàn)在程序中需要說(shuō)明的位置上,通過(guò)這一

26、串文字,對(duì)附近的程序段進(jìn)行簡(jiǎn)要的說(shuō)明,增加程序的可讀性。注釋對(duì)程序的執(zhí)行效果沒(méi)有任何影響,程序運(yùn)行時(shí)自動(dòng)跳過(guò)注釋。過(guò)程與自定義函數(shù) (c)1.過(guò)程VB 應(yīng)用程序是按模塊化的方式組成的,一個(gè)程序模塊是程序的一部分,每個(gè)模塊負(fù)責(zé)解決整個(gè)應(yīng)用問(wèn)題的一部分任務(wù)。程序模塊分為過(guò)程和函數(shù)。過(guò)程可以被重復(fù)調(diào)用。VB 的過(guò)程分為兩類(lèi):事件過(guò)程和通用過(guò)程。事件過(guò)程(1)定義:事件過(guò)程是 VB 預(yù)定義好的過(guò)程,其過(guò)程名、參數(shù)的類(lèi)型的個(gè)數(shù)不能改變,編程者只能編寫(xiě)事件過(guò)程中的代碼。(2)事件處理過(guò)程名必須符合規(guī)則:對(duì)象名_事件的標(biāo)準(zhǔn)名。(3)可以按以下的方式構(gòu)造一個(gè)事

27、件的處理過(guò)程。Sub 事件處理過(guò)程(參數(shù)表)語(yǔ)句塊End Sub(4)VB 的一些常用對(duì)象上的常見(jiàn)事件的標(biāo)準(zhǔn)名Click對(duì)象事件的標(biāo)準(zhǔn)名說(shuō)明文本框在文本框內(nèi)單擊鼠標(biāo)TextDblClick在文本框內(nèi)雙擊鼠標(biāo)KeyPress文本框被激活后,用戶(hù)在鍵盤(pán)上按下了某一個(gè)鍵Click命令按鈕在命令按鈕上單擊鼠標(biāo)Command標(biāo)簽 LabelKeyPress在標(biāo)簽上單擊鼠標(biāo)通用過(guò)程通用過(guò)程是一個(gè)獨(dú)立的程序段,不同的事件可能需要使用同一個(gè)程序段是,可以把這個(gè)程序段單獨(dú)地建立成一個(gè)通用過(guò)程,供其他事件處理過(guò)程或其他通用過(guò)程調(diào)用。在 VB 中,所有過(guò)程

28、(包括事件過(guò)程和通用過(guò)程)的聲明都是平等、并列的。2.自定義函數(shù)作用實(shí)現(xiàn)某些特定的計(jì)算(用在通用中)格式Function 函數(shù)名(參數(shù)表) As 類(lèi)型名語(yǔ)句塊End Function運(yùn)用方法(1)命名規(guī)則與變量名命名規(guī)則相同。(2)可以有多個(gè)參數(shù),每個(gè)參數(shù)都有制定的數(shù)據(jù)類(lèi)型,As 后面的類(lèi)型名,試說(shuō)明函數(shù)的計(jì)算結(jié)果的類(lèi)型,即函數(shù)返回值的數(shù)據(jù)類(lèi)型。(3)語(yǔ)句塊描述了函數(shù)的計(jì)算過(guò)程。(4)自定義函數(shù)的調(diào)用,與 VB 提供的標(biāo)準(zhǔn)函數(shù)調(diào)用一樣。函數(shù)執(zhí)行完成后,函數(shù)的計(jì)算結(jié)果(即函數(shù)的返回值)被送到函數(shù)的調(diào)用點(diǎn)(即調(diào)用該函數(shù)的程序位置

29、)上,供程序的后續(xù)部分繼續(xù)進(jìn)行處理。對(duì)于采用自定義函數(shù)的程序,閱讀程序時(shí)應(yīng)遵循“自頂向下”的方法分析程序,即先分析主程序(調(diào)用函數(shù)的程序),再分析被調(diào)用的函數(shù)。枚舉算法及其程序?qū)崿F(xiàn) (c)1.枚舉算法的基本思想枚舉算法的基本思想是根據(jù)問(wèn)題本身的性質(zhì),一列出該問(wèn)題的所有可能解,并在逐一列舉的過(guò)程中,檢驗(yàn)每個(gè)可能解是否是問(wèn)題的真正解。例如:找出 1 到 100 之間的素?cái)?shù),需要對(duì) 1 到 100 之間的所有整數(shù)進(jìn)行判斷。2.枚舉算法流程如圖所示。3.枚舉算法程序?qū)崿F(xiàn)的三要素”枚舉算法程序?qū)崿F(xiàn)的三要素為“枚舉解

30、(循環(huán)語(yǔ)句)“篩選解(條件判斷)“輸出解(或統(tǒng)計(jì)解的個(gè)數(shù))”。其一般程序結(jié)構(gòu)特點(diǎn)是循環(huán)結(jié)構(gòu)語(yǔ)句中包含分支結(jié)構(gòu)語(yǔ)句,實(shí)現(xiàn)對(duì)枚舉出的解進(jìn)行判斷與篩選。其中:(1)循環(huán)結(jié)構(gòu)語(yǔ)句中包含分支結(jié)構(gòu)語(yǔ)句:用于確定枚舉對(duì)象、枚舉范圍和判定條件;(2)對(duì)枚舉出的解進(jìn)行判斷與篩選:驗(yàn)證枚舉的可能解是否是問(wèn)題的真正解。枚舉算法的一般格式如下:For循環(huán)變量=初值 to 終值If條件表達(dá)式語(yǔ)句塊End IfNext 循環(huán)變量4.枚舉算法是通過(guò)犧牲時(shí)間來(lái)?yè)Q取答案的全面性,屬于搜索策略,適用于解變量的連續(xù)、值域確定的問(wèn)題。5.枚舉法的優(yōu)化主要有減少變量、縮小枚舉變量的值域、減少重復(fù)

31、計(jì)算等。解析算法及其程序?qū)崿F(xiàn) (c)1.解析算法的基本思想并用解析的方法找出表示問(wèn)題的前提條件與所求結(jié)果之間的關(guān)系的數(shù)學(xué)表達(dá)式, 通過(guò)表達(dá)式的計(jì)算來(lái)實(shí)現(xiàn)問(wèn)題求解。2.解析算法的解題思路問(wèn)題的前提條件數(shù)學(xué)表達(dá)式要求的解冒泡排序及其程序?qū)崿F(xiàn) (c)1.冒泡排序算法的基本思想冒泡排序算法吧待排序的 n 個(gè)元素看成是垂直對(duì)方的一列數(shù)據(jù),從最下面的一個(gè)元素起,。自下而上地比較相鄰的兩個(gè)元素中的數(shù)據(jù),將較?。ò瓷蚺判颍┑臄?shù)據(jù)換到上面的一個(gè)元素中。重復(fù)這一過(guò)程,直到處理完最后兩個(gè)元素中的數(shù)據(jù),稱(chēng)為一遍加工。當(dāng)?shù)谝槐榧庸ね瓿蓵r(shí),最小的數(shù)據(jù)已經(jīng)上升到第一個(gè)元素

32、的位置(最上面的元素位置) 然后對(duì)余下的 n-1 個(gè)元素重復(fù)上述過(guò)程,直到最后進(jìn)行余下兩個(gè)數(shù)據(jù)元素的比較和交換。2.冒泡排序的過(guò)程對(duì)于規(guī)模 n=4 的數(shù)據(jù)(22,17,35,29)進(jìn)行冒泡排序的過(guò)程如圖所示。3.冒泡排序算法的算法效率問(wèn)題冒泡排序算法對(duì)規(guī)模為 n 的數(shù)據(jù)進(jìn)行排序,總共需要進(jìn)行 n-1 辨加工。(第一遍加工的比較次數(shù)為 n-1 次,第二遍加工的比較次數(shù)為 n-2 次,依此下去,最后一遍加工的比較次數(shù)為 1 次。所以總的比較次數(shù)為:&

33、#160;n-1)+(n-2)+(n-3)+1=n(n-1)/2在每一遍加工的過(guò)程中需要對(duì)逆序的數(shù)據(jù)兩兩進(jìn)行交換,具體的交換次數(shù)要根據(jù)數(shù)據(jù)的實(shí)際情況而定,但交換的總次數(shù)不會(huì)超過(guò)總的比較次數(shù)。4.常用的冒泡排序程序結(jié)構(gòu)。讓循環(huán)變量 i 從 1 到 n-1 循環(huán)進(jìn)行 n-1 遍加工讓循環(huán)變量 j 從 n 到 i+1 循環(huán)自下而上地進(jìn)行兩兩比較和交換若 d(j)與相鄰的數(shù)據(jù)的 d(j-1)互逆,則兩者進(jìn)行交換(冒泡一次)內(nèi)層循環(huán)尾外層循環(huán)尾5

34、.常用的冒泡排序算法程序?qū)崿F(xiàn)(以升序排序?yàn)槔?。For i = 1 To n  1'進(jìn)行 n-1 遍加工For j = n To i + 1 Step -1'自下而上的進(jìn)行兩兩比較和交換If d(j) < d(j - 1) Then'進(jìn)行比較,如果互逆則交換(冒泡一次)k = d(j): d(j)&

35、#160;= d(j - 1): d(j - 1) = kEnd IfNext jNext i6.常用的冒泡排序算法流程圖如圖所示。選擇排序及其程序?qū)崿F(xiàn) (c)1.選擇排序的基本思想在參加排序數(shù)組的所有元素中找出最小(或最大)數(shù)據(jù)的元素,使它與第一個(gè)元素中的數(shù)據(jù)相互交換位置。然后再在余下的元素中,找出最?。ɑ蜃畲螅?shù)據(jù)的元素與第二個(gè)元素中的數(shù)據(jù)相互交換位置。以此類(lèi)推,直至所有元素成為一個(gè)有序的序列。2.選擇排序的實(shí)現(xiàn)在選擇排序方法中,參加排序的所有數(shù)組元素被分為兩個(gè)子序列已排

36、序的子序列和未排序的子序列,它們中間通過(guò)一道屏障分隔,如圖。在未排序子序列中找出最小(或最大)元素,把它和未排序子序列中的第一個(gè)元素進(jìn)行交換后,移到已排序子序列末尾元素的后面,同時(shí)屏障鄉(xiāng)下移動(dòng)一個(gè)元素位置。3.選擇排序的比較次數(shù)和交換次數(shù)對(duì) n 個(gè)數(shù)進(jìn)行選擇排序時(shí),第一遍需進(jìn)行 n-1 次比較,第二遍需進(jìn)行 n-2 次比較,以此類(lèi)推,共需要進(jìn)行的比較次數(shù)是(n-1)+(n-2)+(n-3)+1=n(n-1)/2。選擇排序的比較次數(shù)與待排序元素的初始狀態(tài)無(wú)關(guān),而交換次數(shù)與待排序元素的初始狀態(tài)有關(guān),即當(dāng)待排序元素已經(jīng)有序,交換 

37、0 次,最壞的情況下交換 n-1 次。4.選擇排序的程序結(jié)構(gòu)(以升序排序?yàn)槔┳?#160;i 從 1 到 n-1 循環(huán)k=i讓 j 從 i+1 到 n 循環(huán)若 a(k)>a(j),則把 j 值保存到 k 中循環(huán)尾若 ki,則交換 a(k)和 a(i)的數(shù)值循環(huán)尾5.選擇排序的程序?qū)崿F(xiàn)(以升序排序?yàn)槔〧or i = 1 To

38、60;n - 1k = iFor j = i + 1 To nIf a(k) > a(j) Then k = jNext jIf i <> k Thent = a(i): a(i) = a(k): a(k) = tEnd IfNext i順序查找及其程

39、序?qū)崿F(xiàn) (c)1.查找查找是一種查詢(xún)數(shù)據(jù)的技術(shù),其目標(biāo)是能以比較少的步驟或較短的時(shí)間找到所需要的對(duì)象。查找的方法很多,如順序查找法、對(duì)分查找法等。2.順序查找的基本思想從第一個(gè)數(shù)據(jù)開(kāi)始,按數(shù)據(jù)的順序逐個(gè)將數(shù)據(jù)與給定的值進(jìn)行比較。若某個(gè)數(shù)據(jù)與給定值相等,則查找成功,找到所查數(shù)據(jù)的位置;反之,查找不成功。順序查找算法簡(jiǎn)單,對(duì)數(shù)據(jù)表中的元素是否有序沒(méi)有要求。3.順序查找的過(guò)程在數(shù)據(jù)序列3,9,1,5,8,10,6,7,2,4中,查找關(guān)鍵字為 5 的元素。順序查找的過(guò)程如下圖所示。4.順序查找的效率使用順序查找時(shí),最理想的情況是比較一次就能夠找到目標(biāo)數(shù)據(jù),最差的情況是需要

40、比較完成所有的數(shù)據(jù)后才能確定是否找到目標(biāo)數(shù)據(jù)。因此,此種查找方法效率低,當(dāng)數(shù)據(jù)量較大時(shí)不宜采用。5.順序查找的程序結(jié)構(gòu)。順序查找程序就是用循環(huán)來(lái)枚舉所有要查找對(duì)象,然后在循環(huán)內(nèi)部用條件判斷當(dāng)前枚舉出的對(duì)象是否等于查找對(duì)象。程序結(jié)構(gòu)如下:用循環(huán)枚舉所有可能對(duì)象If 當(dāng)前枚舉出的對(duì)象就是待查找的對(duì)象then 輸出查找結(jié)果(或其他特殊處理)循環(huán)尾6.常用的順序查找程序?qū)崿F(xiàn)假設(shè) n 個(gè)數(shù)據(jù)一次存儲(chǔ)在數(shù)組 d(1),d(2),d(3),d(n)中,查找鍵為 key,則可以用如下代碼實(shí)現(xiàn):For i = 1 

41、;To n'逐一順序查找與比較的過(guò)程If d(i) = Key ThenText2.Text = Str(i)'輸出結(jié)果Exit For'如果找到結(jié)果則提前退出循環(huán)End IfNext iIf i = n + 1 Then"Text2.Text = 在數(shù)組中沒(méi)有找到" + Str(Key)End If對(duì)分查找及其程序?qū)崿F(xiàn) (c)1.對(duì)

42、分查找的基本思想首先將查找鍵與有序數(shù)組內(nèi)處于中間位置的元素進(jìn)行比較,如果中間位置上的元素?cái)?shù)值與查找鍵相同,表示找到,否則更具數(shù)組元素的有序性,就可能確定應(yīng)該在數(shù)組的前半部分還是后半部分繼續(xù)進(jìn)行查找。在新確定的范圍內(nèi),繼續(xù)按上述方法進(jìn)行查找,知道獲得最終結(jié)果。對(duì)分查找是一種效率很高的查找方法,但被查找的數(shù)據(jù)必須是有序的。2.對(duì)分查找的過(guò)程若用一個(gè)數(shù)組 d(1)到 d(11)來(lái)存放升序的元素序列,查找鍵 key 為 12.用 i 表示查找范圍的起始位置的下標(biāo),j 表示終止位置的下標(biāo),mid 表示中間位置元素的

43、下標(biāo)。對(duì)分查找的過(guò)程如圖所示。3.對(duì)分查找的效率對(duì)分查找的查找效率很高,無(wú)論是否找到,最多進(jìn)行l(wèi)og2N+1 次查找,log2N表示小于等于 log2N 的最大整數(shù)。4.對(duì)分查找的程序結(jié)構(gòu)(以查找升序序列為例)如果區(qū)間未空,那么繼續(xù)執(zhí)行循環(huán)體(一般用 Do While 循環(huán)實(shí)現(xiàn))取中點(diǎn)的下標(biāo)如果中點(diǎn)就是目標(biāo),那么退出循環(huán)如果目標(biāo)小于中點(diǎn),那么進(jìn)入左半?yún)^(qū)間,否則進(jìn)入右半?yún)^(qū)間循環(huán)尾5. 常用的對(duì)分查找程序?qū)崿F(xiàn)假如設(shè)有 10 個(gè)數(shù)據(jù)已經(jīng)按照升序存放在數(shù)組 d 中,查找鍵值為 key

44、。i = 1: j = 10 '查找區(qū)間初始化xb = 0 '記錄查找成功是的下標(biāo)Do While i <= jm = Fix(i + j) / 2)'計(jì)算出中間位置If d(m) = Key Thenxb = m'查找成功是變量 xb 記錄數(shù)組下標(biāo)Exit Do'查找成功

45、立即終止下標(biāo)End IfIf Key < d(m) Thenj = m 1'準(zhǔn)備在左半?yún)^(qū)繼續(xù)查找Elsei = m + 1End IfLoopIf xb <> 0 ThenText1.Text = Str(xb)Else"Text1.Text = 沒(méi)有找到"End If'準(zhǔn)備在右半?yún)^(qū)繼續(xù)查找'查找成功,輸出下標(biāo)

46、60;xb'查找不成功遞歸算法(c)1.遞歸的概念在一個(gè)過(guò)程中或函數(shù)在其定義或說(shuō)明中有直接或間接調(diào)用自身的一種方法,稱(chēng)為遞歸算法。2.遞歸算法的基本思想遞歸算法的基本思想是把規(guī)模較大的、較難解決的問(wèn)題變成規(guī)模較小的、更容易解決的一些問(wèn)題,規(guī)模較小的問(wèn)題又變成規(guī)模更小的問(wèn)題,當(dāng)問(wèn)題小到一定程度時(shí),可以直接得出它的解,從而得到原來(lái)問(wèn)題的解。例如:下面的自定義函數(shù) fx 屬于調(diào)用自身,因此屬于遞歸算法,也可以稱(chēng)為遞歸函數(shù)。Function fx(a As Integer) As IntegerIf a<=1

47、 Thenfx=1Elsefx=a+fx(a-1)End Function3.遞歸算法的實(shí)現(xiàn)要點(diǎn)遞歸調(diào)用必須是有限的。在進(jìn)行算法描述時(shí)必須設(shè)置相關(guān)的控制條件,使其成為有限。這可以通過(guò)條件語(yǔ)句(If 語(yǔ)句)來(lái)實(shí)現(xiàn),即只有在設(shè)定的條件成立時(shí)遞歸才繼續(xù),否則終止遞歸??梢?jiàn),構(gòu)成遞歸的必須滿(mǎn)足以下條件:有明確的結(jié)束遞歸的邊界條件(又稱(chēng)終止條件)以及結(jié)束時(shí)的邊界值;函數(shù)的描述中包含其本身,即能用遞歸形式表示,且遞歸終止條件的發(fā)展。4.遞歸算法的設(shè)計(jì)方法當(dāng)所求問(wèn)題難于直接求解時(shí),首先,把問(wèn)題分解成若干個(gè)難度較小、較容易求解的子問(wèn)題,子問(wèn)題與原問(wèn)題具有類(lèi)同的結(jié)構(gòu)。如果子問(wèn)題能夠

48、直接求解,則解之;如果子問(wèn)題仍不能直接求解,將每個(gè)子問(wèn)題再分解成若干個(gè)更簡(jiǎn)單的子問(wèn)題,知道分解出的子問(wèn)題能夠很容易地求解或解為已知,這是實(shí)現(xiàn)遞歸的模板。然后,設(shè)計(jì)出遞歸出口(即結(jié)束遞歸的邊界條件),在滿(mǎn)足出口條件時(shí),遞歸函數(shù)不能再調(diào)用自己,必須返回一個(gè)確定的值。將這兩方面的問(wèn)題分析好之后,就可以在程序體中定義遞歸調(diào)用了。5.遞歸算法調(diào)用過(guò)程示意圖直接遞歸間接遞歸VB 訪(fǎng)問(wèn) Access 數(shù)據(jù)庫(kù) (c)1.通過(guò) ADO 對(duì)象連接數(shù)據(jù)庫(kù)ADO,是微軟公司提供的一種應(yīng)用程序訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的編程接口。通過(guò) ADO 的 

49、;Connection對(duì)象建立與 Access 數(shù)據(jù)庫(kù)連接的基本過(guò)程如下:定義連接數(shù)據(jù)庫(kù)的對(duì)象確定連接的數(shù)據(jù)庫(kù)打開(kāi)(關(guān)閉)到數(shù)據(jù)庫(kù)的連接定義連接數(shù)據(jù)庫(kù)的對(duì)象VB 要通過(guò) ADO 訪(fǎng)問(wèn)數(shù)據(jù)庫(kù),首先需要定義連接數(shù)據(jù)庫(kù)的對(duì)象。Dim conn As New ADODB.Connection 定義 ADO 的 Connection 對(duì)象實(shí)例 connconn 是實(shí)例的名稱(chēng),命名規(guī)則與 VB 變量定義相同。注:使用 

50、ADO 需要添加 ADO 引用,選擇 VB“菜單”中的“引用”命令,在彈出的對(duì)話(huà)框中勾選“Microsoft ActiveX Data Objects 6.0 Library”,否則運(yùn)行程序時(shí)會(huì)提示編譯錯(cuò)誤信息:“找不到工程或庫(kù)”。確定連接的數(shù)據(jù)庫(kù)可以通過(guò)設(shè)置 Connection 對(duì)象實(shí)例的連接字符串 ConnectionString 屬性值確定所連接的數(shù)據(jù)庫(kù)名稱(chēng)及相關(guān)信息。conn.ConnectionString = "Provi

51、der=Microsoft.ACE.OLEDB.12.0;Data Source=" & App.Path &"XXX.accdb"設(shè)置了 Connection 對(duì)象實(shí)例 conn 的連續(xù)字符串。(1)“Provider”參數(shù)用于指定連接的提供者“Microsoft.ACE.OLEDB.12.0”可以訪(fǎng)問(wèn) Access2010 數(shù)據(jù)庫(kù));(2)“Data Source”用于指定數(shù)據(jù)庫(kù)的文件名(含絕對(duì)路徑);(3)“App.Path”返回當(dāng)前

52、應(yīng)用程序所在的絕對(duì)路徑;(4)“XXX.accdb”是連接的數(shù)據(jù)庫(kù)文件名稱(chēng)。打開(kāi)到數(shù)據(jù)庫(kù)的連接可以利用 Connection 對(duì)象中的 Open 方法打開(kāi)數(shù)據(jù)庫(kù),進(jìn)而對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行操作。conn.Open打開(kāi) conn 實(shí)例到數(shù)據(jù)庫(kù)的連接關(guān)閉到數(shù)據(jù)庫(kù)連接為節(jié)省數(shù)據(jù)庫(kù)連接數(shù)資源,當(dāng)不需要與數(shù)據(jù)庫(kù)連接時(shí),可以通過(guò)Close 方法關(guān)閉到數(shù)據(jù)庫(kù)的連接。conn.Close關(guān)閉 conn 實(shí)例的數(shù)據(jù)庫(kù)的連接2.通過(guò) Recordset 對(duì)象獲取數(shù)據(jù)表中的數(shù)據(jù)VB 應(yīng)用程序通過(guò)&#

53、160;ADO 的 Connection 對(duì)象與 Access 數(shù)據(jù)庫(kù)建立連接后,可以通過(guò) ADO 的記錄集 Recordset 對(duì)象從數(shù)據(jù)庫(kù)中獲取數(shù)據(jù)。獲取數(shù)據(jù)的基本過(guò)程如下:創(chuàng)建記錄集設(shè)置記錄集的連接屬性打開(kāi)或關(guān)閉記錄集創(chuàng)建記錄集VB 從數(shù)據(jù)庫(kù)獲取數(shù)據(jù),需要?jiǎng)?chuàng)建 ADO 的記錄集 Recordset 對(duì)象。Dim rs As New ADODB.Recordset 創(chuàng)建 ADO 的&

54、#160;Recordset 對(duì)象實(shí)例 rsrs 是實(shí)例的名稱(chēng),命名規(guī)則與 VB 變量定義相同。設(shè)置記錄集的連接屬性可以通過(guò)設(shè)置 Recordset 對(duì)象的 ActiveConnection 屬性值來(lái)實(shí)現(xiàn)與 Connection 對(duì)象之間的關(guān)聯(lián),以便記錄 Recordset 對(duì)象從數(shù)據(jù)庫(kù)中獲取數(shù)據(jù)。Set rs.ActiveConnection = conn 設(shè)置 ADO 記錄集 Recordse

55、t 對(duì)象的連接屬性。打開(kāi)記錄集將 rs 和 conn 建立關(guān)聯(lián)后,可以通過(guò)記錄集 Recordset 對(duì)象的 Open 方法查詢(xún)數(shù)據(jù)表的記錄,打開(kāi)記錄集。rs.Open "select*from XXX" 打開(kāi)記錄集(1)該語(yǔ)句執(zhí)行后,記錄集 rs 中的數(shù)據(jù) SQL 語(yǔ)句“select*from XXX”查詢(xún)到的記錄。(2)SQL 語(yǔ)句“select*from XXX”表示從數(shù)據(jù)庫(kù)中查詢(xún)

56、表名為“XXX”中的所有記錄。關(guān)閉記錄集當(dāng)記錄集 rs 中的數(shù)據(jù)讀取結(jié)束時(shí),可以使用 Close 方法關(guān)閉記錄集。rs.Close關(guān)閉記錄集3.數(shù)據(jù)庫(kù)記錄的顯示返回當(dāng)前記錄中的數(shù)據(jù)VB 應(yīng)用程序通過(guò) ADO 的 Recordset 對(duì)象打開(kāi)記錄集后,可以通過(guò) Recordset 的 Fields 集合返回當(dāng)前記錄中的數(shù)據(jù)。例如,Recordset 對(duì)象實(shí)例 rs 打開(kāi)了如表所示的記錄集。ID姓名性別出生日期1張?zhí)炷?996/12/1當(dāng)前

57、記錄2  王云 女   1997/5/4Fields 集合返回當(dāng)前記錄某個(gè)字段的數(shù)據(jù)有以下兩種方法:(1)rs.Fields(字段序號(hào)),其中字段序號(hào)從 0 開(kāi)始編號(hào)。(2)rs.Fields(“字段名稱(chēng)”)。)故 rs.Fields(0)和 rs.Fields(“ID” 都返回 2,rs.Fields(1)和 rs.Fields(“姓名” 都返回“王云”,rs.Fields(2)和 rs.Fields(“性別”)都返回“女”,rs.F

58、ields(3)和 rs.Fields(“出生日期”)都返回“1997/5/4”。記錄指針的移動(dòng)Recordset 對(duì)象的 MoveNext 方法用于把當(dāng)前記錄指針移動(dòng)到下一條記錄。若到記錄集結(jié)尾處還往下移動(dòng),程序會(huì)出錯(cuò),因此在使用 MoveNext 時(shí)要判斷 Recordset 的 EOF 屬性。EOF 取值為“True”時(shí)表示已經(jīng)到達(dá)記錄集的結(jié)尾,否則 EOF 的值為“False”。記錄集中數(shù)據(jù)的存儲(chǔ)通過(guò) Recordset 對(duì)象從數(shù)據(jù)庫(kù)中獲

59、取的數(shù)據(jù)可以通過(guò)數(shù)組的形式存儲(chǔ),以便進(jìn)行統(tǒng)計(jì)、排序、查找等處理。4.核心代碼Dim conn As New ADODB.ConnectionDim rs As New ADODB.Recordsetconn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & App.Path &"database.accdb"co

60、nn.Openrs.ActiveConnection = connrs.Open "select*from 學(xué)生成績(jī)"n = 0Do While Not rs.EOFn = n + 1xm(n) = rs.Fields(0)rs.MoveNextLooprs.Closeconn.Closevb 常見(jiàn)錯(cuò)誤1.要求對(duì)象Private Sub Command1_Click()a = 

61、10b = 20c = a * a / bText1.Text = Str(c)End Sub此時(shí)程序正在執(zhí)行的語(yǔ)句是:Text1.Text = Str(c)“要求對(duì)象”,即代碼中用到的對(duì)象,界面上不存在。2.類(lèi)型不匹配Private Sub Command1_Click()Const pi = 3.14Dim r As SingleDim s As Sin

62、gler = Val(Text1.Text)s = pi * r * r"Text2.Text = 圓面積為:" + sEnd Sub""引起該錯(cuò)誤的語(yǔ)句是:Text2.Text = 圓面積為:" + s應(yīng)改為 Text2.Text = 圓面積為:" +str (s)3.除數(shù)為零Private Sub

63、0;Command1_Click()a = 15b = a + 15c = a / (b - 30)Text1.Text = Str(c)End Sub此時(shí)程序正在執(zhí)行的語(yǔ)句是:c = a / (b - 30)4.溢出Private Sub Command1_Click()Dim n As IntegerDim s As Integern = 10s = 10  

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論