




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
全國(guó)計(jì)算機(jī)等級(jí)考試輔導(dǎo)材料VisualBasic程序設(shè)計(jì)基礎(chǔ)沖刺階段要點(diǎn)(必考知識(shí)點(diǎn)梳理與總結(jié))VisualBasic程序設(shè)計(jì)基礎(chǔ)知識(shí)要點(diǎn)(概念分析篇)知識(shí)點(diǎn)1:在工程資源管理器窗口中可以包含:工程文獻(xiàn)、窗體模塊文獻(xiàn)、標(biāo)準(zhǔn)模塊文獻(xiàn)和類模塊文獻(xiàn)(其中可以包含許多各種文獻(xiàn)類型)。VisualBasic應(yīng)用程序可以以解釋方式執(zhí)行和編譯方式執(zhí)行。例題:(1)以下敘述中錯(cuò)誤的是AA.在工程資源管理器窗口中只能包含一個(gè)工程文獻(xiàn)及屬于該工程的其他文獻(xiàn)。B.以.bas為擴(kuò)展名的文獻(xiàn)是標(biāo)準(zhǔn)模塊文獻(xiàn)。C.窗體文獻(xiàn)包含該窗體及其控件的屬性。D.一個(gè)工程中可以有多個(gè)標(biāo)準(zhǔn)模塊文獻(xiàn)。(2)以下敘述中錯(cuò)誤的是CA.打開(kāi)一個(gè)工程文獻(xiàn)時(shí),系統(tǒng)自動(dòng)裝入與該工程有關(guān)的窗體、標(biāo)準(zhǔn)模塊等文獻(xiàn)。B.保存VisualBasic程序時(shí),應(yīng)分別保存窗體文獻(xiàn)及工程文獻(xiàn)。C.VisualBasic應(yīng)用程序只能以解釋方式執(zhí)行。D.事件可以由用戶引發(fā),也可以由系統(tǒng)引發(fā)。知識(shí)點(diǎn)2:窗體和各種控件的名稱(Name)是唯一的,用來(lái)標(biāo)記一個(gè)窗體或控件的。而窗體和控件的標(biāo)題是用來(lái)說(shuō)明的,是可有可無(wú)的。各種控件之間有部分相同的屬性,并不是擁有所有屬性。控件有些屬性只能在屬性窗口中設(shè)立,但也有少數(shù)屬性只能在代碼狀態(tài)設(shè)立。Form1.Hide方法和UnloadForm1方法的區(qū)別:第一個(gè)方法窗體消失但仍存在于內(nèi)存中;第二個(gè)方法窗體消失并不存在于內(nèi)存中。例題:(1)以下敘述中對(duì)的的是AA.窗體的Name屬性指定窗體的名稱,用來(lái)標(biāo)記一個(gè)窗體。B.窗體的Name屬性的值是顯示在窗體標(biāo)題欄中的文本。C.可以在運(yùn)營(yíng)期間改變對(duì)象的Name屬性的值。D.對(duì)象的Name屬性值可認(rèn)為空。(2)以下敘述中錯(cuò)誤的是CA.VisualBasic是事件驅(qū)動(dòng)型可視化編輯工具。B.VisualBasic應(yīng)用程序不具有明顯的開(kāi)始和結(jié)束語(yǔ)句。C.VisualBasic工具箱中的所有控件都具有Width和Height屬性。D.VisualBasic中控件的某些屬性只能在運(yùn)營(yíng)時(shí)設(shè)立。知識(shí)點(diǎn)3:標(biāo)簽(Label1):Autosize的True屬性可以自動(dòng)調(diào)整標(biāo)簽的大小,而False屬性不能。文本框(Text1):1、MaxLength屬性表達(dá)文本框所能容納的字符數(shù)。2、Passwordchar屬性表達(dá)口令輸入,可以是“*”或“?”等。設(shè)立文本框輸入字符為“*”:Text1.Passwordchar="*",還原文本框字符:Text1.Passwordchar="",3、ScrollBars屬性是表達(dá)文本框有垂直或水平滾動(dòng)條,但是需要和多行屬性MultiLine結(jié)合一起使用。4、SelLength屬性是表達(dá)文本框中被選中字符的個(gè)數(shù):Text1.SelLength。SelStart屬性返回或設(shè)立文本框中所選擇的文本的起始點(diǎn);假如沒(méi)有文本被選中,則指出插入點(diǎn)的位置:Text1.SelStart。SelText屬性是表達(dá)文本框中被選中的字符:Text1.SelText。5、文本的重要事件是Change事件:(標(biāo)簽內(nèi)容隨文本框內(nèi)容變化而變化)PrivatesubText1_Change()Label1.caption=Text1.TextEndsub6、文本框的方法只有一個(gè):Text1.SetFocus例題:(1)可以獲得一個(gè)文本框中被選取文本的內(nèi)容的屬性是CA.TextB.SelLengthC.SelTextD.SelStrart(2)在窗體上畫(huà)一個(gè)文本框(其名稱為T(mén)ext1)和標(biāo)簽(其名稱為L(zhǎng)abel1)。規(guī)定程序運(yùn)營(yíng)后,假如在文本框中輸入字符,則立即在標(biāo)簽中顯示相同的內(nèi)容。以下可以實(shí)現(xiàn)上述操作的事件過(guò)程是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屬性為T(mén)rue時(shí),按回車(chē)鍵和單擊該命令按鈕的效果相同。2、Cancel屬性:當(dāng)一個(gè)命令按鈕的Cancel屬性為T(mén)rue時(shí),按ESC鍵和單擊該命令按鈕的效果相同。(4)單選按鈕和復(fù)選框(Option1和Check1):1、單選按鈕:Value屬性的值是True(選中)和False(未選中),Option1.Value=True與Option1.Value意義同樣。2、復(fù)選框:Value屬性的值是0(未選中)、1(選中)和2(表達(dá)暫時(shí)不可用)。若編成Check1.Value=False可以用,但Check1.Value=True不可用(由于True只能轉(zhuǎn)化數(shù)值-1而不是1)。(5)列表框(List1):1、List屬性是一個(gè)數(shù)組型屬性:List1.List(索引),索引可以是數(shù)字0、1…,List1.listindex,變量i(List1.Text等同于List1.list(List1.listindex))。2、MultiSelect屬性:用來(lái)設(shè)立一次可以多選的表項(xiàng)數(shù)。MultiSelect屬性值為0時(shí),每次只能選擇一項(xiàng);MultiSelect屬性值為1時(shí),可以同時(shí)選擇多個(gè)項(xiàng)目;MultiSelect屬性值為2時(shí),可以用輔助鍵Shift或Ctrl選擇多個(gè)項(xiàng)目。3、常用方法:a.AddItem方法表達(dá)添加的是一個(gè)項(xiàng)目,語(yǔ)法為:對(duì)象名.AddItem<添加內(nèi)容>b.RemoveItem方法表達(dá)通過(guò)刪除索引的方式刪除項(xiàng)目,語(yǔ)法為:對(duì)象名.RemoveItem<索引>索引可以是數(shù)字0、1…,List1.ListIndex,變量i。假如要?jiǎng)h除當(dāng)前被選中的項(xiàng)目,其代碼可寫(xiě)成:對(duì)象名.RemoveItem對(duì)象名.List1.ListIndexc.Clear方法表達(dá)清除列表框中所有的內(nèi)容,語(yǔ)法為:對(duì)象名.Clear。(6)組合框(Combo1):1、Style屬性:Style屬性值為0時(shí),表達(dá)下拉式組合框;Style屬性值為1時(shí),表達(dá)下簡(jiǎn)樸組合框;Style屬性值為2時(shí),表達(dá)下拉式列表框。其他功能類似列表框(List1)。(7)圖片框和圖像框(Picture1和Image1):1、圖片框(Picture1):Autosize屬性值為T(mén)rue時(shí),表達(dá)圖片框大小隨圖片大小改變而改變;AutoSize屬性值為False時(shí),表達(dá)圖片框只能部分顯示大圖片。2、圖像框(Image1):Stretch屬性為T(mén)rue時(shí),圖片大小隨圖像框的大小改變而改變;Stretch屬性為T(mén)rue時(shí),圖像框的大小隨圖片大小的改變而改變。3、兩種圖形類型都可以按照下面這個(gè)方法加載圖片:Picture1.picture=LoadPicture(App.Path&"\圖片名稱.擴(kuò)展名")Image1.picture=LoadPicture(App.Path&"\圖片名稱.擴(kuò)展名")注:“圖片名稱”前的“\”不能省。假如要清除圖片:Picture1.Picture=LoadPicture("")Image1.Picture=LoadPicture("")注意:假如使用App.Path方法需要先保存好窗體文獻(xiàn)和工程文獻(xiàn)到考生文獻(xiàn)夾中。(8)滾動(dòng)條(HScroll1):1、Max和Min屬性是分別表達(dá)滾動(dòng)條的最大和最小刻度,刻度值用Value屬性值來(lái)表達(dá):HScroll1.Value。2、LargeChange和SmallChange屬性是分別表達(dá)移動(dòng)滾動(dòng)條上的左右箭頭按鈕的移動(dòng)量和移動(dòng)滾動(dòng)條上滾動(dòng)框的移動(dòng)量。3、Scroll和Change事件分別表達(dá)拖動(dòng)滾動(dòng)條上滾動(dòng)框的操作和單擊滾動(dòng)條上箭頭按鈕的操作。(9)計(jì)時(shí)器(Timer1):1、Enabled屬性:Enabled屬性值為T(mén)rue時(shí),表達(dá)計(jì)時(shí)器可以走動(dòng);Enabled屬性值為False時(shí),表達(dá)計(jì)時(shí)器停止走動(dòng);2、Interval屬性:是表達(dá)計(jì)時(shí)器運(yùn)動(dòng)的時(shí)間間隔,單位為毫秒。時(shí)間間隔若為1秒,則代碼為T(mén)imer1.Interval=1000。3、Enabled和Interval這兩個(gè)屬性一般情況下需要一起使用。4、計(jì)時(shí)器只有一個(gè)事件,即Timer,是指每通過(guò)一個(gè)時(shí)間間隔(Interval)所觸發(fā)的事件。知識(shí)點(diǎn)4:(1)VisualBasic常用函數(shù)的使用方法:1、數(shù)學(xué)函數(shù):★求平方根:Sqr(n)★求自然對(duì)數(shù)Log(n)lnnlog78=loge8/loge7(注意非e為底的對(duì)數(shù)需要如此轉(zhuǎn)換)★求以e為底的冪值,exexExp(x)1n>0★Sqn(n)=0n=0★Rnd()-->X=Int(Rnd*(上界—下界+1))+下界(產(chǎn)生隨機(jī)整數(shù)),注意Rnd函數(shù)的取值范圍是[0,0)。如設(shè)取0~1000的隨機(jī)整數(shù),涉及0和1000,則代碼為Int(Rnd*1001);不涉及0和1000,則代碼為Int(Rnd*999+1)。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"這樣轉(zhuǎn)換12.75之前不會(huì)多余一位?!颲al(x)字符x轉(zhuǎn)換成數(shù)值,但x要一定是數(shù)字字符才行,Val(“12.75”)=12.75,假如是具有其他字符Val("12.7ab")將無(wú)法轉(zhuǎn)換?!顲hr(x)返回以x為ASCII字符Chr(97)="a";Asc(x)給出字符x的ASCII代碼值A(chǔ)sc("A")=65三種類型ASCII代碼值轉(zhuǎn)換:Asc("0")~Asc("9")-48~57Asc("A")~Asc("Z")-65~90Asc("a")~Asc("z")-97~122特殊情況:Asc("ABC")=65只求第一個(gè)字符"A"的Ascii代碼值★注意Int(x)、Fix(x)與CInt(x)的區(qū)別Int(x)取小于等于x的最大整數(shù)當(dāng)x>0時(shí),用法和Fix同樣;當(dāng)x<0時(shí),Int(-12.3)=-13;Fix(x)將數(shù)值型數(shù)據(jù)x的小數(shù)部分舍去Fix(12.8)=12Fix(-12.5)=-12;CInt(x)將數(shù)值型數(shù)據(jù)x的小數(shù)部分四舍五入CInt(12.7)=13CInt(12.3)=12但是有特殊情況:x當(dāng)x是偶數(shù),如CInt(-6.5)=-6CInt(x.5)=x+1當(dāng)x是奇數(shù),如CInt(7.5)=7+1=83、字符函數(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è)位置開(kāi)始向右起取n2個(gè)字符;Mid(x,n)從字符串x左邊第n個(gè)位置開(kāi)始向右所有??;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)先級(jí):^>-->(*/)>\>Mod>(+--)★關(guān)系運(yùn)算符<<=>>==<>LikeIs運(yùn)算符優(yōu)先級(jí)相同★邏輯運(yùn)算符運(yùn)算符的優(yōu)先級(jí):Not>And>Or>Xor>Eqv例題:(1)表達(dá)式4+5\6*7/8Mod9的值是BA.4B.5C.6D.7(2)a=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í)行下列語(yǔ)句后,將顯示輸入對(duì)話框,此時(shí)假如單擊“擬定”按鈕,則變量StrInput的內(nèi)容是C。StrInput=InputBox("請(qǐng)輸入字符串","字符串對(duì)話框","字符串")A."請(qǐng)輸入字符串"B."字符串對(duì)話框"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]之間取值。比如:?jiǎn)螕簟皵M定”按鈕,A=1。例題:以上圖形所表達(dá)的函數(shù)表達(dá)式為:MsgBox"請(qǐng)輸入查詢的學(xué)生學(xué)號(hào):",3+32+256,"學(xué)生基本信息查詢"知識(shí)點(diǎn)7:1、選擇結(jié)構(gòu)語(yǔ)句(If條件語(yǔ)句):★單分支條件語(yǔ)句:格式:①I(mǎi)f條件Then語(yǔ)句塊EndIf(稱If塊語(yǔ)句)②If條件Then只有一條語(yǔ)句(稱If條語(yǔ)句)★雙分支條件語(yǔ)句:格式:If條件Then語(yǔ)句塊1Else語(yǔ)句塊2EndIf★多分支條件語(yǔ)句If條件1Then語(yǔ)句塊1ElseIf條件2Then語(yǔ)句塊2。。。。。。Else語(yǔ)句塊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á)式。(2)下列程序段的執(zhí)行結(jié)果為BX=2Y=1Ifx*y<1Theny=y-1Elsey=-1Printy-x>0A.TrueB.FalseC.-1D.1以上題中的“條件”重要是關(guān)系表達(dá)式。(3)下列程序段的執(zhí)行結(jié)果為CDimxAsIntegerIfxThenPrintxElsePrintx-1A.1B.0C.-1D.不擬定以上題中的“條件”重要是變量。2、選擇結(jié)構(gòu)語(yǔ)句(SelectCase語(yǔ)句):SelectCase測(cè)試表達(dá)式Case表達(dá)式列表1語(yǔ)句塊1Case表達(dá)式列表2語(yǔ)句塊2。。。。。。CaseElse語(yǔ)句塊nEndSelect注意:測(cè)試表達(dá)式的類型只能是數(shù)值型數(shù)據(jù)或字符型數(shù)據(jù),表達(dá)式列表的值只要第一個(gè)符合測(cè)試表達(dá)式值的規(guī)定,就結(jié)束SelectCase語(yǔ)句;表達(dá)式列表可以是三種結(jié)構(gòu)或三種混合結(jié)構(gòu):①、1To10②、1,3,5,6,7,8③、Is>10④、1,2,5,7,Is>10例題:(1)在窗體上畫(huà)一個(gè)名稱為Command1的命令按鈕和兩個(gè)名稱分別為T(mén)ext1和Text2的文本框,然后編寫(xiě)如下事件過(guò)程:PrivateSubCommand1_Click()n=Text1.TextSelectCasenCase1T10X=10Case2,4,6X=20CaseIs<10X=30Case10X=40EndSelectText2.Text=xEndSub程序運(yùn)營(yíng)后,假如在文本框Text1中輸入10,然后單擊命令按鈕,則在Text2中顯示的內(nèi)容是AA.10B.20C.30D.403、選擇結(jié)構(gòu)語(yǔ)句(IIF函數(shù)):變量=IIF(條件,參數(shù)1,參數(shù)2)其中,條件可以是:關(guān)系表達(dá)式(a>5)、邏輯表達(dá)式(a>5Andc>4)、變量(i)或常數(shù)(0)。執(zhí)行過(guò)程:條件成立,變量的值就是“參數(shù)1”,否則變量的值就是“參數(shù)2”。例題:(1)設(shè)a=6,則執(zhí)行語(yǔ)句: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步長(zhǎng)循環(huán)體If條件Then語(yǔ)句ExitForEndIfNext循環(huán)變量注意:循環(huán)假如正常退出時(shí)(沒(méi)有執(zhí)行ExitFor語(yǔ)句),那么循環(huán)變量必須要大于終值或等于終值+步長(zhǎng)。DoDo循環(huán)體LoopWhile條件②DoWhile條件循環(huán)體LoopDo循環(huán)體LoopUntil條件Do循環(huán)體LoopUntil條件DoUntil條件循環(huán)體Loop注意:左邊上下兩種循環(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組語(yǔ)句和B語(yǔ)句都在X循環(huán)內(nèi),并且是并列的,所以可以先計(jì)算B組語(yǔ)句,A組語(yǔ)句暫時(shí)不算,這樣很容易求出u=u+1語(yǔ)句循環(huán)了三次,則u=3;C組語(yǔ)句和D語(yǔ)句都在Y循環(huán)內(nèi),并且是并列的,所以可以先計(jì)算D組語(yǔ)句,C組語(yǔ)句暫時(shí)不算,這樣也比較容易求出t=t+1語(yǔ)句循環(huán)了六次,則t=6;然后再結(jié)合答案不久就能得出答案是選B。知識(shí)點(diǎn)9:1、數(shù)組:①數(shù)組的概念★等級(jí)考試重要考一維數(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ù)語(yǔ)句OptionBasen來(lái)決定:當(dāng)n=0時(shí),數(shù)組下標(biāo)下界是從0開(kāi)始;當(dāng)n=1時(shí),數(shù)組下標(biāo)下界是從1開(kāi)始?!飻?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(4)=5★注意:假如數(shù)組被定義為以下三種類型,(1)數(shù)值型(2)字符型(3)邏輯型,則它們初始化的數(shù)組元素?cái)?shù)值分別為:0、空字符串和False。例題:(1)在窗體上畫(huà)一個(gè)命令按鈕(其N(xiāo)ame屬性為Command1),然后編寫(xiě)如下代碼:PrivateSubCommand1_Click()Dima(4,4)AsIntegerFori=1To4Forj=1To4a(i,j)=(i-1)*3+jNextjNextiFori=3To4Forj=3To4Printa(j,i)NextjPrintNextiEndSub程序運(yùn)營(yíng)后,單擊命令按鈕,其輸出結(jié)果為D。A.69B.710C.811D.9127108119121013分析:對(duì)循環(huán)和數(shù)組結(jié)合的問(wèn)題,往往要先看B組語(yǔ)句輸出結(jié)果是什么,然后根據(jù)B組語(yǔ)句輸出結(jié)果代入到A組語(yǔ)句中求結(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、過(guò)程與函數(shù):★過(guò)程與函數(shù)的參數(shù)類型有:實(shí)參和形參;傳遞方式有:值傳遞和地址傳遞。★以下程序中,x,y為實(shí)參;a,b為形參注意:實(shí)參要與形參的類型、個(gè)數(shù)要相同?!镌谛螀,b之前假如加上關(guān)鍵字ByVal,那么就是按值傳遞;假如加上關(guān)鍵字ByRef或不加關(guān)鍵字,那么就是按地址傳遞。★過(guò)程調(diào)用方式有兩種:CallSwap(x,y)或Swapx,y(Swap是過(guò)程名)注意:只有地址傳遞方式才干實(shí)現(xiàn)互換功能,值傳遞方式x,y的值不變。當(dāng)有事件過(guò)程和通用過(guò)程一起運(yùn)營(yíng)時(shí),先執(zhí)行事件過(guò)程(Command_Click)。例題:(1)假定有如下的Sub過(guò)程:SubS(xAsSingle,ByValyasSingle)t=xx=t/yy=tModyEndSub在窗體上畫(huà)一個(gè)命令按鈕,其名稱為Command1,然后編寫(xiě)如下事件過(guò)程:PrivateSubCommand1_Click()DimaAsSingle,bAsSinglea=5:b=4Sa,bPrinta,bEndSub程序運(yùn)營(yíng)后,單擊命令按鈕,輸出結(jié)果為_(kāi)____C_____。A.54B.11C.1.254D.1.251程序分析:一方面形參x是地址傳遞方式,當(dāng)a傳遞給x時(shí),因此a與x擁有一個(gè)共同存儲(chǔ)空間,圖形表達(dá):;形參y是值傳遞方式,當(dāng)b傳遞給y時(shí),因此b與y是兩個(gè)不同存儲(chǔ)空間,圖形表達(dá):;那么在過(guò)程S中:運(yùn)算x=t/y后,x=1.25,圖形表達(dá);因此a的值就是1.25;運(yùn)算y=tMody后,y=1,圖形表達(dá):,由于此時(shí)b和y存儲(chǔ)空間不同,則不影響b的值,則還是4,因此Printa,b的結(jié)果就是選擇C答案。知識(shí)點(diǎn)11:1、菜單和鼠標(biāo)事件★菜單編輯器的使用:注意:菜單中的標(biāo)題可認(rèn)為空,但不管是第幾級(jí)菜單名稱必須唯一,且不能為空?!锸髽?biāo)事件(按下鼠標(biāo)鍵事件過(guò)程)重要事件有:Form_MouseDown、Form_MouseUp和Form_MouseMove?,F(xiàn)在以某個(gè)為例說(shuō)明:PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,_YAsSingle)…EndSub上述事件過(guò)程不僅使用在窗體上(Form_MouseDown),還可以使用于大多數(shù)控件上,涉及命令按鈕(Command1_MouseDown)或文本框(Text1_MouseDown)等。以上鼠標(biāo)事件過(guò)程的參數(shù),含義如下:(1)Button有值1、2和4,分別表達(dá)按下左鍵、右鍵和中建;(2)Shift表達(dá)Shift、Ctrl和Alt鍵的狀態(tài),其值分別是1、2和4;(3)X,Y表達(dá)鼠標(biāo)光標(biāo)的坐標(biāo)位置★彈出式菜單(菜單和鼠標(biāo)事件的結(jié)合使用)PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,_YAsSingle)IfButton=1Then‘按下鼠標(biāo)左鍵PopUpmenuFile‘通過(guò)PopUpmenu方法彈出菜單EndIf‘File是一級(jí)菜單的名稱EndSub運(yùn)營(yíng)效果:2、公共對(duì)話框(又稱通用對(duì)話框)★通用對(duì)話框是我們考試中唯一一個(gè)控件箱中沒(méi)有的控件,需要我們自己添加的,添加的方法是在“工程”菜單的“部件”項(xiàng)中選擇“MicrosoftCommonDialogControl6.0”后,才會(huì)在控件箱中出現(xiàn)通用對(duì)話框圖標(biāo)?!锿ㄓ脤?duì)話框圖形根據(jù)以上圖形,相應(yīng)的程序代碼如下:注意:CommonDialog.FilterIndex=索引(索引是從1開(kāi)始)知識(shí)點(diǎn)12:1、文獻(xiàn)文獻(xiàn)涉及三種:順序文獻(xiàn)、隨機(jī)文獻(xiàn)和二進(jìn)制文獻(xiàn)順序訪問(wèn):文獻(xiàn)中數(shù)據(jù)是以ASCII碼存儲(chǔ)的。隨機(jī)訪問(wèn):文獻(xiàn)長(zhǎng)度記錄是固定不變的,數(shù)據(jù)類型可以不同,數(shù)據(jù)以二進(jìn)制方式存儲(chǔ)在文獻(xiàn)中,可以任意時(shí)候,任意地方訪問(wèn)。二進(jìn)制訪問(wèn):必須知道數(shù)據(jù)是如何寫(xiě)入文獻(xiàn)的?!锛偃缭次墨I(xiàn)是字符類型,那么讀寫(xiě)文獻(xiàn)如下所示:a.讀文獻(xiàn)的格式:OpenApp.Path&"\文獻(xiàn)名(In.txt)"ForInputAs#文獻(xiàn)號(hào)(#1)DowhileNotEOF(文獻(xiàn)號(hào))Input#文獻(xiàn)號(hào),變量…LoopClose#文獻(xiàn)號(hào)或:OpenApp.Path&"\文獻(xiàn)名(In.txt)"ForInputAs#文獻(xiàn)號(hào)(#1)DowhileNotEOF(文獻(xiàn)號(hào))LineInput#文獻(xiàn)號(hào),變量…LoopClose#文獻(xiàn)號(hào)b.寫(xiě)文獻(xiàn)格式:OpenApp.Path&"\文獻(xiàn)名(Out.txt)"ForOutput/AppendAs#文獻(xiàn)號(hào)(#1)Print#文獻(xiàn)號(hào),變量Close#文獻(xiàn)號(hào)注意:當(dāng)寫(xiě)文獻(xiàn)以O(shè)utput方式時(shí),本來(lái)的文獻(xiàn)內(nèi)容將被覆蓋;當(dāng)寫(xiě)文獻(xiàn)以Append方式時(shí),新的文獻(xiàn)內(nèi)容將被添加到文獻(xiàn)尾部;★假如源文獻(xiàn)是數(shù)值類型,那么讀寫(xiě)文獻(xiàn)如下所示:a.讀文獻(xiàn)格式:一維數(shù)組:Dima(10)AsIntegerOpenApp.Path&"\文獻(xiàn)名(In.txt)"ForInputAs#文獻(xiàn)號(hào)(#1)Fori=1To10Input#文獻(xiàn)號(hào),a(i)…NextiClose#文獻(xiàn)號(hào)二維數(shù)組:Dima(10,5)AsIntegerOpenApp.Path&"\文獻(xiàn)名(In.txt)"ForInputAs#文獻(xiàn)號(hào)(#1)Fori=1To10Forj=1To5Input#文獻(xiàn)號(hào),a(i,j)…NextjNextiClose#文獻(xiàn)號(hào)b.寫(xiě)文獻(xiàn)格式:一維數(shù)組:OpenApp.Path&"\文獻(xiàn)名(Out.txt)"ForOutput/AppendAs#文獻(xiàn)號(hào)(#1)Fori=1To10Print#文獻(xiàn)號(hào),a(i)NextiClose#文獻(xiàn)號(hào)二維數(shù)組:OpenApp.Path&"\文獻(xiàn)名(Out.txt)"ForOutput/AppendAs#文獻(xiàn)號(hào)(#1)Fori=1To10Forj=1To5Print#文獻(xiàn)號(hào),a(i,j)NextjNextiClose#文獻(xiàn)號(hào)例題:(1)在考生文獻(xiàn)夾下有文獻(xiàn)in5.txt,文獻(xiàn)中有字符串"0&1%$s#2&3!45u6ydf7ff@8|{9er"。請(qǐng)?jiān)贔orml的窗體上畫(huà)一個(gè)文本框,名稱為T(mén)ext1,能顯示多行;再畫(huà)一個(gè)命令按鈕,名稱為Cl,標(biāo)題為“存盤(pán)”。編寫(xiě)適當(dāng)?shù)氖录^(guò)程,使得在加載窗體時(shí),把in5.txt文獻(xiàn)的內(nèi)容中數(shù)字字符顯示在文本框里。然后單擊“存盤(pán)”按鈕,把文本框中的內(nèi)容存到文獻(xiàn)out5.txt中。如圖所示:根據(jù)題目規(guī)定,所編寫(xiě)程序如下:(2)在考生文獻(xiàn)下有文獻(xiàn)in.txt,文獻(xiàn)有10個(gè)數(shù)據(jù):123521362821400300710990120500.請(qǐng)?jiān)贔orml的窗體上畫(huà)一個(gè)文本框,名稱為T(mén)ext1,能顯示多行;再畫(huà)一個(gè)命令按鈕,名稱為Cl,標(biāo)題為“存盤(pán)”。編寫(xiě)適當(dāng)?shù)氖录^(guò)程,使得在加載窗體時(shí),把in5.txt文獻(xiàn)的內(nèi)容顯示在文本框里,然后記錄10個(gè)數(shù)的最大數(shù)、最小數(shù)和它們的和,并把最大數(shù)、最小數(shù)和它們的和寫(xiě)到“out.txt”文獻(xiàn)中。如圖所示:根據(jù)題目規(guī)定,所編寫(xiě)程序如下:
VisualBasic程序設(shè)計(jì)基礎(chǔ)知識(shí)要點(diǎn)(程序設(shè)計(jì)篇)全國(guó)計(jì)算機(jī)等級(jí)考試中常用的程序編程部分:九大問(wèn)題具體例子分析:一、求最大數(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—99之間的隨機(jī)整數(shù)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)EndifSum=Sum+a(i)’求和NextiAvg=Sum/10’求平均數(shù)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’或LoopUntilR=0Print"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)形式IfnModi=0ThenExitForNextiIfi>n-1Thenj=j+1’記錄素?cái)?shù)個(gè)數(shù)Printn;IfjMod5=0ThenPrint’輸出5個(gè)數(shù)換行EndIfNextnEndSub判斷素?cái)?shù)的函數(shù)過(guò)程:FunctionPrime(xAsInteger)AsBooleanDimIAsIntegerForI=2ToSqr(x)IfxModI=0ThenPrime=FalseEndIfNextIPrime=TrueEndFunction五、求水仙花數(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’取百位數(shù)b=i\10Mod10’取十位數(shù)c=iMod10’取個(gè)位數(shù)Ifi=a^3+b^3+c^3ThenText1.Text=Text1.Text&i&Space(2)EndIfNextiEndSub方法2:(字符型:使用函數(shù)Mid、Val和CStr)PrivateSubCommand1_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六、排序問(wèn)題例題:隨機(jī)產(chǎn)生10個(gè)兩位整數(shù),并存入數(shù)據(jù)a中,然后將這10個(gè)元素從小到大排序(或從大到小),并將排序號(hào)的數(shù)組顯示在文本框中。方法1:選擇排序PrivateSubCommand1_Click()Dima(10)AsInteger,iAsInteger,jAsInteger,tempAsIntegerFori=1To10a(i)=Int(Rnd*90)+10’產(chǎn)生10—99之間的隨機(jī)整數(shù)NextiFori=1To9’比較n-1輪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—99之間的隨機(jī)整數(shù)NextiFori=1To9’比較n-1輪Pointer=iForj=i+1To10’每一輪比較幾次Ifa(Pointer)>a(j)ThenPointer=jNextjIfi<>PointerThentemp=a(i)a(i)=a(Pointer)a(Pointer)=tempEndIfNextiFori=1To10Text1.Text=Text1.Text&a(i)&space(2)NextiEndSub方法3:冒泡排序PrivateSubCommand1_Click()Dima(10)AsInteger,iAsInteger,jAsInteger,tempAsIntegerFori=1To10a(i)=Int(Rnd*90)+10’產(chǎn)生10—99之間的隨機(jī)整數(shù)NextiFori=1To9’比較n-1輪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é)果為:AChFiyH。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、記錄每類字符的個(gè)數(shù)例題:在文本框中輸入一個(gè)字符串,比如:A$m4Ch&*F13iy%p41H,請(qǐng)分別記錄出大寫(xiě)字母、小寫(xiě)字母、數(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"大寫(xiě)字母?jìng)€(gè)數(shù):";n1;"小寫(xiě)字母?jìng)€(gè)數(shù):";n2;"數(shù)字字符個(gè)數(shù):";n3;"其他字符個(gè)數(shù):";n4EndSub八、矩陣(二維數(shù)組)對(duì)比圖對(duì)比圖四種矩陣的算法:(圖形表達(dá))圖①圖②圖③圖④例題:有一個(gè)4行4列二維數(shù)組,現(xiàn)隨機(jī)生成16個(gè)兩位整數(shù),并將它們存入到二維數(shù)組中,現(xiàn)根據(jù)以上四種圖形分別求主對(duì)角線、副對(duì)角線、外圈數(shù)據(jù)以及內(nèi)圈數(shù)據(jù)之和。第一種矩陣算法:(主對(duì)角線)PrivateSubCommand1_Click()Dima(4,4)AsInteger,iAsInteger,jAsIntegerDimsumAsIntegerFori=1To4Forj=1To4a(i,j)=Int(Rnd*90)+10Nextj NextiFori=1To4Forj=1To4Ifi=jThen'行下標(biāo)和列下標(biāo)相同sum=sum+a(i,j)EndIfNextj NextiPrint"主對(duì)角線數(shù)據(jù)之和";sumEndSub第二種矩陣算法:(副對(duì)角線)PrivateSubCommand1_Click()Dima(4,4)AsInteger,iAsInteger,jAsIntegerDimsumAsIntegerFori=1To4Forj=1To4a(i,j)=Int(Rnd*90)+10Nextj NextiFori=1To4Forj=1To4Ifi+j=5Then'行下標(biāo)和列下標(biāo)之和是一個(gè)定數(shù)sum=sum+a(i,j)EndIfNextj NextiPrint"副對(duì)角線數(shù)據(jù)之和";sumEndSub第三種矩陣算法:(外圈數(shù)據(jù))PrivateSubCommand1_Click()Dima(4,4)AsInteger,iAsInteger,jAsIntegerDimsumAsIntegerFori=1To4Forj=1To4a(i,j)=Int(Rnd*90)+10Nextj NextiFori=1To4Forj=1To4Ifi=1Ori=4thensum1=sum1+a(i,j)Elseifj=1Orj=4Thensum1=sum1+a(i,j)EndifNextj NextiPrint"外圍數(shù)據(jù)之和";sumEndSub第四種矩陣算法:(內(nèi)圈數(shù)據(jù))PrivateSubCommand1_Click()Dima(4,4)AsInteger,iAsInteger,jAsIntegerDimsum1AsInteger,sum2AsInteger,sumAsIntegerFori=1To4Forj=1To4a(i,j)=Int(Rnd*90)+10Nextj NextiFori=1To4Forj=1To4Ifi=1Ori=4thensum1=sum1+a(i,j)Elseifj=1Orj=4Thensum1=sum1+a(i,j)Endif'上句為求周邊元素和。sum=sum+a(i,j)'數(shù)組所有元素之和。Nextj NextiPrint"內(nèi)圍數(shù)據(jù)之和";sum-sum1EndSub九、文獻(xiàn)讀寫(xiě)操作1、字符型讀寫(xiě)數(shù)據(jù)見(jiàn)概念分析篇的知識(shí)點(diǎn)12有具體說(shuō)明。2、數(shù)值型讀寫(xiě)數(shù)據(jù)見(jiàn)概念分析篇的知識(shí)點(diǎn)12有具體說(shuō)明。3、綜合例題:a.通用對(duì)話框和讀寫(xiě)文獻(xiàn)結(jié)合使用在考生文獻(xiàn)夾下有一個(gè)工程文獻(xiàn)sjt5.vbp,其窗體上有一個(gè)文本框,名稱為T(mén)extl,可以多行顯示;有一個(gè)名稱為CD1的通用對(duì)話框;尚有三個(gè)命令按鈕,名稱分別為C1、C2、C3,標(biāo)題分別“打開(kāi)文獻(xiàn)”、“轉(zhuǎn)換”、“存盤(pán)”,如圖2-5所示。命令按鈕的功能是:“打開(kāi)文獻(xiàn)”——彈出打開(kāi)文獻(xiàn)對(duì)話框,默認(rèn)打開(kāi)文獻(xiàn)的類型“文本文獻(xiàn)”。選擇考生文獻(xiàn)夾下的in5.txt文獻(xiàn)后,該文獻(xiàn)中的內(nèi)容顯示在Text1中;“轉(zhuǎn)換”——把Text1中的所有小寫(xiě)英文字母裝換成大寫(xiě);“存盤(pán)”——把Text1中的內(nèi)容存入考生文獻(xiàn)夾下的out5.dat文獻(xiàn)中。在窗體中已經(jīng)給出了部分程序,規(guī)定:1)請(qǐng)去掉程序中的注釋符,把程序中的?改為對(duì)的的內(nèi)容。但不能修改程序中的其他部分,也不能修改控件的屬性。2)編寫(xiě)“轉(zhuǎn)換”按鈕的Click事件過(guò)程。最后把修改后的文獻(xiàn)按原文獻(xiàn)名存盤(pán)。注意:不得修改已有的程序和控件的屬性,必須對(duì)考生文獻(xiàn)夾下的in5.txt文獻(xiàn)進(jìn)行轉(zhuǎn)換,并把轉(zhuǎn)換結(jié)果通過(guò)“存盤(pán)”按鈕存入考生文獻(xiàn)夾下的out5.dat文獻(xiàn)中。圖2-5運(yùn)營(yíng)界面已有程序代碼如下:PrivateSubC1_Click()DimaAsStringCD1.Filter="所有文獻(xiàn)|*.*|文本文獻(xiàn)|*.txt|Word文獻(xiàn)|*.doc"CD1.FilterIndex=2CD1.Action=1'打開(kāi)通用對(duì)話框,此句也可認(rèn)為:CD1.ShowOpenOpenCD1.FileNameForInputAs#1'CD1.FileName是文獻(xiàn)途徑Input#1,aClose#1Text1.Text=aEndSubPrivateSubC3_Click()CD1.FileName="out5.dat"CD1.Action=2'保存通用對(duì)話框,此句也可認(rèn)為:CD1.ShowSaveOpenCD1.FileNameForOutputAs#1Print#1,Text1.TextClose#1EndSub考生需編寫(xiě)的代碼:PrivateSubC2_Click()Text1.Text=Ucase(Text1.Text)'小寫(xiě)字母轉(zhuǎn)換成大寫(xiě)字母的過(guò)程EndSubb.輸入數(shù)據(jù)、計(jì)算與存盤(pán)在考生文獻(xiàn)夾下有一個(gè)工程文獻(xiàn)sjt5.vbp,請(qǐng)先裝入該工程文獻(xiàn),然后完畢以下操作:在名稱為Form1的窗體上畫(huà)三個(gè)命令按鈕,其名稱分別為C1、C2和C3,標(biāo)題分別為“讀入數(shù)據(jù)”、“計(jì)算”和“存盤(pán)”(如圖16-5)所示。程序運(yùn)營(yíng)后,假如單擊“讀入數(shù)據(jù)”按鈕,則調(diào)用題目已提供的ReadData1和ReadData2過(guò)程讀入datain1.txt和datain2.txt文獻(xiàn)中的各20個(gè)整數(shù),分別放入Arr1和Arr2兩個(gè)數(shù)組中;假如單擊“計(jì)算”按鈕,則把兩個(gè)數(shù)組中相應(yīng)下標(biāo)的元素除以10并截尾取整后相乘,其結(jié)果放入第三個(gè)數(shù)組中(即:把第一個(gè)數(shù)組的第n個(gè)元素除以10并截尾取整,再把第二個(gè)數(shù)組的第n個(gè)元素除以10并截尾取整,兩者相乘后的結(jié)果作為第三個(gè)數(shù)組的第n個(gè)元素,這里的n為1、2、3……20),最后計(jì)算第三個(gè)數(shù)組中各元素之和,并把所求得的和在窗體上顯示出來(lái);假如單擊“存盤(pán)”按鈕,則調(diào)用題目中給出的WriteData過(guò)程將所求得的和存入考生文獻(xiàn)夾的dataout.txt文獻(xiàn)中。注意:考生不得修改窗體文獻(xiàn)中已經(jīng)存在的程序,必須把求得的結(jié)果用“存盤(pán)”按鈕存入考生文獻(xiàn)夾下的dataout.txt文獻(xiàn)中。最后把修改后的文獻(xiàn)以本來(lái)的文獻(xiàn)名存盤(pán)。圖16-5運(yùn)營(yíng)界面已有程序代碼如下:OptionBase1DimArr1(20)AsIntegerDimArr2(20)AsIntegerSubReadData1()OpenApp.Path&"\"&"datain1.txt"ForInputAs#1Fori=1To20Input#1,Arr1(i)NextiClose#1EndSubSubReadData2()OpenApp.Path&"\"&"datain2.txt"ForInputAs#1Fori=1To20Input#1,Arr2(i)NextiClose#1EndSubSubWriteData(FilenameAsString,NumAsInteger)OpenApp.Path&"\"&FilenameForOutputAs#1Print#1,NumClose#1EndSub考生需編寫(xiě)的程序代碼:DimsumAsIntegerPrivateSubC1_Click()ReadData1ReadData2EndSubPrivateSubC2_Click()DimiAsInteger,Arr3(20)AsIntegerFori=1To20Arr3(i)=Int(Arr1(i)/10)*Int(Arr2(i)/10)sum=sum+Arr3(i)NextiPrintsumEndSubPrivateSubC3_Click()WriteData"dataout.txt",sumEndSub注意:本題中的sum為模塊級(jí)變量。c.英文字母出現(xiàn)次數(shù)記錄在考生文獻(xiàn)夾下有一個(gè)工程文獻(xiàn)sjt5.vbp,窗體上有二個(gè)標(biāo)題分別為“讀數(shù)據(jù)”和“記錄”的命令按鈕和初始值為空、名稱分別為T(mén)ext1和Text2的二個(gè)文本框,如圖12-5所示。程序功能如下:1)單擊“讀數(shù)據(jù)”按鈕,則將考生文獻(xiàn)夾下in5.dat文獻(xiàn)的內(nèi)容(該文獻(xiàn)中僅具有字母和空格)顯示在Text1文本框中(此過(guò)程已給出);2)在Text1文本框中選中內(nèi)容后,單擊“記錄”按鈕,則記錄選中文本中出現(xiàn)次數(shù)最多的字母(不區(qū)分大小寫(xiě)),以大寫(xiě)形式在Text2文本框中顯示這些出現(xiàn)次數(shù)最多的字母。請(qǐng)將“記錄”按鈕Click事件過(guò)程中的注釋符去掉,把?改為對(duì)的的內(nèi)容,以實(shí)現(xiàn)上述程序功能。注意:不得修改窗體文獻(xiàn)中已經(jīng)存在的控件和程序,最后將程序按原文獻(xiàn)名存盤(pán)。已有程序代碼如下:OptionBase1DimxAsString,max_nAsIntegerPrivateSubCommand1_Click()OpenApp.Path&"\in5.dat"ForInputAs#1s=Input(LOF(1),#1)Close#1Text1.Text=sEndSubPrivateSubCommand2_Click()Dima(26)AsIntegersl=Text1.SelLengthst=Text1.SelTextText2=""Ifsl=0ThenMsgBox"請(qǐng)先選擇文本"ElseFori=1Toslc=Mid(st,i,1)Ifc<>""Thenn=Asc(UCase(c))-Asc("A")+1'出現(xiàn)某字母的編號(hào)a(n)=a(n)+1'出現(xiàn)某字母的次數(shù)EndIfNextimax_n=a(1):n=1'先設(shè)"A"與"a"字母的次數(shù)a(1)為最多Forj=2To26Ifmax_n<a(j)Thenmax_n=a(j)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 買(mǎi)賣(mài)餐飲配方合同范例
- 任務(wù)目標(biāo)合同范例
- 供銷(xiāo)合同范例服裝
- 農(nóng)村買(mǎi)賣(mài)土地合同范例
- 農(nóng)藥委托加工合同范例
- 全職勞動(dòng)合同范例
- 內(nèi)臟銷(xiāo)售收購(gòu)合同范例
- 公司實(shí)習(xí)合同范例
- 代銷(xiāo)合作協(xié)議合同范例
- 中鐵建工外聘合同范例
- 新版基本公共衛(wèi)生服務(wù)健康教育培訓(xùn)課件
- 六年級(jí)上冊(cè)音樂(lè)課件 《校園小戲迷》人音版
- 2023版北京協(xié)和醫(yī)院重癥醫(yī)學(xué)科診療常規(guī)
- 千里江山圖解析課件
- 《現(xiàn)代漢語(yǔ)常用字表》3500個(gè)漢字
- 道路通行能力計(jì)算題
- 經(jīng)濟(jì)學(xué)基礎(chǔ)完整版ppt-全體教學(xué)教程課件最新
- JJF(湘) 09-2018 純水-超純水系統(tǒng)監(jiān)測(cè)儀表(電導(dǎo)率)計(jì)量校準(zhǔn)規(guī)范-(高清現(xiàn)行)
- SJG 82-2020 政府投資學(xué)校建筑室內(nèi)裝修材料空氣污染控制標(biāo)準(zhǔn)-高清現(xiàn)行
- 智慧園區(qū)平臺(tái)用戶操作手冊(cè)
- 精品市政道路施工測(cè)量方法及測(cè)量方案
評(píng)論
0/150
提交評(píng)論