全國計(jì)算機(jī)等級考試復(fù)習(xí)資料全_第1頁
全國計(jì)算機(jī)等級考試復(fù)習(xí)資料全_第2頁
全國計(jì)算機(jī)等級考試復(fù)習(xí)資料全_第3頁
全國計(jì)算機(jī)等級考試復(fù)習(xí)資料全_第4頁
全國計(jì)算機(jī)等級考試復(fù)習(xí)資料全_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論