


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、Visual Basic程序設(shè)計基礎(chǔ)知識要點(概念分析篇)知識點1:(1)在工程資源管理器窗口中可以包含:工程文件、窗體模塊文件、 標準模塊文件和類模塊文件(其中可以包含許多各種文件類型)(2)Visual Basic 應(yīng)用程序可以以解釋方式執(zhí)行和編譯方式執(zhí)行。 例題:(1)以下敘述中錯誤的是_jAA .在工程資源管理器窗口中只能包含一個工程文件及屬于該工 程的其他文件。B .以.bas為擴展名的文件是標準模塊文件。C .窗體文件包含該窗體及其控件的屬性。D .一個工程中可以有多個標準模塊文件。(2)以下敘述中錯誤的是_CA .打開一個工程文件時,系統(tǒng)自動裝入與該工程有關(guān)的窗體、 標準模塊等文
2、件。B .保存Visual Basic 程序時,應(yīng)分別保存窗體文件及工程文 件。C . Visual Basic 應(yīng)用程序只能以解釋方式執(zhí)行。D .事件可以由用戶引發(fā),也可以由系統(tǒng)引發(fā)。知識點2:(1)窗體和各種控件的名稱(Name是唯一的,用來標識一個窗體 或控件的。而窗體和控件的標題是用來說明的,是可有可無的。(2) 各種控件之間有部分相同的屬性,并不是擁有所有屬性??丶?有些屬性只能在屬性窗口中設(shè)置,但也有少數(shù)屬性只能在代碼 狀態(tài)設(shè)置。(3) Forml.Hide方法和Unload Forml方法的區(qū)別:第一個方法窗體消失并不存在于內(nèi)存中;第二個方法窗體消失但仍存在于內(nèi) 存中。例題:(1
3、)以下敘述中正確的是 AA .窗體的Names性指定窗體的名稱,用來標識一個窗體。 B .窗體的Namei性的值是顯示在窗體標題欄中的文本。C .可以在運行期間改變對象的 Name!性的值。D .對象的Name!性值可以為空(2)以下敘述中錯誤的是 CA.Visual Basic是事件驅(qū)動型可視化編輯工具。B.Visual Basic應(yīng)用程序不具有明顯的開始和結(jié)束語句。C.Visual Basic工具箱中的所有控件都具有 Width和Height屬性。D.Visual Basic中控件的某些屬性只能在運行時設(shè)置。知識點3:(1)標簽(Label1):Autosize的True屬性可以自動調(diào)整標
4、簽的大小,而False屬性不能(2)文本框(Textl):1、Maxiength屬性表示文本框所能容納的字符數(shù)。2、Password屬性表示口令輸入,可以是“ *”或“? ”等。 設(shè)置文本框輸入字符為“ *”: Textl.Password二” *” ,還原文本框字 符:Text1.Password= ” ,3、 ScrollBars屬性是表示文本框有垂直或水平滾動條,但 是需要和多行屬性Multiline 結(jié)合一起使用。4、SelLe ngth屬性是表示選中文本框中字符的個數(shù):Text1.SelLength。SelStart屬性是表示選中文本框中字符或光標之 前的字符數(shù):Text1.SelS
5、trart 。SelText屬性是表示選中文本框中 的字符:Text1. SelText 。5、文本的主要事件是Change事件:(標簽內(nèi)容隨文本框內(nèi)容 變化而變化)Private sub Text1_Cha nge()Label1.capti on=Text1.textEnd sub6、文本框的方法只有一個:Text1.SetFocus例題:(1) 能夠獲得一個文本框中被選取文本的內(nèi)容的屬性是CA . Text B. SelLength C. SelText D. SelStrart(2) 在窗體上畫一個文本框(其名稱為Text1)和標簽(其名稱為 Label1)。要求程序運行后,如果在文本
6、框中輸入字符,則立即在標 簽中顯示相同的內(nèi)容。以下可以實現(xiàn)上述操作的事件過程是AA Private Sub Text1_Change()B.Private SubText1_Click ()Label1.caption=Text1.TextLabel1.caption=Text1.TextEnd Sub End SubCPrivate SubLabel1_Change()D. Private SubLabel1_Click ()Label1.caption=Text1.TextLabel1.caption=Text1.TextEnd Sub( 3)命令按鈕 (Command1):1 、Defa
7、ult 屬性:當一個命令按鈕的 Default 屬性為 True 時,按回車鍵和單擊該命令按鈕的效果相同。2 、Cancel 屬性:當一個命令按鈕的 Cancel 屬性為 True 時, 按ESC鍵和單擊該命令按鈕的效果相同。( 4)單選按鈕和復選框 (Option1 和 Check1):1 、單選按鈕: Value 屬性的值是 True( 選中)和 False( 未選 中) ,Option1.Value=True 等同于 Option1.Value 用法。2 、復選框: Value 屬性的值是 0(未選中) 、1(選中)和 2(表 示暫時不可用 ) 。 Check1.Value=False
8、可以用,但 Check1.Value=True 不可用(因為 True 只能轉(zhuǎn)化數(shù)值 1而不是 1)。( 5)列表框 (List1):1 、List 屬性是一個數(shù)組型屬性: List1.List( 索引) ,索引可以是數(shù)字0、1丄istl.listindex, 變量i ( Listl.Text 等同于 List1.list(List1.listindex)。2、 MultSelect 屬性:用來設(shè)置一次可以多選表項數(shù)。MultSelect 屬性值為 0 時,每次只能選擇一項; MultSelect 屬性值 為 1 時,可以同時選擇多個項目; MultSelect 屬性值為 2 時,可以 用輔助
9、鍵 Shift 或 Ctrl 選擇多個項目。3 、常用方法: AddItem 方法表示添加的是一個項目,而Removeite m方法表示通過刪除索引的方式刪除項目。Removeitem索引 索引可以是數(shù)字0、1丄istl.listindex,變量i。( 6)組合框( Combo1):1 、 Style 屬性: Style 屬性值為 0 時,表示下拉式組合框;Style 屬性值為 1 時,表示下簡單組合框; Style 屬性值為 2 時,表 示下拉式列表框。其他功能類似列表框 (List1) 。( 7)圖片框和圖像框 (Picture1 和 Image1):1 、圖片框 (Picture1) :
10、Authorize 屬性值為 True 時,表示 圖片框大小隨圖片大小改變而改變; Authorize 屬性值為 False 時, 表示圖片框只能部分顯示大圖片。2 、圖像框 (Image1):Stretch 屬性為 True 時,圖片大小隨 圖像框的大小改變而改變; Stretch 屬性為 True 時,圖像框的大小 隨圖片大小的改變而改變。3、兩種圖形類型都可以按照下面這個方法加載圖片:稱.擴展名”)Image1.picture=LoadPicture(App.Path & “ 圖片名稱. 擴展名”)如果要清楚圖片:Picture1.picture=LoadPicture(“” )
11、Image1.picture=LoadPicture( “” )注意:如果使用App.Path方法需要先保存好窗體文件和工程 文件到考生文件夾中。(8)滾動條(HScrolll):1、Max和Min屬性是分別表示滾動條的最大和最小刻度,刻度值用Value屬性值來表示:HScroll1.value 。2 、LargeChange和SmallChange屬性是分別表示移動滾動條上的左右箭頭按鈕的移動量和移動滾動條上滾動框的移動量。3 、Scroll和Change事件分別表示拖動滾動條上滾動框的操作和單擊滾動條上箭頭按鈕的操作。:卑擊飆產(chǎn)生: rhang已事牛,- 知陶JidHah制重:單去魚現(xiàn)框兩
12、嵯:白旌產(chǎn)生: : :*牛稔動::.:/:(9)計時器(Timer1):1、Enabled屬性:Enabled屬性值為True時,表示計時器可以走動;Enabled屬性值為False時,表示計時器停止走動;2 、Interval屬性:是表示計時器運動的時間間隔,單位為毫秒。1 秒時間:Timerl.Interval=1000 。3 、Enabled和Interval這兩個屬性一般情況下需要一起使用。 知識點4:(1) Visual Basic 常用函數(shù)的使用方法:1 、數(shù)學函數(shù):求平方根:Sqr( n) 求自然對數(shù) Log(n) In n log 78=log e8/log e7(注意非 e
13、為底的對數(shù)需要如此轉(zhuǎn)換)求以e為底的幕值,ex ex Exp(x)1 . n>0 Sqn(n)二 0n=0-1n<0 Rad()->X=I nt(R nd*(上界一下界+1)+下界(產(chǎn)生隨機整數(shù))2 、轉(zhuǎn)換函數(shù): Str(x) 數(shù)值 x 轉(zhuǎn)換成字符串 str(12.75)=” 12.75這樣轉(zhuǎn)換12.75之前會多出一位。如果使用 Cstr(12.75)= ”12.75 ” 這樣轉(zhuǎn)換12.75之前不會多出一位。 Val(x) 字符x轉(zhuǎn)換成數(shù)值,但x要一定是數(shù)字字符 才行,Val( “ 12.75 ”)=12.75,如果是含有其他字符 Val( “ 12.7ab ”) 將無法轉(zhuǎn)換
14、。 chr(x) 返回以x為 Asccii 代碼值的字符 chr(97)= ” a” ;Asc(x)給出字符 x 的 Asccii 代碼值 Asc( “A )=65 三種類型ASCII代碼值轉(zhuǎn)換:Asc( “0”)Asc( “9” )-4857Asc( “ A”)Asc( “Z” )-6590Asc( “ a”)Asc( “z” )-97122特殊情況:Asc( “ ABC )=65 只求第一個字符“ A”的Ascii代碼值 Fix(x) 將數(shù)值型數(shù)據(jù)x的小數(shù)部分舍去Fix(12.8)=12 Fix(-12.5)=-12;Int(x)取小于等于x的最大整數(shù)當x>0時,用法和Fix 一樣;
15、當x<0 時,Int(-12.3)= -13;Cint(x)將數(shù)值型數(shù)據(jù)x的小數(shù)部分四舍五入Cint(12.7)=13Cin t(12.3)=12但是有特殊情況:_ x當x是偶數(shù)Cin t(x.5)=x+1當x是奇數(shù)3 、字符函數(shù) Left(x , n)從x字符串左邊起取n個字符Left("ABCDEFG",3)="ABC"Right(x, n) 從 x 字符串右邊起取 n 個字符Right("ABCDEFG",3)="EFG"。取n2個字符Mid(x,n)從字符串x左邊第n個位置開始向右全部取Mid(&qu
16、ot;ABCDEFG",3,2)="CD"Mid("ABCDEFG",3)= "CDEFG" Instr(n,s1,s2) 從字符串si的第n個位置起查找s2在si中位置,如果n省略,則默認從字符串si的第1個位置起查找s2在si中位置In str (2,"ABCDEFG","CD")=31、運算符:算術(shù)運算符運算符的優(yōu)先級:八 > -> (* /) > > Mod >(+ -)關(guān)系運算符< <=>>=<> Like I
17、s運算符優(yōu)先級相同邏輯運算符運算符的優(yōu)先級:Not > And > Or > Xor > Eqv例題:(1) 表達式4 +5 6 * 7 / 8 Mod9 的值是 B知識點5:A.4B. 5 C. 6 D. 7(2) a=3 b=2 c=1 求 Print a>b>c 的結(jié)果?首先a>b的結(jié)果是true,然后再PrintTrue>c此時True需要轉(zhuǎn)換成-1再比較,Print -1>1結(jié)果是False , 所以整個輸出結(jié)果是False。知識點6:1、交互函數(shù)的使用: In putBox 函數(shù):A=InputBox("提示信息&qu
18、ot;,"標題信息","默認值或輸入框的值")例題:(1) 執(zhí)行下列語句后,將顯示輸入對話框,此時 MsgBox 函數(shù):MsgBox“提示信息”,按鈕類型值+圖標類型值+如果單擊“確定”按鈕,則變量 strl nput的內(nèi)容是 CstrI nput二 In putBox("請輸入字符串","字符串對話框","字符串")A."請輸入字符串"B."字符串對話框”C."字符串"D.空字符串默認焦點值,“標題信息”A= MsgBox“提示信息”,按鈕類型
19、值+圖標類型值+默認焦點值,“標題信息”;A的值根據(jù)單擊什么按鈕有關(guān),A的 值在1,7之間取值。比如:單擊“確定”按鈕, A=1。例題:(1)以上圖形所表示的函數(shù)表達式為:MsgBox"請輸入查詢的學生學號:",3 + 32 + 256,"學生基本信息查詢"知識點7:1 、選擇結(jié)構(gòu)語句(If條件語句):單分支條件語句:格式:If 條件The n語句塊EndIf(稱If塊語句) If 條件 The n只有一條語句(稱If條語句)雙分支條件語句:格式:If 條件Then語句塊1Else語句塊2End If多分支條件語句If條件1 The n語句塊1Elsei
20、f條件2 Then語句塊2o o o o o oElse語句塊nEnd If其中,條件可以是:關(guān)系表達式(a>5)、邏輯表達 式(a>5 And c>4)、變量(i)或常數(shù)(0)。例題:(1) 下列程序段的執(zhí)行結(jié)果為 _AX=5Y=-20If Not x>0 The nx=y-3ElseY=x+3End IfPrint x-y;y-xA. -3 3 B. 5 -8 C. 3 -3 D. 25 -25以上題中的“條件”主要是邏輯表達式。(2) 下列程序段的執(zhí)行結(jié)果為BX=2Y=1If x*y<1 Then y=y-1 Else y=-1Print y-x>0A
21、. True B. False C. -1D.1以上題中的“條件”主要是關(guān)系表達式。(3) 下列程序段的執(zhí)行結(jié)果為CDim x As In tegerIf x Then Print x Else Print x-1A. 1 B. 0C.-1D.不確定以上題中的“條件”主要是變量。2、選擇結(jié)構(gòu)語句(Select Case 語句):Select Case 測試表達式Case 表達式列表1語句塊1Case 表達式列表2語句塊2O O O O O。Case Else語句塊nEnd Select注意:測試表達式的類型只能是數(shù)值數(shù)據(jù)或字符型,表達式列表的值只要第一個符合測試表達式值的要求,就結(jié)束Selec
22、tCase語句;表達式列表可以是三種結(jié)構(gòu)或三種混合結(jié)構(gòu):、1 To 10、1,3,5,6,7,8、Is>10、1,2,5,7,ls>10例題:(1)在窗體上畫一個名稱為 Comma nd的命令按鈕和兩個名稱分別為Text1和Text2的文本框,然后編寫如下事件過程:Private Sub Comma nd1_Click()n=Text1.textSelect Case nCase 1 T10X=10Case 2,4,6X=20Case ls<10X=30Case 10X=10End SelectText2.text=xEnd Sub程序運行后,如果在文本框Text1中輸入10
23、,然后單擊命令按鈕,則在Text2中顯示的內(nèi)容是_AA. 10B. 20C. 30D.403、選擇結(jié)構(gòu)語句(IIF函數(shù)):變量=IIF(條件,參數(shù)1,參數(shù)2)其中,條件可以是:關(guān)系表達式(a>5)、邏輯表達式(a>5 And c>4)、變量(i)或常數(shù)(0)。執(zhí)行過程:條件成立,變量的值就是“參數(shù)1”,否則變量的值就是“參數(shù)2”。例題:(1)設(shè)a=6,則執(zhí)行語句:x=IIF(a>5,-1,0) 后,x的值為DA. 5 B. 6 C. 0 D.-1For循環(huán)變量=初值To 終值Step 步長 循環(huán)體If條件The n語句Exit ForEnd IfNext循環(huán)變量注意:循
24、環(huán)如果正常退出時(沒有執(zhí)行Exit For語句), 那么循環(huán)變量必須要大于終值或等于終值循環(huán)體步長。 Do While 條件 Loop While 條件循環(huán)體LoopDo Un til 條件循環(huán)體Do循環(huán)體Loop Un til 條件Loop注意:左邊上下兩種循環(huán)是先判斷條件后執(zhí)行循環(huán)體,右邊上下兩種循環(huán)是不管條件成立與否都至少執(zhí)行一次;While循環(huán)是條件成立執(zhí)行循環(huán)體,Un til循環(huán)是條件不成立執(zhí)行循環(huán)體。 例題:(1)下列程序段的執(zhí)行結(jié)果為Bs=0:t=0:u=0For y=1 To x瑜 Z=y To 3 八 lj=s+1Next zNext yu=u+1Next xPrint s;
25、t;uA.3 6 14 B. 14 6 3 C. 14 3 6 D.16 4 3分析:A組語句和B語句都在X循環(huán)內(nèi),并且是并列的,所以可以先計算B組語句,A組語句暫時不算,這樣很容易求出u=u+1 語句循環(huán)了三次,則u=3; C組語句和D語句都在丫循環(huán)內(nèi),并且是 并列的,所以可以先計算 D組語句,C組語句暫時不算,這樣也比較 容易求出t=t+1語句循環(huán)了六次,則t=6 ;然后再結(jié)合答案很快就能 得出答案是選B。知識點9:數(shù)組的概念(三維的只需知道數(shù)組中可以存儲多少數(shù)據(jù)即可 )。數(shù)組的格式:a(2,3 To 7,-1 To 2),那它的存儲空間大小計算:每一維用上界 -下界+1 計算,例如(2-
26、0+1)*(7-3+1)*(2-(-1)+1)=3*5*4=60。數(shù)組的下標下界是根據(jù)語句 Option Base n來決 定:當n=0時,數(shù)組下標下界是從0開始;當n=1時,數(shù)組下標下界 是從1開始。數(shù)組分為:固定大小數(shù)組:Dim a(10) AsIn teger動態(tài)大小數(shù)組:Dim a() As IntegerRedim a(10) Array函數(shù)用法:為一個 變體型變量創(chuàng)建一個數(shù) 組。Dim a as Varia nta=Array(1,2,3,4,5)因 此:a(0)=1a(1)=2a(2)=3a(3)=4a(4)=5注意:如果數(shù)組被定義為一下三種類型,(1)數(shù) 值型(2)字符型(3)
27、邏輯型,則它們初始化的數(shù)組元素數(shù)值分別 為:0、空字符串和False。例題:Commanc),然后編寫如下代碼:Private Sub Comma nd1_Click()Dim a(4,4) As In tegerFor i=1 To 4or j=1 To 4'a(i,j)=(i-1)*3+jNext jNext iFor i=3 To 4For j=3 To 4B pri nt a(j,i)Next jPrintNext iEnd Sub程序運行后,單擊命令按鈕,其輸出結(jié)果為D。A. 6 9 B. 7 10 C. 87 108 1191210 13分析:對循環(huán)和數(shù)組結(jié)合的問題,往往要
28、先看 B組語句輸出結(jié)果是什么,然后根據(jù)B組語句輸出結(jié)果代入到A組語句中求結(jié)果組語句輸a出結(jié)果:3)a(4,4)代入A組語知識點10:句的結(jié)果:121013a(3,4)1、過程與函數(shù):過程與函數(shù)的參數(shù)類型有:實參和形參;傳遞方式 有:值傳遞和地址傳遞。 以下程序中,x,y為實參;a,b為形參注意:實參要與形參的類型、個數(shù)要相同。在形參a,b之前如果加上關(guān)鍵字 ByVai,那么就是值傳遞;如果加上關(guān)鍵字 ByRef或不加關(guān)鍵字,那么就是地址傳遞。過程調(diào)用方式有兩種:Call S)或S (Swap是過程'實現(xiàn)兩個數(shù)的交換功能Private Sub Commandl_C1 ick()Dim x
29、 As IntegBr, y As Integerx 二:甘二 20_Print X,y En£ SubDim t is Integera = bEndPrivate Sub StArapfk As Ititeger, As Integer)地址傳遞方式注意:只有地址傳遞方式才能實現(xiàn)交換功能,值傳遞方式x,y的值不變。當有事件過程和通用過程一起運行時,先執(zhí)行事 件過程(Comma nd_Click)。例題:(1) 假定有如下的Sub過程:Sub S(x As Si ngle,ByVal y as Si ngle)t=xx=t/yy=t Mod yEnd Sub在窗體上畫一個命令按鈕,
30、其名稱為Comma nd1然后編寫如下事件過程:Private Sub Comma nd1_Click()Dim a As Sin gle, b As Si nglea=5:b=4S a,bPrint a,bEnd Sub程序運行后,單擊命令按鈕,輸出結(jié)果為C A. 5 4 B. 1 1 C. 1.25 4 D.程序分析:因此a與x擁有一個共同存儲空間,圖形表示:;形參y是值傳遞方式,當b傳遞給y時,因此b與y是兩個不同存儲空間,圖形表示:;那么在過程S中:運算x=t/y后,x=1.25,圖形表示;因此a的值就是1.25 ;運算y=t Mody后,y=1,圖形表示:斗卜觀制縉y |,因為此時b
31、和y存儲空間不同,則不影響b的值,則還是4,因此Print a,b 的結(jié)果就 是選擇C答案。知識點11:、菜單和鼠標事件菜單編輯器的使用:注意:菜單中的標題可以為空,但不論是第幾級菜單名稱必須唯一,且不能為空 鼠標事件(按下鼠標鍵事件過程)主要事件有:Form_MouseDown Form_MouseUp 和 Form_MouseMove現(xiàn)在以某個為例說明:PrivateSub Form_MouseDown(ButtonAs Integer,Shift As Integer, X As Single, Y As Single)End Sub 上述事件過程不僅使用在窗體上(Form_MouseD
32、ow n)還可以使用于大多數(shù)控件上,包括命令按鈕 (Command1_MouseDoW或)文本框(Text1_MouseDown等。以上鼠標事件過程的參數(shù),含義如下:(1)Button 有值 1、2 和 4,分別表示按下左鍵、 右鍵和中建;(2) Shift表示 Shift 、 Ctrl 和 Alt 鍵的狀態(tài), 其值分別是 1、2 和 4;(3)X, Y 表示鼠標光標的坐標位置 彈出式菜單(菜單和鼠標事件的結(jié)合使用)PrivateSub Form_MouseDown(ButtonAs Integer,Shift As Integer, X As Single, Y As Single)If B
33、utton=1 Then按下鼠標左鍵FilePopUpmenu通過 PopUpmenu方法彈出菜單End If'File是一級菜單的名稱End Sub運行效果:2、公共對話框(又稱通用對話框)通用對話框是我們考試中唯一一個控件箱中沒有的控件,需要我們自己添加的,添加的方法是在“工程”菜單的“部件”項中選擇“ Microsoft Com mon Dialog Co ntrol 6.0 ”后,才會在控件箱中出現(xiàn)通用對話框圖標通用對話框圖形根據(jù)以上圖形,相應(yīng)的程序代碼如下:lJrivate Sub Cornnaiid 1_C1 i ck ()ConononDi ulogl. DialagTi
34、 tlw亍'"扌幵建用對話世一ConimorDi al ogl + Ft 1 eName 二:墊屯 l.Ft" ,* “ ,、,、CnnnnajTClizxlDgLT Hi 1 ter ="所有文件 |+T + IWardlXn件 |+ dniz I丈豐文件 CarnTDorDialogl. FllTerlndez 二 3CtnmDorDialofl, InitDlr = *D: *CulUIUulJ?! ol Dl . SJlcAMOpdi ' S'-jffiCullitHJljDi alutjl A'. '. 1 uli
35、l:遵用吐話華圭弄育岡獨打?f戀件對話框和保存文件對話獰.以上是“打開文件對" r :理果足倔存夬件.甘話框貝j£ConuDonCi al gl. ShowOpen改掬CdinmcnDmcigl = ShowSave, '或把ComrrcinDi alziei. Action=lSfcConinonDialcgl. Action=2HP可:End Sub注意:CommonDialog.Filterlndex =索引(索引是從1開始)知識點12:1、文件文件包括三種:順序文件、隨機文件和二進制文件 順序訪問:文件中數(shù)據(jù)是以 ASCII碼存儲的。 隨機訪問:文件長度記錄
36、是 固定不變的,數(shù)據(jù)類型可以不同,數(shù)據(jù)以二進制方式存儲在文件中,可以任意時候,任意地方訪問。 如果源文件是字符類型, 那么讀寫文件如下所示:讀文件的格式:#文件號 (#1)Do while Not Eof(Input #文件名 (In.txt)" For Input As 文件號)文件號 , 變量LoopClose #文件號寫文件格式:OpenApp.Path & 文 件 名 (Out.txt)" ForOutput(Append) As # 文件號 (#1)Print #文件號 , 變量Close #文件號注意:當寫文件以 Output 方式時, 原來的文件內(nèi)容
37、將被覆蓋;當寫文件以 Append 方式時,新的文件內(nèi)容將被添加到文 件尾部; 如果源文件是數(shù)值類型, 那么讀寫文件如下所示: Dim a(10) As IntegerOpenApp.Path & 文件名 (In.txt)" For Input As#文件號 (#1)For i=1 To 10In put #文件號,a(i)Next iClose #文件號寫文件格式:OpenApp.Path & 文件名(Out.txt)" ForOutput(Append) As # 文件號倂 1)For i=1 To 10Print # 文件號,a(i)Next iClo
38、se #文件號例題:(1)在考生文件夾下有文件in 5.txt ,文件中有字符串 “0& 1%$s#2&3!45u6ydf7ff8|9er ”。請在 Forml 的窗體上畫一個文本框,名稱為Text1,能顯示多行;在畫一個命令按鈕,名稱為Cl,標題為“存盤”。編寫適當?shù)氖录^程,使得在加載窗體時,把in5.txt文件的內(nèi)容中數(shù)字字符顯示在文本框里。然后單擊“存盤” 按鈕,把文本框中的內(nèi)容存到文件 out5.txt中。如圖所示:根據(jù)題目要求,所編寫程序如下:Private Sub ComnandljClick 0Open App, Path & ?out.十kF For
39、Output As #2Print #2j Textl. TexiClose #2End SubPrivatE Sub 氏皿丄口胡。Dim s As StringDim n As Integer, 1 As Integer, c As String Open App. Path & "In. For Input As #1 Do While Not EOF(l)Input #1, sLoopClose #1ri - Lents)for 1 = 1 To nc = IffidG, i, 1)If c >=時 And c <=分 ThenTeitl. Text 二 T
40、extl. Tett + cEnd IfHext iEnd Sub(2)在考生文件下有文件in.txt,文件有10個數(shù)據(jù):123 521 362 821 400 300 710 990 120 500. 請在 Forml 的窗體上 畫一個文本框,名稱為Text1,能顯示多行;在畫一個命令按鈕,名 稱為Cl,標題為“存盤”。編寫適當?shù)氖录^程,使得在加載窗體時, 把in5.txt文件的內(nèi)容顯示在文本框里,然后統(tǒng)計10個數(shù)的最大數(shù)、 最小數(shù)和它們的和,并把最大數(shù)、最小數(shù)和它們的和寫到“out.txt ” 文件中。如圖所示:根據(jù)題目要求,所編寫程序如下:Dim a(10) As_Integer, m
41、ay As Integer. inirL-As Integer. 211m As Lona Private Sub Conoandl_Click()Open top. Path 風"Wut.txT” For Output As #2Frint 吃 口氓 min, sumCLose #2£迪Private Sub Forni_Laad ()Dim l As IntegerOpen App. Path & "1口七謳十"For Input As #1For i. = 1 To 10Input #1a(i)Teiitl. Test = Textl. T
42、ext & a(i) &. Spa.ce (1)Nezt iClose #1For i = 1 Ta 10 .maz = n:min = a1-1)I£ ati) > max Thenmax - a(i)End IfIf a(i) < min The口min = a(i)End If.sum = sum + a(i)Me)ft iEnd SubVisual Basic程序設(shè)計基礎(chǔ)知識要點(程序設(shè)計篇)全國計算機等級考試中常用的程序編程部分:一、求最大數(shù)、最小數(shù)、求和以及求平均數(shù)二、求階層三、求最大公約數(shù)四、求素數(shù)五、求水仙花數(shù)(拆數(shù)法)六、 排序(選擇排序
43、、直接插入排序和冒泡排序)七、 字符操作1、字符串取反(反向輸出字符串)2、判斷字符串中的某個字符是否為字母3、統(tǒng)計每類字符的個數(shù)八、 矩陣求法(二維數(shù)組)九、 文件讀寫操作1、 字符型讀寫操作2、 數(shù)值型讀寫操作 九大問題具體例子分析: 一、求最大數(shù)、最小數(shù)、求和以及求平均數(shù)例題:隨機產(chǎn)生10個兩位整數(shù),并存入數(shù)據(jù)a中,然后分 別求 10 個元素中的 最大數(shù)、 最小數(shù) 、求 10 個元素之和 以及它們的 平 均數(shù)。Private Sub Command1_Click()Dima(10) As Integer, i As Integer, Max AsInteger, Min As Integ
44、erDim Sum as Integer, Avg As SingleSum=0For i= 1 To 10a(i)=Int(Rnd*90)+10'產(chǎn)生 1099 之間的隨機整數(shù)'假設(shè)最大數(shù)和'求最大數(shù)'求最小數(shù)'求和'求平均數(shù);Min; “和:”;Sum;Next iMax=a(1):Min=a(1)最小數(shù)For i= 1 To 10If Max<a(i) ThenMax=a(i)End IfIf Min>a(i) ThenMin=a(i) ThenEnd ifSum=Sum+a(i)Next iAvg=Sum/10Print“最大
45、數(shù):” ;Max; “最小數(shù):”“平均數(shù):” ;AvgEnd Sub二、求階層 例題:求 10! .Private Sub Command1_Click()Dim Sum As Long, i As Integer Sum=1For i= 1 To 10Sum=Sum*iNext iPrint“ 10!= ” ;SumEnd Sub三、求最大公約數(shù)例題:求M和N兩個數(shù)的最大公約數(shù)。Private Sub Command1_Click()DimM As Integer, N As Integer,R AsIntegerM=36:N=24DoR=M Mod NM=NN=RLoopWhile R&l
46、t;>0 ' 或LoopUntil R=0Print“M和N的最大公約數(shù)為:”;MEnd Sub四、求素數(shù)例題:求 100200 之間的所有素數(shù) ,并按每行 5 個元素 格式輸入所有素數(shù)。Private Sub Command1_Click()Dimn As Integer,i As Integer j AsIntegerFor n =100 To 200For i = 2 To n-1' n-1 可以是 n/2,也可以是 Sqr(n) 形 式If n Mod i =0 Then Exit ForNext iIf i>n-1 Thenj=j+1 ' 統(tǒng)計素數(shù)
47、個數(shù)Print n;If j Mod 5 =0 Then Print '輸出 5 個數(shù)換行End IfNext nEnd Sub五、求水仙花數(shù)(拆數(shù)法)例題:求 100999 之間的所有水仙花數(shù), 并將所有水仙花數(shù)在文本框中顯示。所謂水仙花數(shù):即153=1八3+5八3+3八3條件成立。方法 1:(數(shù)值型:使用運算符 Mod 和 )DimPrivate Sub Command1_Click()i As Integer ,a As Integer ,b AsInteger ,c As IntegerFor i = 100 To 999a=i100'取百位數(shù)b=i10 Mod 10&
48、#39;取十位數(shù)c=i Mod 10'取個位數(shù)If i=aA3+bA3+cA3 ThenText1.Text=Text1.Text& i &Space(2)End IfNext iEnd Sub方法 2:(字符型:使用函數(shù) Mid、Val 和 CStr )Private Sub Command1_Click()Dimi As Integer ,a As Integer ,b AsInteger ,c As IntegerFor i = 100 To 999a= Val(Mid(Cstr(i),1,1)'取百位數(shù)b= Val(Mid(Cstr(i),2,1)
49、9;取十位數(shù)c= Val(Mid(Cstr(i),3,1)'取個位數(shù)If i=aA3+bA3+cA3 ThenText1.Text=Text1.TextSpace(2)End IfNext iEnd Sub六、排序問題例題:隨機產(chǎn)生 10 個 兩位整數(shù) ,并存入數(shù)據(jù) a 中,然后將這 10個元素從小到大排序 (或從大到?。?,并將排序號的數(shù)組顯示 在文本框中。方法 1:選擇排序Private Sub Command1_Click()Dima(10) As Integer, i As Integer, j AsInteger ,temp As IntegerFor i= 1 To 10
50、a(i)=Int(Rnd*90)+10'產(chǎn)生 1099之間的隨機整數(shù)Next i'比較 n-1 輪'每一輪比較幾從大到小:For i= 1 To 9For j = i+1 To 10If a(i)>a(j) Thena(i)<a(j)temp=a(i)a(i)=a(j) a(j)=temp End IfNext jNext iFor i =1 To 10Text1.Text=Text1.Text & a(i) & space(2)Next iEnd Sub方法 2:直接插入排序Private Sub Command1_Click()j AsD
51、im a(10) As Integer, i As Integer, Integer ,temp As IntegerDim Pointer As Integer1099For i= 1 To 10 a(i)=Int(Rnd*90)+10 '產(chǎn)生 之間的隨機整數(shù)For i= 1 To 9Next i'比較 n-1 輪Pointer=iFor j = i+1 To 10'每一輪比較幾If a(Pointer)>a(j) Then Pointer=jNext jIf i <> Pointer Thentemp=a(i)a(i)=a(j) a(j)=temp
52、 End IfNext iFor i =1 To 10Text1.Text=Text1.Text & a(i) & space(2)Next iEnd Sub方法 1:冒泡排序Private Sub Command1_Click()j AsDim a(10) As Integer, i As Integer, Integer ,temp As Integer1099For i= 1 To 10 a(i)=Int(Rnd*90)+10 '產(chǎn)生 之間的隨機整數(shù)Next iFor i= 1 To 9'比較 n-1 輪For j = 1 To 10-i'每一輪比
53、較幾從大到?。篒f a(j)>a(j+1) Thena(i)<a(j)temp=a(j)a(j)=a(j+1)a(j+1)=tempEnd IfNext jNext iFor i =1 To 10Text1.Text=Text1.Text & a(i) & space(2)Next iEnd Sub七、字符操作1 、字符串取反例題:在文本框中輸入一個字符串,比如:ABCDEFGH然后反向輸出,結(jié)果為:HGFEDCBAPrivate Sub Command1_Click()Dim s As String ,n As Integer ,i As Integern=Len
54、(Text1.Text )For i = n To 1 Step-1For i =1 To ns = s + Mid(Text1.Text,i,1) ' s =Mid(Text1.Text,i,1) + sNext iPrint sEnd Sub2、判斷字符串中的某個字符是否為字母 例題:在文本框中輸入一個字符串,比如:A$4Ch&*Fiy%41H輸出字符串中的所有字母,結(jié)果為:AChFiyHPrivate Sub Command1_Click()Dim s As String ,n As Integer ,i As Integer ,c As Stringn=Len(Text
55、1.Text )For i = 1 To nc=Mid(Text1.Text,i,1)If c >= "A" And c<= "Z" Or c >= "a" And c<= "z" Thens = s + cEnd IfNext iPrint sEnd Sub 3、統(tǒng)計每類字符的個數(shù)例題:在文本框中輸入一個字符串,比如:A$m4Ch&*F13iy%p41,H請分別統(tǒng)計出大寫字母、小寫字母、數(shù)字字符和其他字符的個數(shù)。Private Sub Command1_Click()Dim n As Integer ,i As Integer ,c As StringDim n1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 加強城市公共設(shè)施安全管理計劃
- 2025年智能馬桶蓋合作協(xié)議書
- 2025年高模量玻璃纖維紗項目發(fā)展計劃
- 移動支付系統(tǒng)研發(fā)合作協(xié)議
- 從寓言故事看中華傳統(tǒng)美德的傳承與教育
- 公司信息化安全規(guī)章制度及操作手冊
- racemic-Nornicotine-Standard-生命科學試劑-MCE
- 班主任與學生家長安全協(xié)議書
- Cholesterol-n-Octanoate-Standard-生命科學試劑-MCE
- 5-Bromo-6-chloropyrazin-2-amine-生命科學試劑-MCE
- 生物-遼寧省大連市2024-2025學年高三上學期期末雙基測試卷及答案
- Unit 4 A glimpse of the future 說課稿-2023-2024學年高二下學期英語外研版(2019)選擇性必修第三冊001
- 鄉(xiāng)村建設(shè)規(guī)劃許可培訓
- 加氣站安全課件
- 《民營企業(yè)清廉建設(shè)評價規(guī)范》
- 智能RPA財務(wù)機器人開發(fā)教程-基于來也UiBot 課件 第2章-常用機器人流程自動化
- GB/T 45037-2024糧油機械扒谷機
- 團聚體與土壤有機質(zhì)轉(zhuǎn)化-洞察分析
- 公務(wù)車輛定點加油服務(wù)投標文件(技術(shù)方案)
- 膝關(guān)節(jié)鏡手術(shù)后康復
- 安徽工程大學《回歸分析》2023-2024學年第一學期期末試卷
評論
0/150
提交評論