版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
..VisualBasic程序設(shè)計(jì)基礎(chǔ)知識(shí)要點(diǎn)〔概念分析篇知識(shí)點(diǎn)1:在工程資源管理器窗口中可以包含:工程文件、窗體模塊文件、標(biāo)準(zhǔn)模塊文件和類模塊文件〔其中可以包含許多各種文件類型。VisualBasic應(yīng)用程序可以以解釋方式執(zhí)行和編譯方式執(zhí)行。例題:〔1以下敘述中錯(cuò)誤的是AA.在工程資源管理器窗口中只能包含一個(gè)工程文件及屬于該工程的其他文件。B.以.bas為擴(kuò)展名的文件是標(biāo)準(zhǔn)模塊文件。C.窗體文件包含該窗體及其控件的屬性。D.一個(gè)工程中可以有多個(gè)標(biāo)準(zhǔn)模塊文件?!?以下敘述中錯(cuò)誤的是CA.打開一個(gè)工程文件時(shí),系統(tǒng)自動(dòng)裝入與該工程有關(guān)的窗體、標(biāo)準(zhǔn)模塊等文件。B.保存VisualBasic程序時(shí),應(yīng)分別保存窗體文件及工程文件。C.VisualBasic應(yīng)用程序只能以解釋方式執(zhí)行。D.事件可以由用戶引發(fā),也可以由系統(tǒng)引發(fā)。知識(shí)點(diǎn)2:窗體和各種控件的名稱〔Name是唯一的,用來標(biāo)識(shí)一個(gè)窗體或控件的。而窗體和控件的標(biāo)題是用來說明的,是可有可無的。各種控件之間有部分相同的屬性,并不是擁有所有屬性??丶行傩灾荒茉趯傩源翱谥性O(shè)置,但也有少數(shù)屬性只能在代碼狀態(tài)設(shè)置。Form1.Hide方法和UnloadForm1方法的區(qū)別:第一個(gè)方法窗體消失并不存在于內(nèi)存中;第二個(gè)方法窗體消失但仍存在于內(nèi)存中。例題:〔1以下敘述中正確的是AA.窗體的Name屬性指定窗體的名稱,用來標(biāo)識(shí)一個(gè)窗體。B.窗體的Name屬性的值是顯示在窗體標(biāo)題欄中的文本。C.可以在運(yùn)行期間改變對象的Name屬性的值。D.對象的Name屬性值可以為空?!?以下敘述中錯(cuò)誤的是CA.VisualBasic是事件驅(qū)動(dòng)型可視化編輯工具。B.VisualBasic應(yīng)用程序不具有明顯的開始和結(jié)束語句。C.VisualBasic工具箱中的所有控件都具有Width和Height屬性。D.VisualBasic中控件的某些屬性只能在運(yùn)行時(shí)設(shè)置。知識(shí)點(diǎn)3:標(biāo)簽<Label1>:Autosize的True屬性可以自動(dòng)調(diào)整標(biāo)簽的大小,而False屬性不能。文本框<Text1>:1、Maxlength屬性表示文本框所能容納的字符數(shù)。2、Password屬性表示口令輸入,可以是"*"或"?"等。設(shè)置文本框輸入字符為"*":Text1.Password="*",還原文本框字符:Text1.Password="",3、ScrollBars屬性是表示文本框有垂直或水平滾動(dòng)條,但是需要和多行屬性Multiline結(jié)合一起使用。4、SelLength屬性是表示選中文本框中字符的個(gè)數(shù):Text1.SelLength。SelStart屬性是表示選中文本框中字符或光標(biāo)之前的字符數(shù):Text1.SelStrart。SelText屬性是表示選中文本框中的字符:Text1.SelText。5、文本的主要事件是Change事件:<標(biāo)簽內(nèi)容隨文本框內(nèi)容變化而變化>PrivatesubCommand_Change〔Label1.caption=Text1.textEndsub6、文本框的方法只有一個(gè):Text1.SetFocus例題:〔1能夠獲得一個(gè)文本框中被選取文本的內(nèi)容的屬性是CA.TextB.SelLengthC.SelTextD.SelStrart〔2在窗體上畫一個(gè)文本框<其名稱為Text1>和標(biāo)簽<其名稱為Label1>。要求程序運(yùn)行后,如果在文本框中輸入字符,則立即在標(biāo)簽中顯示相同的內(nèi)容。以下可以實(shí)現(xiàn)上述操作的事件過程是AA.PrivateSubText1_Change〔B.PrivateSubText1_Click〔Label1.caption=Text1.TextLabel1.caption=Text1.TextEndSubEndSubC.PrivateSubLabel1_Change〔D.PrivateSubLabel1_Click〔Label1.caption=Text1.TextLabel1.caption=Text1.TextEndSub〔3命令按鈕<Command1>:1、Default屬性:當(dāng)一個(gè)命令按鈕的Default屬性為True時(shí),按回車鍵和單擊該命令按鈕的效果相同。2、Cancel屬性:當(dāng)一個(gè)命令按鈕的Cancel屬性為True時(shí),按ESC鍵和單擊該命令按鈕的效果相同?!?單選按鈕和復(fù)選框<Option1和Check1>:1、單選按鈕:Value屬性的值是True<選中>和False<未選中>,Option1.Value=True等同于Option1.Value用法。2、復(fù)選框:Value屬性的值是0<未選中>、1<選中>和2<表示暫時(shí)不可用>。Check1.Value=False可以用,但Check1.Value=True不可用<因?yàn)門rue只能轉(zhuǎn)化數(shù)值-1而不是1>?!?列表框<List1>:1、List屬性是一個(gè)數(shù)組型屬性:List1.List<索引>,索引可以是數(shù)字0、1…,List1.listindex,變量i〔List1.Text等同于List1.list<List1.listindex>。2、MultSelect屬性:用來設(shè)置一次可以多選表項(xiàng)數(shù)。MultSelect屬性值為0時(shí),每次只能選擇一項(xiàng);MultSelect屬性值為1時(shí),可以同時(shí)選擇多個(gè)項(xiàng)目;MultSelect屬性值為2時(shí),可以用輔助鍵Shift或Ctrl選擇多個(gè)項(xiàng)目。3、常用方法:AddItem方法表示添加的是一個(gè)項(xiàng)目,而Removeitem方法表示通過刪除索引的方式刪除項(xiàng)目。RemoveItem索引索引可以是數(shù)字0、1…,List1.listindex,變量i。〔6組合框〔Combo1:1、Style屬性:Style屬性值為0時(shí),表示下拉式組合框;Style屬性值為1時(shí),表示下簡單組合框;Style屬性值為2時(shí),表示下拉式列表框。其他功能類似列表框<List1>?!?圖片框和圖像框<Picture1和Image1>:1、圖片框<Picture1>:Autosize屬性值為True時(shí),表示圖片框大小隨圖片大小改變而改變;Autosize屬性值為False時(shí),表示圖片框只能部分顯示大圖片。2、圖像框<Image1>:Stretch屬性為True時(shí),圖片大小隨圖像框的大小改變而改變;Stretch屬性為True時(shí),圖像框的大小隨圖片大小的改變而改變。3、兩種圖形類型都可以按照下面這個(gè)方法加載圖片:Picture1.picture=LoadPicture<App.Path&"\圖片名稱.擴(kuò)展名">Image1.picture=LoadPicture<App.Path&"\圖片名稱.擴(kuò)展名">如果要清楚圖片:Picture1.picture=LoadPicture<"">Image1.picture=LoadPicture<"">注意:如果使用App.Path方法需要先保存好窗體文件和工程文件到考生文件夾中?!?滾動(dòng)條<HScroll1>:1、Max和Min屬性是分別表示滾動(dòng)條的最大和最小刻度,刻度值用Value屬性值來表示:HScroll1.value。2、LargeChange和SmallChange屬性是分別表示移動(dòng)滾動(dòng)條上的左右箭頭按鈕的移動(dòng)量和移動(dòng)滾動(dòng)條上滾動(dòng)框的移動(dòng)量。3、Scroll和Change事件分別表示拖動(dòng)滾動(dòng)條上滾動(dòng)框的操作和單擊滾動(dòng)條上箭頭按鈕的操作?!?計(jì)時(shí)器<Timer1>:1、Enabled屬性:Enabled屬性值為True時(shí),表示計(jì)時(shí)器可以走動(dòng);Enabled屬性值為False時(shí),表示計(jì)時(shí)器停止走動(dòng);2、Interval屬性:是表示計(jì)時(shí)器運(yùn)動(dòng)的時(shí)間間隔,單位為毫秒。1秒時(shí)間:Timer1.Interval=1000。3、Enabled和Interval這兩個(gè)屬性一般情況下需要一起使用。知識(shí)點(diǎn)4:〔1VisualBasic常用函數(shù)的使用方法:1、數(shù)學(xué)函數(shù):★求平方根:Sqr<n>★求自然對數(shù)Log<n>lnnlog78=loge8/loge7<注意非e為底的對數(shù)需要如此轉(zhuǎn)換>★求以e為底的冪值,exexExp<x>1n>0★Sqn<n>=0n=0★Rad<>-->X=Int<Rnd*<上界—下界+1>>+下界〔產(chǎn)生隨機(jī)整數(shù)2、轉(zhuǎn)換函數(shù):★Str<x>數(shù)值x轉(zhuǎn)換成字符串str<12.75>="12.75”這樣轉(zhuǎn)換12.75之前會(huì)多出一位。如果使用Cstr<12.75>="12.75★Val<x>字符x轉(zhuǎn)換成數(shù)值,但x要一定是數(shù)字字符才行,Val<"12.75”>=12.75,如果是含有其他字符Val<"12.7ab"★chr<x>返回以x為Asccii代碼值的字符chr<97>="a";Asc<x>給出字符x的Asccii代碼值A(chǔ)sc<"A">=65三種類型ASCII代碼值轉(zhuǎn)換:Asc<"0”>~Asc<"9”>-Asc<"A">~Asc<"Z">-65~90Asc<"a">~Asc<"z">-97~122特殊情況:Asc<"ABC">=65只求第一個(gè)字符"A"的Ascii代碼值★Fix<x>將數(shù)值型數(shù)據(jù)x的小數(shù)部分舍去Fix<12.8>=12Fix<-12.5>=-12;Int<x>取小于等于x的最大整數(shù)當(dāng)x>0時(shí),用法和Fix一樣;當(dāng)x<0時(shí),Int<-12.3>=-13;Cint<x>將數(shù)值型數(shù)據(jù)x的小數(shù)部分四舍五入Cint<12.7>=13Cint<12.3>=12但是有特殊情況:x當(dāng)x是偶數(shù)Cint<x.5>=x+1當(dāng)x是奇數(shù)3、字符函數(shù)★L(fēng)eft<x,n>從x字符串左邊起取n個(gè)字符Left<"ABCDEFG",3>="ABC";Right<x,n>從x字符串右邊起取n個(gè)字符Right<"ABCDEFG",3>="EFG"。Mid<x,n1,n2>從字符串x左邊第n1個(gè)位置開始向右起取n2個(gè)字符Mid<x,n>從字符串x左邊第n個(gè)位置開始向右全部取Mid<"ABCDEFG",3,2>="CD"Mid<"ABCDEFG",3>="CDEFG"Instr<n,s1,s2>從字符串s1的第n個(gè)位置起查找s2在s1中位置,如果n省略,則默認(rèn)從字符串s1的第1個(gè)位置起查找s2在s1中位置Instr<2,"ABCDEFG","CD">=3知識(shí)點(diǎn)5:1、運(yùn)算符:★算術(shù)運(yùn)算符運(yùn)算符的優(yōu)先級:^>--><*/>>\>Mod><+-->★關(guān)系運(yùn)算符<<=>>==<>LikeIs運(yùn)算符優(yōu)先級相同★邏輯運(yùn)算符運(yùn)算符的優(yōu)先級:Not>And>Or>Xor>Eqv例題:〔1表達(dá)式4+5\6*7/8Mod9的值是BA.4B.5C.6D.7〔2a=3b=2c=1求Printa>b>c的結(jié)果?首先a>b的結(jié)果是true,然后再PrintTrue>c此時(shí)True需要轉(zhuǎn)換成-1再比較,Print-1>1結(jié)果是False,所以整個(gè)輸出結(jié)果是False。知識(shí)點(diǎn)6:1、交互函數(shù)的使用:★InputBox函數(shù):A=InputBox<"提示信息","標(biāo)題信息","默認(rèn)值或輸入框的值">例題:<1>執(zhí)行下列語句后,將顯示輸入對話框,此時(shí)如果單擊"確定"按鈕,則變量strInput的內(nèi)容是CstrInput=InputBox<"請輸入字符串","字符串對話框","字符串">A."請輸入字符串"B."字符串對話框"C."字符串"D.空字符串★MsgBox函數(shù):MsgBox"提示信息",按鈕類型值+圖標(biāo)類型值+默認(rèn)焦點(diǎn)值,"標(biāo)題信息"A=MsgBox"提示信息",按鈕類型值+圖標(biāo)類型值+默認(rèn)焦點(diǎn)值,"標(biāo)題信息";A的值根據(jù)單擊什么按鈕有關(guān),A的值在[1,7]之間取值。比如:單擊"確定"按鈕,A=1。例題:〔1以上圖形所表示的函數(shù)表達(dá)式為:MsgBox"請輸入查詢的學(xué)生__",3+32+256,"學(xué)生基本信息查詢"知識(shí)點(diǎn)7:1、選擇結(jié)構(gòu)語句〔If條件語句:★單分支條件語句:格式:①If條件Then語句塊EndIf〔稱If塊語句②If條件Then只有一條語句〔稱If條語句★雙分支條件語句:格式:If條件Then語句塊1Else語句塊2EndIf★多分支條件語句If條件1Then語句塊1Elseif條件2Then語句塊2。。。。。。Else語句塊nEndIf其中,條件可以是:關(guān)系表達(dá)式<a>5>、邏輯表達(dá)式<a>5Andc>4>、變量<i>或常數(shù)<0>。例題:〔1下列程序段的執(zhí)行結(jié)果為AX=5Y=-20IfNotx>0Thenx=y-3ElseY=x+3EndIfPrintx-y;y-xA.-33B.5-8C.3-3D.25-25以上題中的"條件"主要是邏輯表達(dá)式?!?下列程序段的執(zhí)行結(jié)果為BX=2Y=1Ifx*y<1Theny=y-1Elsey=-1Printy-x>0A.TrueB.FalseC.-1D.1以上題中的"條件"主要是關(guān)系表達(dá)式?!?下列程序段的執(zhí)行結(jié)果為CDimxAsIntegerIfxThenPrintxElsePrintx-1A.1B.0C.-1D.不確定以上題中的"條件"主要是變量。2、選擇結(jié)構(gòu)語句〔SelectCase語句:SelectCase測試表達(dá)式Case表達(dá)式列表1語句塊1Case表達(dá)式列表2語句塊2。。。。。。CaseElse語句塊nEndSelect注意:測試表達(dá)式的類型只能是數(shù)值數(shù)據(jù)或字符型,表達(dá)式列表的值只要第一個(gè)符合測試表達(dá)式值的要求,就結(jié)束SelectCase語句;表達(dá)式列表可以是三種結(jié)構(gòu)或三種混合結(jié)構(gòu):①、1To10②、1,3,5,6,7,8③、Is>10④、1,2,,5,7,Is>10例題:〔1在窗體上畫一個(gè)名稱為Command1的命令按鈕和兩個(gè)名稱分別為Text1和Text2的文本框,然后編寫如下事件過程:PrivateSubCommand1_Click<>n=Text1.textSelectCasenCase1T10X=10Case2,4,6X=20CaseIs<10X=30Case10X=10EndSelectText2.text=xEndSub程序運(yùn)行后,如果在文本框Text1中輸入10,然后單擊命令按鈕,則在Text2中顯示的內(nèi)容是AA.10B.20C.30D.403、選擇結(jié)構(gòu)語句〔IIF函數(shù):變量=IIF<條件,參數(shù)1,參數(shù)2>其中,條件可以是:關(guān)系表達(dá)式<a>5>、邏輯表達(dá)式<a>5Andc>4>、變量<i>或常數(shù)<0>。執(zhí)行過程:條件成立,變量的值就是"參數(shù)1”,否則變量的值就是"參數(shù)2例題:〔1設(shè)a=6,則執(zhí)行語句:x=IIF<a>5,-1,0>后,x的值為DA.5B.6C.0D.-1知識(shí)點(diǎn)8:1、循環(huán)結(jié)構(gòu)①For循環(huán)變量=初值To終值Step步長循環(huán)體If條件Then語句ExitForEndIfNext循環(huán)變量Do循環(huán)體Do循環(huán)體LoopWhile條件②DoWhile條件循環(huán)體LDo循環(huán)體Do循環(huán)體LoopUntil條件DoUntil條件循環(huán)體L注意:左邊上下兩種循環(huán)是先判斷條件后執(zhí)行循環(huán)體,右邊上下兩種循環(huán)是不管條件成立與否都至少執(zhí)行一次;While循環(huán)是條件成立執(zhí)行循環(huán)體,Until循環(huán)是條件不成立執(zhí)行循環(huán)體。例題:〔1下列程序段的執(zhí)行結(jié)果為Bs=0:t=0:u=0Forx=1To3Fory=1ToxForz=yTo3s=s+1Nextzt=t+1Nextyu=u+1NextxPrints;t;uA.3614B.1463C.1436D.1643分析:A組語句和B語句都在X循環(huán)內(nèi),并且是并列的,所以可以先計(jì)算B組語句,A組語句暫時(shí)不算,這樣很容易求出u=u+1語句循環(huán)了三次,則u=3;C組語句和D語句都在Y循環(huán)內(nèi),并且是并列的,所以可以先計(jì)算D組語句,C組語句暫時(shí)不算,這樣也比較容易求出t=t+1語句循環(huán)了六次,則t=6;然后再結(jié)合答案很快就能得出答案是選B。知識(shí)點(diǎn)9:1、數(shù)組:①數(shù)組的概念★等級考試主要考一維數(shù)組、二維數(shù)組和三維數(shù)組<三維的只需知道數(shù)組中可以存儲(chǔ)多少數(shù)據(jù)即可>。數(shù)組的格式:a<2,3To7,-1To2>,那它的存儲(chǔ)空間大小計(jì)算:每一維用上界-下界+1計(jì)算,例如<2-0+1>*<7-3+1>*<2-<-1>+1>=3*5*4=60?!飻?shù)組的下標(biāo)下界是根據(jù)語句OptionBasen來決定:當(dāng)n=0時(shí),數(shù)組下標(biāo)下界是從0開始;當(dāng)n=1時(shí),數(shù)組下標(biāo)下界是從1開始?!飻?shù)組分為:固定大小數(shù)組:Dima<10>AsInteger動(dòng)態(tài)大小數(shù)組:Dima<>AsIntegerRedima<10>★Array函數(shù)用法:為一個(gè)變體型變量創(chuàng)建一個(gè)數(shù)組。DimaasVarianta=Array<1,2,3,4,5>因此:a<0>=1a<1>=2a<2>=3a<3>=4a★注意:如果數(shù)組被定義為一下三種類型,<1>數(shù)值型<2>字符型<3>邏輯型,則它們初始化的數(shù)組元素?cái)?shù)值分別為:0、空字符串和False。例題:〔1在窗體上畫一個(gè)命令按鈕〔其Name屬性為Command1,然后編寫如下代碼:PrivateSubCommand1_Click<>Dima<4,4>AsIntegerFori=1To4Forj=1To4a<i,j>=<i-1>*3+jNextjNextiFori=3To4Forj=3To4Printa<j,i>NextjPrintNextiEndSub程序運(yùn)行后,單擊命令按鈕,其輸出結(jié)果為D。A.69B.710C.811D.9127108119121013分析:對循環(huán)和數(shù)組結(jié)合的問題,往往要先看B組語句輸出結(jié)果是什么,然后根據(jù)B組語句輸出結(jié)果代入到A組語句中求結(jié)果。a<3,3>a<4,3>a<3,4>a<4,4>a<3,3>a<4,3>a<3,4>a<4,4>91210139121013知識(shí)點(diǎn)10:1、過程與函數(shù):★過程與函數(shù)的參數(shù)類型有:實(shí)參和形參;傳遞方式有:值傳遞和地址傳遞?!镆韵鲁绦蛑?x,y為實(shí)參;a,b為形參注意:實(shí)參要與形參的類型、個(gè)數(shù)要相同?!镌谛螀,b之前如果加上關(guān)鍵字ByVal,那么就是值傳遞;如果加上關(guān)鍵字ByRef或不加關(guān)鍵字,那么就是地址傳遞。★過程調(diào)用方式有兩種:CallSwap<x,y>或Swapx,y<Swap是過程名>注意:只有地址傳遞方式才能實(shí)現(xiàn)交換功能,值傳遞方式x,y的值不變。當(dāng)有事件過程和通用過程一起運(yùn)行時(shí),先執(zhí)行事件過程<Command_Click>。例題:〔1假定有如下的Sub過程:SubS<xAsSingle,ByValyasSingle>t=xx=t/yy=tModyEndSub在窗體上畫一個(gè)命令按鈕,其名稱為Command1,然后編寫如下事件過程:PrivateSubCommand1_Click<>DimaAsSingle,bAsSinglea=5:b=4Sa,bPrinta,bEndSub程序運(yùn)行后,單擊命令按鈕,輸出結(jié)果為_____C_____。A.54B.11C.1.254D.1.251程序分析:首先形參x是地址傳遞方式,當(dāng)a傳遞給x時(shí),因此a與x擁有一個(gè)共同存儲(chǔ)空間,圖形表示:;形參y是值傳遞方式,當(dāng)b傳遞給y時(shí),因此b與y是兩個(gè)不同存儲(chǔ)空間,圖形表示:;那么在過程S中:運(yùn)算x=t/y后,x=1.25,圖形表示;因此a的值就是1.25;運(yùn)算y=tMody后,y=1,圖形表示:,因?yàn)榇藭r(shí)b和y存儲(chǔ)空間不同,則不影響b的值,則還是4,因此Printa,b的結(jié)果就是選擇C答案。知識(shí)點(diǎn)11:1、菜單和鼠標(biāo)事件★菜單編輯器的使用:注意:菜單中的標(biāo)題可以為空,但不論是第幾級菜單名稱必須唯一,且不能為空?!锸髽?biāo)事件〔按下鼠標(biāo)鍵事件過程主要事件有:Form_MouseDown、Form_MouseUp和Form_MouseMove?,F(xiàn)在以某個(gè)為例說明:PrivateSubForm_MouseDown<ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle>…EndSub上述事件過程不僅使用在窗體上<Form_MouseDown>,還可以使用于大多數(shù)控件上,包括命令按鈕<Command1_MouseDown>或文本框<Text1_MouseDown>等。以上鼠標(biāo)事件過程的參數(shù),含義如下:〔1Button有值1、2和4,分別表示按下左鍵、右鍵和中建;〔2Shift表示Shift、Ctrl和Alt鍵的狀態(tài),其值分別是1、2和4;〔3X,Y表示鼠標(biāo)光標(biāo)的坐標(biāo)位置★彈出式菜單〔菜單和鼠標(biāo)事件的結(jié)合使用PrivateSubForm_MouseDown<ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle>IfButton=1Then‘按下鼠標(biāo)左鍵PopUpmenuFile‘通過PopUpmenu方法彈出菜單EndIf‘File是一級菜單的名稱EndSub運(yùn)行效果:2、公共對話框<又稱通用對話框>★通用對話框是我們考試中唯一一個(gè)控件箱中沒有的控件,需要我們自己添加的,添加的方法是在"工程"菜單的"部件"項(xiàng)中選擇"MicrosoftCommonDialogControl6.0”★通用對話框圖形根據(jù)以上圖形,相應(yīng)的程序代碼如下:注意:CommonDialog.FilterIndex=索引〔索引是從1開始知識(shí)點(diǎn)12:1、文件文件包括三種:順序文件、隨機(jī)文件和二進(jìn)制文件順序訪問:文件中數(shù)據(jù)是以ASCII碼存儲(chǔ)的。隨機(jī)訪問:文件長度記錄是固定不變的,數(shù)據(jù)類型可以不同,數(shù)據(jù)以二進(jìn)制方式存儲(chǔ)在文件中,可以任意時(shí)候,任意地方訪問。二進(jìn)制訪問:必須知道數(shù)據(jù)是如何寫入文件的?!锶绻次募亲址愋?那么讀寫文件如下所示:讀文件的格式:OpenApp.Path&"\文件名<In.txt>"ForInputAs#文件號<#1>DowhileNotEof<文件號>Input#文件號,變量…LoopClose#文件號寫文件格式:OpenApp.Path&"\文件名<Out.txt>"ForOutput<Append>As#文件號<#1>Print#文件號,變量Close#文件號注意:當(dāng)寫文件以O(shè)utput方式時(shí),原來的文件內(nèi)容將被覆蓋;當(dāng)寫文件以Append方式時(shí),新的文件內(nèi)容將被添加到文件尾部;★如果源文件是數(shù)值類型,那么讀寫文件如下所示:Dima<10>AsIntegerOpenApp.Path&"\文件名<In.txt>"ForInputAs#文件號<#1>Fori=1To10Input#文件號,a<i>…NextiClose#文件號寫文件格式:OpenApp.Path&"\文件名<Out.txt>"ForOutput<Append>As#文件號<#1>Fori=1To10Print#文件號,a<i>NextiClose#文件號例題:〔1在考生文件夾下有文件in5.txt,文件中有字符串"0&1%$s#2&3!45u6ydf7ff8|{9er"。請?jiān)贔orml的窗體上畫一個(gè)文本框,名稱為Text1,能顯示多行;在畫一個(gè)命令按鈕,名稱為Cl,標(biāo)題為"存盤"。編寫適當(dāng)?shù)氖录^程,使得在加載窗體時(shí),把in5.txt文件的內(nèi)容中數(shù)字字符顯示在文本框里。然后單擊"存盤"按鈕,把文本框中的內(nèi)容存到文件out5.txt中。如圖所示:根據(jù)題目要求,所編寫程序如下:〔2在考生文件下有文件in.txt,文件有10個(gè)數(shù)據(jù):123521362821400300710990120500.請?jiān)贔orml的窗體上畫一個(gè)文本框,名稱為Text1,能顯示多行;在畫一個(gè)命令按鈕,名稱為Cl,標(biāo)題為"存盤"。編寫適當(dāng)?shù)氖录^程,使得在加載窗體時(shí),把in5.txt文件的內(nèi)容顯示在文本框里,然后統(tǒng)計(jì)10個(gè)數(shù)的最大數(shù)、最小數(shù)和它們的和,并把最大數(shù)、最小數(shù)和它們的和寫到"out.txt"文件中。如圖所示:根據(jù)題目要求,所編寫程序如下:VisualBasic程序設(shè)計(jì)基礎(chǔ)知識(shí)要點(diǎn)〔程序設(shè)計(jì)篇全國計(jì)算機(jī)等級考試中常用的程序編程部分:求最大數(shù)、最小數(shù)、求和以及求平均數(shù)求階層求最大公約數(shù)求素?cái)?shù)求水仙花數(shù)〔拆數(shù)法排序〔選擇排序、直接插入排序和冒泡排序字符操作字符串取反〔反向輸出字符串判斷字符串中的某個(gè)字符是否為字母統(tǒng)計(jì)每類字符的個(gè)數(shù)矩陣求法〔二維數(shù)組文件讀寫操作字符型讀寫操作數(shù)值型讀寫操作九大問題具體例子分析:一、求最大數(shù)、最小數(shù)、求和以及求平均數(shù)例題:隨機(jī)產(chǎn)生10個(gè)兩位整數(shù),并存入數(shù)據(jù)a中,然后分別求10個(gè)元素中的最大數(shù)、最小數(shù)、求10個(gè)元素之和以及它們的平均數(shù)。PrivateSubCommand1_Click<>Dima<10>AsInteger,iAsInteger,MaxAsInteger,MinAsIntegerDimSumasInteger,AvgAsSingleSum=0Fori=1To10a<i>=Int<Rnd*90>+10’產(chǎn)生10—NextiMax=a<1>:Min=a<1>’假設(shè)最大數(shù)和最小數(shù)Fori=1To10IfMax<a<i>Then’求最大數(shù)Max=a<i>EndIfIfMin>a<i>Then’求最小數(shù)Min=a<i>ThenEndifSum=Sum+a<i>’求和NextiAvg=Sum/10’Print"最大數(shù):";Max;"最小數(shù):";Min;"和:";Sum;"平均數(shù):";AvgEndSub二、求階層例題:求10!.PrivateSubCommand1_Click<>DimSumAsLong,iAsIntegerSum=1Fori=1To10Sum=Sum*iNextiPrint"10!=";SumEndSub三、求最大公約數(shù)例題:求M和N兩個(gè)數(shù)的最大公約數(shù)。PrivateSubCommand1_Click<>DimMAsInteger,NAsInteger,RAsIntegerM=36:N=24DoR=MModNM=NN=RLoopWhileR<>0’Print"M和N的最大公約數(shù)為:";MEndSub四、求素?cái)?shù)例題:求100—200之間的所有素?cái)?shù),并按每行5個(gè)元素格式輸入所有素?cái)?shù)。PrivateSubCommand1_Click<>DimnAsInteger,iAsIntegerjAsIntegerForn=100To200Fori=2Ton-1’n-1可以是n/2,也可以是Sqr<n>形式NextiIfi>n-1Thenj=j+1’Printn;IfjMod5=0ThenPrint’輸出5個(gè)數(shù)換行EndIfNextnEndSub五、求水仙花數(shù)〔拆數(shù)法例題:求100—999之間的所有水仙花數(shù),并將所有水仙花數(shù)在文本框中顯示。所謂水仙花數(shù):即153=1^3+5^3+3^3條件成立。方法1:〔數(shù)值型:使用運(yùn)算符Mod和\PrivateSubCommand1_Click<>DimiAsInteger,aAsInteger,bAsInteger,cAsIntegerFori=100To999a=i\100’b=i\10Mod10’c=iMod10’Ifi=a^3+b^3+c^3ThenText1.Text=Text1.Text&i&Space<2>EndIfNextiEndSub方法2:〔字符型:使用函數(shù)Mid、Val和CStrPrivateSubCommand1_Click<>DimiAsInteger,aAsInteger,bAsInteger,cAsIntegerFori=100To999a=Val<Mid<Cstr<i>,1,1>>’取百位數(shù)b=Val<Mid<Cstr<i>,2,1>>’取十位數(shù)c=Val<Mid<Cstr<i>,3,1>>’取個(gè)位數(shù)Ifi=a^3+b^3+c^3ThenText1.Text=Text1.Text&i&Space<2>EndIfNextiEndSub六、排序問題例題:隨機(jī)產(chǎn)生10個(gè)兩位整數(shù),并存入數(shù)據(jù)a中,然后將這10個(gè)元素從小到大排序〔或從大到小,并將排序號的數(shù)組顯示在文本框中。方法1:選擇排序PrivateSubCommand1_Click<>Dima<10>AsInteger,iAsInteger,jAsInteger,tempAsIntegerFori=1To10a<i>=Int<Rnd*90>+10’產(chǎn)生10—NextiFori=1To9’Forj=i+1To10’Ifa<i>>a<j>Then’從大到?。篴<i><a<j>temp=a<i>a<i>=a<j>a<j>=tempEndIfNextjNextiFori=1To10Text1.Text=Text1.Text&a<i>&space<2>NextiEndSub方法2:直接插入排序PrivateSubCommand1_Click<>Dima<10>AsInteger,iAsInteger,jAsInteger,tempAsIntegerDimPointerAsIntegerFori=1To10a<i>=Int<Rnd*90>+10’產(chǎn)生10—NextiFori=1To9’Pointer=iForj=i+1To10’Ifa<Pointer>>a<j>ThenPointer=jNextjIfi<>PointerThentemp=a<i>a<i>=a<j>a<j>=tempEndIfNextiFori=1To10Text1.Text=Text1.Text&a<i>&space<2>NextiEndSub方法1:冒泡排序PrivateSubCommand1_Click<>Dima<10>AsInteger,iAsInteger,jAsInteger,tempAsIntegerFori=1To10a<i>=Int<Rnd*90>+10’產(chǎn)生10—NextiFori=1To9’Forj=1To10-i’每一輪比較幾次Ifa<j>>a<j+1>Then’從大到?。篴<i><a<j>temp=a<j>a<j>=a<j+1>a<j+1>=tempEndIfNextjNextiFori=1To10Text1.Text=Text1.Text&a<i>&space<2>NextiEndSub七、字符操作1、字符串取反例題:在文本框中輸入一個(gè)字符串,比如:ABCDEFGH,然后反向輸出,結(jié)果為:HGFEDCBA。PrivateSubCommand1_Click<>DimsAsString,nAsInteger,iAsIntegern=Len<Text1.Text>Fori=nTo1Step-1'Fori=1Tons=s+Mid<Text1.Text,i,1>'s=Mid<Text1.Text,i,1>+sNextiPrintsEndSub2、判斷字符串中的某個(gè)字符是否為字母例題:在文本框中輸入一個(gè)字符串,比如:A$4Ch&*Fiy%41H,輸出字符串中的所有字母,結(jié)果為:A4ChFiyH。PrivateSubCommand1_Click<>DimsAsString,nAsInteger,iAsInteger,cAsStringn=Len<Text1.Text>Fori=1Tonc=Mid<Text1.Text,i,1>Ifc>="A"Andc<="Z"Orc>="a"Andc<="z"Thens=s+cEndIfNextiPrintsEndSub3、統(tǒng)計(jì)每類字符的個(gè)數(shù)例題:在文本框中輸入一個(gè)字符串,比如:A$m4Ch&*F13iy%p41H,請分別統(tǒng)計(jì)出大寫字母、小寫字母、數(shù)字字符和其他字符的個(gè)數(shù)。PrivateSubCommand1_Click<>DimnAsInteger,iAsInteger,cAsStringDimn1AsInteger,n2AsInteger,n3AsInteger,n4AsIntegern=Len<Text1.Text>Fori=1Tonc=Mid<Text1.Text,i,1>SelectCasecCase"A"To"Z"n1=n1+1Case"a"To"z"n2=n2+1Case"0"To"9"n3=n3+1CaseElsen4=n4+1EndSelectNextiPrint"大寫字母個(gè)數(shù):";n1;"小寫字母個(gè)數(shù):";n2;"數(shù)字字符個(gè)數(shù):";n3;"其他字符個(gè)數(shù):";n4EndSub八、矩陣〔二維數(shù)組對比圖對比圖四種矩陣的算法:〔圖形表示圖①圖②圖③圖④例題:有一個(gè)4行4列二維數(shù)組,現(xiàn)隨機(jī)生成16個(gè)兩位整數(shù),并將它們存入到二維數(shù)組中,現(xiàn)根據(jù)以上四種圖形分別求主對角線、副對角線、外圈數(shù)據(jù)以及內(nèi)圈數(shù)據(jù)之和。第一種矩陣算法:〔主對角線PrivateSubCommand1_Click<>Dima<4,4>AsInteger,iAsInteger,jAsIntegerDimsumAsIntegerFori=1To4Forj=1To4a<i,j>=Int<Rnd*90>+10NextjNextiFori=1To4Forj=1To4Ifi=jThen'行下標(biāo)和列下標(biāo)相同sum=sum+a<i,j>EndIfNextjNextiPrint"主對角線數(shù)據(jù)之和";sumEndSub第二種矩陣算法:〔副對角線PrivateSubCommand1_Click<>Dima<4,4>AsInteger,iAsInteger,jAsIntegerDimsumAsIntegerFori=1To4Forj=1To4a<i,j>=Int<Rnd*90>+10NextjNextiFori=1To4Forj=1To4Ifi+j=5Then'行下標(biāo)和列下標(biāo)之和是一個(gè)定數(shù)sum=sum+a<i,j>EndIfNext
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 同步優(yōu)化設(shè)計(jì)2024年高中數(shù)學(xué)第一章直線與圓1.4兩條直線的平行與垂直課后篇鞏固提升含解析北師大版選擇性必修第一冊
- 專題11 課外閱讀(講義+試題) -2023年三升四語文暑假銜接課(統(tǒng)編版)
- 2024貸款購銷合同范本范文
- 2024養(yǎng)豬場轉(zhuǎn)讓合同(參考文本)
- 草藥基地合同范本(2篇)
- 2022年監(jiān)理合同(2篇)
- 關(guān)于試用期工作總結(jié)
- 頑固皮膚病康復(fù)經(jīng)驗(yàn)分享
- 國際會(huì)展中心建設(shè)總承包合同
- 跨境電商快遞租賃合同
- 2024版《隱患排查標(biāo)準(zhǔn)手冊》(附檢查依據(jù))
- DB11/1950-2021-公共建筑無障礙設(shè)計(jì)標(biāo)準(zhǔn)
- 鍍鋅線專業(yè)詞匯表
- 股權(quán)代持股東會(huì)決議
- 第17課 盼 六年級語文上冊同步分層作業(yè)設(shè)計(jì)系列(統(tǒng)編版)
- 文化旅游安全培訓(xùn)
- 數(shù)字技術(shù)在幼兒科學(xué)教育中的應(yīng)用與實(shí)踐
- 初中物理光學(xué)難題難度含解析答案
- 2024年中國民航科學(xué)技術(shù)研究院社會(huì)招聘工作人員16人歷年高頻考題難、易錯(cuò)點(diǎn)模擬試題(共500題)附帶答案詳解
- 公平競爭審查制度實(shí)施細(xì)則
- 燃煤鍋爐作業(yè)安全操作規(guī)程
評論
0/150
提交評論