二級VB等考(第一階段)_第1頁
二級VB等考(第一階段)_第2頁
二級VB等考(第一階段)_第3頁
二級VB等考(第一階段)_第4頁
二級VB等考(第一階段)_第5頁
已閱讀5頁,還剩190頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

2014年3月等級考試輔導

二級VisualBasic開學前上課安排上午(8:30~11:30)下午(14:30~17:30)周二明理B409思學C303周三明理B409+407思學C303周四明理B409+413周五明理B409+407明理B102周六明理B409+407明理B102QQ群的使用驗證信息:姓名+學號網上答疑課件和作業下載本班QQ群號:85105099沖刺等級考試貴在持之以恒!堅持就是勝利!課程安排第一階段基礎鋪墊:教材第一章到第十二章第二階段進階提高:考點難點+重要算法+控件第三階段進攻專項:專題+公共基礎第一講認識VB

第1章VB開發環境1

第2章對象及其操作2VB文件類型Vbg工程組文件Vbp工程文件Frm窗體文件Bas標準模塊Cls類模塊Res資源文件VB程序的運行解釋方式(按F5鍵)編譯方式VB對象窗體Form1文本框Text1命令按鈕Command1都是對象P6-對象1.對象屬性:表示對象的狀態VB對象的考察重點為對象的屬性、方法、事件。Form1的Caption屬性Command1的Caption屬性Text1的Text屬性給對象屬性賦值的兩種方法:在屬性窗口進行賦值;在代碼窗口使用賦值操作

格式為:

對象名.屬性名=新設置的屬性值P7-對象的常見屬性

Name:每個對象都有的屬性,標示對象的名稱

Caption:大部分對象具有該屬性,標示對象的標題

Height、WidthTop、LeftEnabled

VisibleFont

PictureForeColorBackColor對窗體和其它大部分控件適用的屬性P6-對象2.對象事件

對象事件是由VisualBasic預先設置好的、能夠被對象識別的動作。事件過程是響應某個事件后所執行的操作實現的一段代碼。例1PrivateSubCommand1_Click()Text1.Text="歡迎使用VisualBasic"

EndSubP7-對象3.對象方法對象所能夠使用的特殊函數和過程稱為方法,它是對象所能執行的特定操作。

[對象名].方法名例2Text2.SetFocus課堂練習在名稱為Form1的窗體上畫兩個命令按鈕,其名稱分別為C1和C2,標題分別為“命令按鈕1”和“命令按鈕2”,通過屬性窗口設計適當的屬性,使得程序運行后,“命令按鈕2”隱藏。編寫適當的事件過程,使得單擊“命令按鈕1”,則“命令按鈕2”出現,“命令按鈕1”隱藏;而如果單擊“命令按鈕2”,則“命令按鈕1”出現,“命令按鈕2”隱藏。程序的運行情況如圖所示。如何設置按鈕的Enabled屬性?上機教程P18【真題2.2】捷成第9套基本操作題第1題兩個命令按鈕分別為Command1和Command2,標題分別為“擴大”和“移動”。程序運行后,如果單擊Command1命令按鈕,則使窗體在高、寬方向上各增加0.2倍(變為原來的1.2倍);如果單擊Command2命令按鈕,則使窗體向右移動200,向下移動100。?移動對象除用修改Left和Top屬性外,還可以怎么做P10-對象的常見方法Move方法

[對象.]Move左邊距離[,上邊距離[,寬度[,高度]]]作用:用于移動窗體和控件,改變窗體和控件的大小。缺省“對象”為當前窗體。單擊Command2命令按鈕,窗體向右移動200,向下移動100。窗體NameCaption

Height、WidthTop、LeftEnabledVisibleFont

PictureForeColorBackColorAutoRedrawBorderStyleControlBoxIconMaxButtonMinButtonWindowState對窗體和其它大部分控件適用的屬性窗體所特有的屬性Form1.Caption="一變"Me.Caption="二變"Caption="三變"VB基礎--窗體窗體屬性設置的三種方法窗體2.窗體事件Click(單擊)單擊鼠標左鍵時發生。單擊窗口內的某個位置(該位置不可以有其它的控件)時,執行事件過程Form_Click()。Load(裝入)裝入窗體,在窗體顯示之前執行該事件。一般在該事件中對屬性和變量進行初始化。Unload(刪除)當窗體從屏幕上刪除時發生。當使用Unload語句或窗體右上的關閉按鈕關閉該窗體時,此事件被觸發。VB特點:VB采用事件驅動的執行機制VB程序沒有固定執行順序?特別注意窗體對象的事件P9第5章常用標準控件(1)標簽Label文本控件文本框TextBoxP33-標簽Label屬性1.Caption

標簽中顯示的文本,標簽中的文本只能用Caption屬性來更改。2.AutoSize

為True時,根據Caption內容自動調整標簽大小;為False時大小固定。3.BorderStyle

邊框情況,取值為0時無邊框;為1時加邊框。P33-文本框屬性(1)Text:文本框中顯示的內容。(2)PasswordChar:把文本框設置為口令輸入框(3)MultiLine:多行顯示。(4)ScrollBars:設置文本框的滾動條。事件和方法(1)Change事件:改變Text屬性時,觸發該事件(2)SetFocus方法:設置焦點上機例題捷成14-2課堂練習捷成22-2提示:輸出用Print方法課后練習:捷成4-2文本框屬性(以下選擇屬性僅在運行時有效)(6)SelLength:當前選中的字符個數。為0表示未選中任何字符。(7)SelStart:當前選擇文本的起始位置。其值為從0開始。(8)SelText:當前選擇的文本字符串,沒有選擇時為空串。(9)Locked:文本框是否可被編輯。為True時不可編輯;為False時可編輯(默認)。捷成53-2

上機練習上機練習5-225-353-2第二講VB語言基礎

第3章數據類型及運算1計算的結果是多少?字符串(String,$)特點:放在一對雙引號中P14-數據類型關鍵字,類型說明符

Text1.Text="歡迎使用VisualBasic"字符串Text屬性Text3.Text=Text1.Text+Text2.Text字符串+

字符串?P18-算術運算符基本運算運算符優先級示例乘方^92^8表示28負號-8-3表示負3乘法*7a*b表示a乘以b除號/75.2/2計算結果為2.6整除\69.5\2計算結果為5求余數Mod517mod3計算結果為2加法+4a+b表示a加b的和減法-4a-b表示a減去b的差字符串連接運算符&“1”&“1”→“11”“1”

&11&1+→“11”→“11”“1”+“1”→“11”“1”

+11+1→2→21+1=11是因為字符串和字符串連接如何實現1+1=2呢?將字符串轉化成數字!P14-數據類型整型(Integer,%):表示范圍[-32768,32767]長整型(Long,&):4個字節存儲單精度(Single,!):4個字節存儲雙精度(Double,#):8個字節存儲整數實數(帶小數的數)字符串轉化成數值的方法:1、用數值的變量存儲2、用函數轉換P15-變量1.變量命名規則:(1)名字由字母開頭后跟字母、數字、下劃線;(2)不能用VisualBasic的保留字作變量名,但可以把保留字嵌入變量名中;(3)在VisualBasic中變量名不區分大小寫,即大、小寫是等價的。

標識符(變量名、數組名、過程名)命名規則同上P15-變量2.變量的類型和定義(1)用類型說明符來標識:x%

(2)在定義變量時指定其類型:

Declare變量名As類型其中Declare可以是Dim、Static、Public、Private之一。例

Dima,bAsInteger,cAsString,d!,eAsBoolean變體類型邏輯類型P9-3P17-常用內部函數字符串轉化成數值的方法:1、用數值的變量存儲2、用函數轉換轉換函數:ValText3.Text=Val(Text1.Text)+Val(Text2.Text)P15-常量文字常量符號常量字符串常量數值常量由除雙引號和回車符之外的字符組成整型數貨幣型數浮點數有3種形式,即十、八,十六進制,其中八進制數以&O開頭,十六進制數以&H開頭也稱定點數,小數位為0~28又稱實數,分單精度和雙精度值不可變的量,定義格式為:Const常量名=表達式常量名的命名規則與變量的命名規則相同常量長整型數例

ConstPI=3.14,COUNTRY$="China"P17-常用內部函數一、數學函數

1.三角函數(了解,注意格式)

Sin(x)、Cos(x)、Tan(x)、Atn(x)2.取整函數(掌握Int)

Int(x):求不大于x的最大整數。

Cint(x):把x的小數部分四舍五入變為整數。

Fix(x):去掉x的小數部分,保留整數部分。

3.隨機函數:Rnd(x)(參數x一般省略)產生[0,1)的隨機數。

4.其它數學函數平方根函數Sqr(x)、絕對值函數Abs(x)、對數函數Log(x)、符號函數Sgn(x)、指數函數Exp(x)產生[a,b]內隨機數x=Int(Rnd*(b-a+1)+a)+a考點3常用內部函數二、字符函數1.刪除空白字符函數

Ltrim$(字符串):去掉“字符串”左邊的空白字符

Rtrim$(字符串):去掉“字符串”右邊的空白字符

Trim$(字符串):去掉“字符串”左右兩邊的空白字符2.字符串長度測試函數

Len(字符串)Len(變量名)測試字符串中字符的個數測試變量所占字節大小考點3常用內部函數3.大小寫轉換函數

Lcase$(字符串)‘轉換為小寫

Ucase$(字符串)‘轉換為大寫4.字符串截取函數

Left$(字符串,n)

Mid$(字符串,位置[,L])Right$(字符串,n)【例】捷成44-3

程序運行時,在文本框中每輸入一個字符,則立即判斷:若是小寫字母,則把它的大寫形式顯示在標簽Label1中,若是大寫字母,則把它的小寫形式顯示在Label1中,若是其他字符,則把該字符直接顯示在Label1中。輸入的字母總數則顯示在標簽Label2中,如圖所示。上機真題課堂練習第3章:歷年真題和真題練習P25-Print方法Print方法可以在窗體上顯示文本字符串和表達式的值,并可在其他圖形對象或打印機上輸出信息。其一般格式為:[對象名稱.]Print[表達式表][,|;]窗體(Form)、圖片框(PictureBox)、打印機(Printer),也可以是立即窗口(Debug),省略時默認為當前窗體。可以是一般表達式,也可以是常數或變量在兩個表達式之間可以加“,”、“;”或“空格”用于控制和下一Print輸出間的關系無符號表示換行加“,”表示按標準格式加“;”表示按緊湊格式Format函數將數值按指定格式輸出。Format(數值表達式,格式字符串)P26-與Print方法有關的函數2004年9月選擇題19題執行如下兩條語句,窗體上顯示的是_________。

a=9.8596PrintFormat(a,"$00,00.00")(A)0,009.86(B)$9.86(C)9.86(D)$0,009.86P27-InputBox函數InputBox函數可產生一個對話框,這個對話框作為輸入數據的界面,等待用戶輸入數據,并返回所輸入的內容。InputBox(prompt,[,title][,default])對話框中顯示的提示信息對話框標題欄顯示的信息對話框的輸入默認值P27-InputBox函數InputBox函數可產生一個對話框,這個對話框作為輸入數據的界面,等待用戶輸入數據,并返回所輸入的內容。注意:1)InputBox的返回值是字符串;2)InputBox一次只能輸入一個值,要輸入多個值時則需多次調用該函數。InputBox(prompt,[,title][,default])P30-考點4MsgBox函數和MsgBox語句MsgBox函數1.格式2.返回值

MsgBox函數的返回值是一個整數,這個整數與所選擇的按鈕有關。

MsgBox(msg,[,type][,title][,helpfile,context])對話框中顯示的提示信息,為一個字符串對話框類型,確定對話框的圖標和按鈕,為一個整數值對話框標題顯示的信息,為一字符串P30-考點4MsgBox函數和MsgBox語句二、MsgBox語句

MsgBoxMsg[,type][,title][,helpfile,context]

MsgBox語句沒有返回值,常用于較簡單的信息顯示。

MsgBox函數語句參數有括號無括號返回值有無P9-31P10-12第三講選擇結構

If選擇結構2

關系和邏輯運算符1

單選按鈕和復選框3關系運算符

關系運算運算符優先級示例大于>

3100>99結果為True小于<

31.2<-23結果為False大于等于>=3Sin(1)>=0結果為True小于等于<=3Sqr(3)<=0結果為False等于=312=13結果為False不等于<>

312<>13結果為True"a">"c"

結果為?關系運算:結果為邏輯值False09年3月真題以下關系表達式中,其值為True的是()(A)"XYZ">"Xyz"(B)"ViusalBasic"<>"visualbasic"(C)"the"="there"(D)"Integer"<"Int"邏輯運算符邏輯運算運算符優先級示例非(求反)Not2Not(12<>13)結果為False與(并且)And1(23>10)and(30<23)結果為False或(或者)Or0(23>10)or(30<23)結果為True函數運算>算術運算>字符串運算>關系運算>邏輯運算邏輯值參與邏輯運算,結果為邏輯值數值數據參與邏輯運算,結果為數值(按位操作)2006年9月選擇題第13題設a=2,b=3,c=4,下列表達式的值是________。Nota<=cOr4*a=b^2

Andb<>a+c(A)-1(B)1(C)True(D)FalseNota<=cOr4*a=b^2

Andb<>a+cNotTrueOrFalseAndTrueFalseOrFalseAndTrueFalse

Or

False(2006年4月)設a=4,b=3,c=2,d=l,下列表達式的值是_____。

a>b+1Orc<dAndbModc

A)TrueB)1C)-1D)0a>b+1Orc<dAndbModcFalseOrFalseAnd1FalseOr0思考:1Or1And0=?第三講選擇結構

If選擇結構2

關系和邏輯運算符1

單選按鈕和復選框3P62-IF結構評定學生成績等級。90分及其以上為優秀。DimxAsIntegerx=InputBox(“請輸入學生成績”)If

x>=90

Then

Print“優秀”EndIf1、用變量獲得成績2、判斷變量是否滿足條件3、滿足條件的進行輸出P62-IF結構評定學生成績等級。90分及其以上為優秀,其它為不優秀。不優秀DimxAsIntegerx=InputBox(“請輸入學生成績”)If

x>=90

Then

Print“優秀”EndIfElsePrint“不優秀”不優秀P62-IF結構評定學生成績等級。90分及其以上為優秀,60分以上為合格,其它為不合格。Ifx>=90

ThenPrint“優秀”ElsePrint“不優秀”EndIfIfx>=60ThenPrint“合格”ElsePrint“不合格”EndifP63-IF結構評定學生成績等級。90分及其以上為優秀,80~90為良好,60分以上為合格,其它為不合格。Ifx>=90

ThenPrint“優秀”ElseIfx>=80ThenPrint“良好”ElseIfx>=60ThenPrint“合格”ElsePrint“不合格”EndIfP63-IF結構X>=90X>=80X>=60優秀良好合格不合格FFFTTTIfThenElseIfElseIfThenThenElse課堂練習筆試教程P73,選擇題1-6第三講選擇結構

If選擇結構2

關系和邏輯運算符1

單選按鈕和復選框3P37-單選按鈕OptionButton屬性CaptionEnabledValue事件ClickValue值True為選中False為不選?條件Option1.Value=True還可以寫成那些形式P37-復選框CheckBox屬性CaptionValue事件ClickValue屬性值:1-checked為選中0-Unchecked為不選2-Grayed為禁止操作(灰色)捷成34-3補充幾個屬性字體屬性FontName字號屬性FontSize下劃線FontUnderline加粗FontBold傾斜FontItalic課堂練習筆試教程P46,選擇題23-26上機教程28-33P59-考點2SelectCase語句Case后的表達式形式一組枚舉表達式:Case2,5,8表達式1To

表達式2

:Case10To20比較范圍:CaseIs<10SelectCasexCase90to100y="優秀"Case80to89y=“良好“

Case60to79y=“合格"CaseElsey="不合格"EndSelectSelectCasexCaseIS>=90y="優秀"CaseIS>=80y=“良好“

CaseIS>=60y=“合格"CaseElsey="不合格"EndSelect思考:某班學生成績:90分以上優秀,80分以上良好,

60分上合格,60分以下不合格。P73選擇題21以下Case語句中錯誤的是______。(A)Case0To10(B)CaseIs>10(C)CaseIs>10AndIs<50(D)Case3,5,Is>10注意:1、SelectCase后不能跟多個變量2、不能在條件中出現變量3、不能在條件中出現邏輯表達形式P59例32006年4月選擇題20題在窗體上畫1個命令按鈕和1個文本框PrivateSubCommandl_lick()x=Val(Text1.Text)SelectCasex Case1,3 y=x*x CaseIs>=10,Is<=-10 y=x Case-10To10 y=-xEndSelectEndSub程序運行后,在文本框中輸入3,然后單擊命令按鈕,則以下敘述中正確的是

B)執行y=-xC)先執行y=x*x,再執行y=-xD)程序出錯Select從前往后判定,當出現第1個滿足的條件,執行該部分語句,并且Select結構結束A)執行y=x*x上機教程P27【上機真題3.3】捷成48-4已知出租車行駛不超過4公里時一律收費10元。超過4公里時分段處理,具體處理方式為:15公里以內每公里加收1.2元,15公里以上每公里收1.8元。SelectCase判斷課堂練習筆試教程P74,選擇題7、8、9上機練習上機教材P22-3315-414-419-467-350-3評講P30-2P46-23上機14-4VB中存在多種解釋的符號1、+字符串連接:字符串+字符串算術加:其他情況2、&Long類型:與前一數據(常量或變量)連寫字符串連接:與前后數據隔開3、=賦值:=為獨立語句關系運算:為其他某語句的一部分第四講循環結構

For循環1

列表框2

其它循環結構3For

循環變量=初值To

終值[step

步長]

循環語句塊

[ExitFor]Next[循環變量]P65-For循環控制結構For循環的應用累加階乘sum=0Fori=1To100

sum=sum+iNextifact=1Fori=1To100

fact=fact*iNexti累加和變量置初值0可省略累乘積變量置初值1不可省1+1!+2!+3!+…+100!1+1/1!+1/2!+1/3!+…+1/100!2005年4月選擇題第23題[真題]執行以下程序段:DimiAsInteger,xAsInteger

x=0

Fori=20To1Step-2

x=x+i\5

NextPrintx后,x的值為______。(A)16(B)17(C)18(D)19在窗體上畫一個名稱為Text1的文本框和一個名稱為Command1的命令按鈕,然后編寫如下事件過程:PrivateSubCommand1_Click() Fori=0To50 i=i+3 n=n+1 Ifi>10ThenExitFor Next Text1.Text=Str(n)EndSub程序運行后,單擊命令按鈕,在文本框中顯示的值是()(A)5(B)4 (D)22006年9月選擇題第19題(C)3在窗體上畫一個命令按鈕,其名稱為Command1,然后編寫如下事件過程:PrivateSubCommand1_Click()

DimiAsInteger,xAsInteger

Fori=1To6

Ifi=1Thenx=1

Ifi<=4Then

x=x+1

Else

x=x+2

EndIf

Nexti

Printx

EndSub程序運行后,單擊命令按鈕,其輸出結果為______。(A)92005年4月選擇題第21題(B)6(C)12(D)15課堂練習P76選擇題12、14、15、16P83選擇題34~40P86填空題1~5、11第四講循環結構

For循環1

列表框2

其它循環結構3P38-列表框ListBox常用屬性List:列出表項的內容ListCount:讀出列表框中表項的總數

ListIndex:設置/讀出被選中表項的序號Text:選中表項的文本P38-列表框ListBox常用屬性(多選)MultiSelect:設置多選屬性。Selected:列出表項的選擇狀態。SelCount:讀出被選中表項的總數。上機教程P95-練習7.3捷成15-4程序運行后,如果多次單擊列表框中的項,則可同時選擇這些項。而如果單擊“顯示”按鈕,則在窗體上輸出所有選中的列表框(如圖所示)。事件和方法含義Click/DbClick列表框的單擊/雙擊事件AddItem向列表框插入一行文本Clear清除列表框中所有項目RemoveItem用于清除指定表項內容列表框名.AddItem字符串[,下標]列表框名.Clear列表框名.RemoveItem下標P38-列表框ListBox上機教程P86-真題7.1【例】捷成26-3

界面如下圖所示,如果單擊“添加項目”命令按鈕,則從鍵盤上輸入要添加到列表框中的項目(內容任意,不少于三個);如果單擊“刪除項目”命令按鈕,則從鍵盤上輸入要刪除的項目,將其從列表框中刪除。設在窗體中有一個名稱為List1

的列表框,其中有若干個項目(如圖)。要求選中某一項后單擊Command1按鈕,就刪除選中的項,則正確的事件過程是:

(A)Private

SubCommand1_Click()List1.ClearEnd

Sub(B)Private

Sub

Command1_Click()List1.Clear

List1.ListIndexEnd

Sub(C)Private

Sub

Command1_Click()List1.Removeltem

List1.ListIndexEnd

Sub(D)Private

Sub

Command1_Click()List1.RemoveltemEnd

Sub2007年9月選擇題第19題上機真題【例】捷成44-1在標題為“列表框”、名稱為Form1的窗體上畫一個名稱為List1列表框,通過屬性窗口輸入四個列表項:“數學”、“語文”、“歷史”、“地理”,列表項采用“復選框形式”,如圖所示。列表框的寬為1100,高不限。Style屬性上機練習8-326-344-134-4第四講循環結構

For循環1

列表框2

其它循環結構394P67-考點4While-Wend循環

格式:

While條件

語句塊

Wend

說明條件:是布爾表達式或數值如何選擇循環結構?問題1求1~1000能被3整除的數的個數。問題2求比1000小的最大三個能被3整除的數。Fori=1To1000Nexti=1000:n=0Whilen<3

i=i-1Wend為計算1+3+5+……+99的值,某人編程如下

k=1

s=0

While

k<=99

k=k+2

s=s+k

Wend

Print

s在調試時發現運行結果有錯誤,需要修改。下列錯誤原因和修改方案中正確的是()(A)

While

…Wend循環語句錯誤,應改為For

k=1

To

99

…Next

k(B)

循環條件錯誤,應改為Whlie

k<99(C)

循環前的賦值語句k=1錯誤,應改為k=0(D)

循環中兩條賦值語句的順序錯誤,應改為s=s+k

:

k=k+22007年4月選擇題27題解題思路:1.查找出錯位置①檢查前1個數和后1個數是否參加運算;②有無多余的數參加運算。2.確定修改方案①直接確定法②按選項提示修改法P68-Do循環控制結構2007年4月選擇題27題設有如下程序:PrivateSubCommand1_Click()DimcAsInteger,dAsIntegerc=4d=InputBox("請輸入一個整數")DoWhiled>0Ifd>cThenc=c+1EndIfd=InputBox("請輸入一個整數")LoopPrintc+dEndSub程序運行后,單擊命令按鈕,如果在輸入對話框中依次輸入1、2、3、4、5、6、7、8、9、0,則輸出結果是______。(A)12(B)11(C)10(D)9課堂練習For:P77選擇題16、15,P86填空題1While:P78選擇題19,P87填空題6DoLoop:P79選擇題24、25,P88填空題9上機評講8-3上機真題上機教程[P153]練習11.1界面如右圖所示,運行時,單擊“計算”按鈕,則找出小于18000的最大的素數,并顯示在Text1中;單擊“存盤”按鈕,則把Text1中的計算結果存入out5.txt文件中。輸入一個數,判斷該數是否是素數Fori=2Ton-1NextiIfnModi=0Thenprint“不是素數”elseprintn;“是素數”EndIfFori=2Ton-1NextiIfnmodi=0thenExitforEndifIf

ThenPrintn;“是素數“Elseprintn;“不是素數”EndIfi>n-1或i=n[2,sqr(n)][2,n\2]?上機練習1-52-5

多重循環第四講循環結構For的循環嵌套Fori=1To5Forj=1To5

x=x+1Nextj

NextiFori=1To5Forj=1Toi

x=x+1Nextj

Nextix=1x=1考點6多重循環For的循環嵌套Fori=1To5Forj=1To5

x=x+1Nextj

NextiFori=1To5Forj=1Toi

x=x+1Nextj

Nextix=1x=1考點6多重循環For的循環嵌套Fori=1To5Forj=1To5

x=x+1Nextj

NextiFori=1To5Forj=1Toi

x=x+1Nextj

Nextiy=y+1y=y+1考點6多重循環課堂練習P80選擇題26-33第五講數組

數組基礎1

控件數組2

最大值算法3動態數組靜態數組數組數組數組必須先定義后使用1.數組定義(1)一維數組的定義Dim數組名([下標下界To]下標上界)As類型名稱例如:

Dimarr1(1To10)AsInteger

Dimarr1%(1To10)(2)多維數組的定義Dim數組名(下標1,下標2[,下標3……])As類型名稱例如:

Dimarr2(1To10,3To20)AsInteger

靜態數組靜態數組上下界必須是常量動態數組1.動態數組的定義Step1:在窗體層、標準模塊或過程中用Dim或Public聲明一個沒有下標的數組(括號不能省略)Step2:在過程中用ReDim語句定義帶下標的數組。2.ReDim語句的格式ReDim[Preserve]數組名(下標)[As數據類型]例如:

Dima()AsInteger

ReDima(1To20)ReDima(1To30)AsInteger動態數組上下界可以是常量或變量ReDimPreservea(1To30)AsInteger可以省略數組類型,如果給定類型,必須與前面類型保存一致數組相關語句及函數OptionBasen語句Lbound、Ubound函數Array函數ForEach…Next語句n只能為0或1使用Array函數對數組初始化滿足以下條件:變體類型(Variant)非靜態數組(動態數組或數組變量)一維數組循環變量為Variant靜態數組動態數組定義方式數組定義是否支持變量可否修改元素個數及維數課堂練習P102:1-4Dima%(1To100)Dima()AsIntegerReDima(1To100)否否Dima()AsIntegern=100ReDima(1Ton)ReDima(1Ton+2)ReDima(n,n)數組真題【筆試教程】P103,選擇題6PrivateSubCommand1_Click()Dimm(10)AsIntegerFork=1To10m(k)=12-kNextkx=8

Printm(2+m(x))EndSub選擇題7與變量相同數組真題【筆試教程】P103,選擇題5PrivateSubCommand1_Click()DimA1(4)AsInteger,A2(4)AsIntegerFork=0To2A1(k+1)=InputBox("請輸入一個整數")A2(3-k)=A1(k+1)NextkPrintA2(k)EndSub數組真題【筆試教程】P95,歷年真題7PrivateSubCommand1_Click()Dima(10,10)AsIntegerFori=1To3Forj=1To3a(i,j)=(i-1)*3+jPrinta(i,j);NextjPrintNextiEndSub按矩陣方式輸出P107選擇題16數組真題【筆試教程】P94,歷年真題5PrivateSubCommand1_Click()Dima(3,3)AsIntegerFori=1To3Forj=1To3a(i,j)=i*j+iNextjNextiSum=0Fori=1To3Sum=Sum+a(i,4-i)NextiPrintSumEndSub歷年真題6上機教程P52-上機真題5.1【例】捷成38-3:數組求平均值功能是產生20個0~1000的隨機整數,放入一個數組中,然后輸出這20個整數的平均值。程序運行后,單擊命令按鈕(名稱為Command1,標題為“輸出平均值”),即可求出其平均值,并在窗體上顯示出來(如圖所示)。第五講數組

數組基礎1

控件數組2

最大值算法3P100-控件數組【上機真題】捷成10-3窗體上有一個單選按鈕數組,含三個單選按鈕;還有一個標題為“顯示”的命令按鈕(如圖所示)。程序的功能是,在運行時,如果選中一個單選按鈕并單擊“顯示”按鈕,則在窗體上顯示相應的信息,例如若選中“小學生”,則在窗體上顯示“我是小學生”。P100-控件數組由一組相同類型的控件組成;共用相同的控件名,即其所有元素的Name屬性相同;數組中的每個控件都有唯一的索引(Index)值,即下標;除Name和Index屬性外其它屬性可以相同也可以不同;共享相同的事件過程,通過Index參數來進行區分。PrivateSubOption1_Click(IndexAsInteger) …EndSub控件數組操作建立控件數組刪除控件數組第一種方法,通過改變已有控件名稱添加控件數組元素第二種方法,通過復制現存控件添加數組元素改變一個控件的Name屬性值,并把Index屬性置為空(不是0)第五講數組

數組基礎1

控件數組2

最大值算法3上機練習4-346-432-4P96-求最值算法算法描述求最大值時,假設第一個數為最大值,然后將每個數逐個與最大值相比較,若比最大值大則將該數作為新的最大值,直到數組元素比較完。P96-最值算法Dima(1To10)AsIntegerFori=1To10a(i)=Int(Rnd*10)NextiMax=a(1)Fori=2To10Ifa(i)>MaxThenMax=a(i)EndIfNextiMin=a(1)Fori=2To10Ifa(i)<MinThenMin=a(i)EndIfNexti數組賦值最大值最小值上機教程P64-上機真題6.1【例】捷成41-3:評委打分窗體上有一個標題為“得分”的框架,在框架中有一個名稱為Text1的文本框數組,含六個元素;文本框Text2用來輸入難度系數。程序運行時,在左邊的六個文本框中輸入6個得分,輸入難度系數后,單擊“計算分數”按鈕,則可計算出最后得分并在文本Text3中顯示(如圖所示)計算方法:去掉1個最高分和1個最低分,求剩下得分的平均分,再乘以3,再乘以難度系數。最后保留兩位小數,不四舍五入。上機評講46-4上機評講3-5第六講過程變量作用域1

Function過程2

參數傳送4Sub過程3課程引入【上機真題3.3】捷成48-4已知出租車行駛不超過4公里時一律收費10元。超過4公里時分段處理,具體處理方式為:15公里以內每公里加收1.2元,15公里以上每公里收1.8元。P120-變量作用域名稱作用域聲明位置使用語句局部變量過程過程中Dim或Static模塊變量窗體模塊或標準模塊模塊的通用聲明段Dim或Private全局變量整個應用程序標準模塊的聲明部分Public或Global將變量聲明為靜態變量,在程序運行中可保留變量的值2004年9月筆試真題選擇題第8題

在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:

PrivateSubCommand1_Click()

StaticxAsInteger

Cls

Fori=1To2

y=y+x

x=x+2

Next

Printx,y

EndSub

程序運行后,連續三次單擊Command1按鈕后,窗體上顯示的是

A)42C)1230D)46B)12182002年9月筆試真題選擇題26題在窗體上畫一個名稱為Commandl的命令按鈕,然后編寫如下程序:

PrivateSubCommand1_Click()

StaticXAsInteger

StaticYAsInteger

Cls

Y=1

Y=Y+5

X=5+X

PrintX,Y

EndSub

程序運行時,三次單擊命令按鈕Commandl后,窗體上顯示的結果為

A)1516C)1515D)56B)156第六講過程變量作用域1

Function過程2

參數傳送4Sub過程3P124-Function過程[Static][Private|Public]Function

過程名([參數])[As數據類型]

語句塊

[過程名=表達式][ExitFunction][語句塊]EndFunction返回結果值返回值類型Function過程定義編寫1個函數實現累加第一步:確定形式參數。Functionacc(xAsInteger)AsInteger第二步:編寫累加算法Functionacc(xAsInteger)AsIntegersum=0Fori=1Tox

sum=sum+i

NextiEndFunction第三步:編寫代碼“過程名=表達式”,確定返回值acc=sum形式參數Function過程調用說明:調用Function過程要返回一個值,因此可以像內部函數一樣在表達式中使用。

在按鈕單擊事件中調用前例中編寫的acc過程。PrivateSubCommand1_Click()DimaAsInteger

a=Val(InputBox(“請輸入累加的數”))

Printacc(a)EndSub上機真題【例】捷成36-4在窗體上建立一個命令按鈕和一個文本框。程序運行后,單擊命令按鈕,即可計算出1~1000范圍內能被5整除或能被7整除的整數的個數,并在文本框中顯示出來。其中計算能被5整除或能被7整除的整數的個數的操作在通用過程Fun中實現。上機練習2-521-5第六講過程變量作用域1

Function過程2

參數傳送4Sub過程3考點2Sub過程一、建立Sub過程[Static][Private|Public]Sub過程名([參數表])

語句塊

[ExitSub]

[語句塊]EndSub子程序過程例建立1個Sub過程實現兩個數的交換第一步:確定形式參數。SubSwap(aAsInteger,bAsInteger)

第二步:編寫功能代碼。SubSwap(aAsInteger,bAsInteger)DimtAsIntegert=a:a=b:b=tEndSubSub過程的調用由專門的語句完成Call子過程名[(實在參數)]子過程名[實在參數]Sub過程的調用Callswap(x,y)swapx,y(2007年9月選擇題第30題)

下面程序的輸出結果是________。

Private

Sub

Command1_Click()

ch$=”ABCDEF”

proc

ch

Print

ch

End

Sub

Private

Sub

proc(ch

As

String)

s=""

For

k=Len(ch)

To

1

Step-1

s=s&Mid(ch,k,1)

Next

k

ch=s

End

Sub

(A)ABCDEF

(C)A

(D)F(B)FEDCBA上機教程P103-真題8.1【例】捷成37-5程序運行后,如果單擊“讀入數據”按鈕,則調用題目所提供的ReadData1和ReadData2的過程讀入datain1.txt和datain2.txt文件中的各20個整數,分別放入Arr1和Arr2兩個數組中;如果單擊“計算”按鈕,則把兩個數組中對應下標的元素相減,其結果放入第三個數組中(即:第一個數組的第n個元素減去第二個數組的第n個元素,其結果作為第三個數組的第n個元素。這里的n為1、2、…、20),最后計算第三個數組各元素之和,把所求得的和在窗體上顯示出來;并調用題目中給出的WriteData過程將所得的和存入考生文件夾下的dataout.txt文件中。類似題:19-5第六講過程變量作用域1

Function過程2

參數傳送4Sub過程3形參:過程定義時的參數實參:過程調用時的參數P126-參數傳送傳地址:①數組參數②形參ByRef聲明③形參無聲明、實參為變量傳值:①形參ByVal聲明②形參無聲明、實參為常量或表達式PrivateSubCommand1_Click()DimnAsIntegern=100Print"n=";nCallfun(n)Print"n=";nEndSubSubfun(xAsInteger)x=200EndSub100nx(傳地址)200內存單元傳地址ByRef傳地址調用:形參改變,實參發生對應變化形參和實參類型必須一致2003年9月筆試真題選擇題23題

設有如下通用過程:

PublicFunctionf(xAsInteger)

DimyAsInteger

x=20

y=2

f=x*y

EndFunction

在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:

PrivateSubCommand1_Click()

StaticxAsInteger

x=10

y=5

y=f(x)

Printx;y

EndSub程序運行后,如果單擊命令按鈕,則在窗體上顯示的內容是A)105B)205D)1040C)2040PrivateSubCommand1_Click()DimnAsIntegern=100Print"n=";nCallfun(n)Print"n=";nEndSubSubfun(ByValxAsInteger)x=200EndSub傳地址ByValx(傳值)n100100200內存單元傳值調用:形參改變,不影響實參2004年9月22題改編PrivateSubCommand1_Click()

DimxAsInteger

StaticyAsInteger

x=10

y=5

Printf1(x,y),x,y

EndSub

PrivateFunctionf1(Byvalx1AsInteger,y1AsInteger)

x1=x1+2y1=y1+2f1=x1+y1

EndFunction

程序運行后,單擊命令按鈕,在窗體上顯示的內容是

19

107

傳值傳地址課堂練習P133-135:10-16Functionf1()AsBooleanSubf2%()Functionf3(ByVala())Functionf4!(ByVala$,ByRefb%)下列過程定義合法的是?

對象參數5

可選參數6第六講過程考點6對象參數

對象作為參數的格式為:

Sub過程名(形參表)語句塊[ExitSub]

……

EndSub"形參表"中形參的類型通常為Control或Form。注意,在調用含有對象的過程時,對象只能通過傳地址方式傳送。因此在定義過程時,不能在其參數前加關鍵字ByVal。只能是傳地址形式考點6對象參數一、窗體參數當形參表中的形參的類型為Form時,是把窗體作為函數的參數,它通常用在對一批窗體進行相同的屬性設置。二、控件參數當形參表中的形參的類型為Control時,是把控件作為函數的參數,它通常用在對一批控件進行相同的屬性設置。(2004年9月選擇題第21題)設一個工程由兩個窗體組成,其名稱分別為Form1和Form2,在Form1上有一個名稱為Command1的命令按鈕。窗體Form1的程序代碼如下:PrivateSubCommand1_Click()

DimaAsInteger

a=10

Callg(Form2,a)EndSubPrivateSubg(fAsForm,xAsInteger)

y=IIf(x>10,100,-100)

f.Show

f.Caption=yEndSub

運行以上程序,正確的結果是______。(A)Form1的Caption屬性值為100(B)Form2的Caption屬性值為-100(C)Form1的Caption屬性值為-100(D)Form2的Caption屬性值為100(2006年4月選擇題第28題)窗體上有名稱分別為Textl、Text2的2個文本框,要求文本框Textl中輸入的數據小于500,文本框Text2中輸入的數據小于1000,否則重新輸入。

PrivateSubText1_LostFocus()CallCheckInput(Text1,500)EndSubPrivateSubText2_LostFocus()CallCheckInput(Text2,1000)EndSubSubCheckInput(tAs?,xAsInteger)IfVal(t.Text)>xThenMsgBox”請重新輸入!"EndIfEndSub(A)Text(B)SelText(D)Form(C)Control上機教程P117-上機練習8.7捷成68-4上機教程P110-真題8.5捷成71-3窗體上有名稱為Label1、標題為“標簽”控件的標簽;有一個名稱為Command1、標題為“命令按鈕”的命令按鈕。單擊上述兩個控件中任一控件,則在標簽Label2中顯示所單擊控件的標題內容(標題內容有“單擊”二字),下圖是單擊命令按鈕后的窗體外觀。

可選參數在參數名前有Optional關鍵字聲明P129-5第七講文件

順序文件1

隨機文件2P194-順序文件

順序文件特點:

文件中的記錄一個接一個地存放。

打開讀/寫關閉OpenCloseP194-順序文件的打開例1:Open"in5.txt"ForInputAs#1例2:OpenApp.Path+"\in5.txt"ForInputAs#1√Open文件名[For模式]As[#]文件號P194-順序文件的打開Open文件名[For模式]As[#]文件號ForOutput:順序文件替換寫ForInput:順序文件讀Input方式打開,要求被讀取文件必須存在ForAppend:順序文件追加方式寫文件號:1~511,在操作時用于指代打開的文件P195-文件的關閉文件的關閉文件的讀寫操作結束后,必須將文件關閉,這一操作將緩沖區的內容寫入文件。語句格式

Close[#]文件號,[#]文件號……Close關閉所有已打開的文件關閉指定編號文件P195-文件的操作語句和函數重要函數1.LOF(文件號)

返回文件的長度(字節數)2.EOF(文件號)

如果當前文件指針指向文件末尾,則返回True,否則返回False3.Seek#文件號,位置定位文件指針P196-順序文件的寫操作

Print#語句Print#文件號,[[Spc(n)|Tab(n)][表達式表][;|,]]2005年4月選擇題第33題1.在窗體上畫一個名稱為Command1的命令按鈕和一個名稱為Text1的文本框,在文本框中輸入以下字符串:MicrosoftVisualBasicProgramming,然后編寫如下事件過程:PrivateSubCommand1_Click()Open"d:\temp\outf.txt"ForOutputAs#1Fori=1ToLen(Text1.Text)c=Mid(Text1.Text,i,1)Ifc>="A"Andc<="Z"ThenPrint#1,LCase(c)EndIfNextiCloseEndSub程序運行后,單擊命令按鈕,文件outf.txt中的內容是__。2005年4月選擇題第33題1.在窗體上畫一個名稱為Command1的命令按鈕和一個名稱為Text1的文本框,在文本框中輸入以下字符串:MicrosoftVisualBasicProgramming,然后編寫如下事件過程:PrivateSubCommand1_Click()Open"d:\temp\outf.txt"ForOutputAs#1Fori=1ToLen(Text1.Text)c=Mid(Text1.Text,i,1)Ifc>="A"Andc<="Z"ThenPrint#1,LCase(c)EndIfNextiCloseEndSub程序運行后,單擊命令按鈕,文件outf.txt中的內容是__。mvbp順序文件的讀操作1.Input#語句格式:Input#文件號,變量表功能:把讀出的每個數據項分別存放到所對應的變量

Open“out.txt"ForInputAs#1

Input#1,a,b,cClose

Open“out.txt"ForInputAs#1

WhilenotEof(1)Input#1,aWendClose讀出一個或幾個記錄讀出所有記錄順序文件的讀操作2.LineInput#語句格式:LineInput#文件號,字符串變量功能:讀一行到變量中,主要用來讀取文本文件。

Open“out.txt"ForInputAs#1WhileNotEOF(1)LineInput#1,aWendClose順序文件的讀操作3.Input$函數格式:Input$(n,#文件號)功能:從“文件號”所指

溫馨提示

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

評論

0/150

提交評論