




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
..VisualBasic程序設(shè)計基礎(chǔ)知識要點〔概念分析篇知識點1:在工程資源管理器窗口中可以包含:工程文件、窗體模塊文件、標(biāo)準(zhǔn)模塊文件和類模塊文件〔其中可以包含許多各種文件類型。VisualBasic應(yīng)用程序可以以解釋方式執(zhí)行和編譯方式執(zhí)行。例題:〔1以下敘述中錯誤的是AA.在工程資源管理器窗口中只能包含一個工程文件及屬于該工程的其他文件。B.以.bas為擴(kuò)展名的文件是標(biāo)準(zhǔn)模塊文件。C.窗體文件包含該窗體及其控件的屬性。D.一個工程中可以有多個標(biāo)準(zhǔn)模塊文件。〔2以下敘述中錯誤的是CA.打開一個工程文件時,系統(tǒng)自動裝入與該工程有關(guān)的窗體、標(biāo)準(zhǔn)模塊等文件。B.保存VisualBasic程序時,應(yīng)分別保存窗體文件及工程文件。C.VisualBasic應(yīng)用程序只能以解釋方式執(zhí)行。D.事件可以由用戶引發(fā),也可以由系統(tǒng)引發(fā)。知識點2:窗體和各種控件的名稱〔Name是唯一的,用來標(biāo)識一個窗體或控件的。而窗體和控件的標(biāo)題是用來說明的,是可有可無的。各種控件之間有部分相同的屬性,并不是擁有所有屬性??丶行傩灾荒茉趯傩源翱谥性O(shè)置,但也有少數(shù)屬性只能在代碼狀態(tài)設(shè)置。Form1.Hide方法和UnloadForm1方法的區(qū)別:第一個方法窗體消失并不存在于內(nèi)存中;第二個方法窗體消失但仍存在于內(nèi)存中。例題:〔1以下敘述中正確的是AA.窗體的Name屬性指定窗體的名稱,用來標(biāo)識一個窗體。B.窗體的Name屬性的值是顯示在窗體標(biāo)題欄中的文本。C.可以在運行期間改變對象的Name屬性的值。D.對象的Name屬性值可以為空?!?以下敘述中錯誤的是CA.VisualBasic是事件驅(qū)動型可視化編輯工具。B.VisualBasic應(yīng)用程序不具有明顯的開始和結(jié)束語句。C.VisualBasic工具箱中的所有控件都具有Width和Height屬性。D.VisualBasic中控件的某些屬性只能在運行時設(shè)置。知識點3:標(biāo)簽<Label1>:Autosize的True屬性可以自動調(diào)整標(biāo)簽的大小,而False屬性不能。文本框<Text1>:1、Maxlength屬性表示文本框所能容納的字符數(shù)。2、Password屬性表示口令輸入,可以是"*"或"?"等。設(shè)置文本框輸入字符為"*":Text1.Password="*",還原文本框字符:Text1.Password="",3、ScrollBars屬性是表示文本框有垂直或水平滾動條,但是需要和多行屬性Multiline結(jié)合一起使用。4、SelLength屬性是表示選中文本框中字符的個數(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、文本框的方法只有一個:Text1.SetFocus例題:〔1能夠獲得一個文本框中被選取文本的內(nèi)容的屬性是CA.TextB.SelLengthC.SelTextD.SelStrart〔2在窗體上畫一個文本框<其名稱為Text1>和標(biāo)簽<其名稱為Label1>。要求程序運行后,如果在文本框中輸入字符,則立即在標(biāo)簽中顯示相同的內(nèi)容。以下可以實現(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)一個命令按鈕的Default屬性為True時,按回車鍵和單擊該命令按鈕的效果相同。2、Cancel屬性:當(dāng)一個命令按鈕的Cancel屬性為True時,按ESC鍵和單擊該命令按鈕的效果相同。〔4單選按鈕和復(fù)選框<Option1和Check1>:1、單選按鈕:Value屬性的值是True<選中>和False<未選中>,Option1.Value=True等同于Option1.Value用法。2、復(fù)選框:Value屬性的值是0<未選中>、1<選中>和2<表示暫時不可用>。Check1.Value=False可以用,但Check1.Value=True不可用<因為True只能轉(zhuǎn)化數(shù)值-1而不是1>?!?列表框<List1>:1、List屬性是一個數(shù)組型屬性:List1.List<索引>,索引可以是數(shù)字0、1…,List1.listindex,變量i〔List1.Text等同于List1.list<List1.listindex>。2、MultSelect屬性:用來設(shè)置一次可以多選表項數(shù)。MultSelect屬性值為0時,每次只能選擇一項;MultSelect屬性值為1時,可以同時選擇多個項目;MultSelect屬性值為2時,可以用輔助鍵Shift或Ctrl選擇多個項目。3、常用方法:AddItem方法表示添加的是一個項目,而Removeitem方法表示通過刪除索引的方式刪除項目。RemoveItem索引索引可以是數(shù)字0、1…,List1.listindex,變量i?!?組合框〔Combo1:1、Style屬性:Style屬性值為0時,表示下拉式組合框;Style屬性值為1時,表示下簡單組合框;Style屬性值為2時,表示下拉式列表框。其他功能類似列表框<List1>。〔7圖片框和圖像框<Picture1和Image1>:1、圖片框<Picture1>:Autosize屬性值為True時,表示圖片框大小隨圖片大小改變而改變;Autosize屬性值為False時,表示圖片框只能部分顯示大圖片。2、圖像框<Image1>:Stretch屬性為True時,圖片大小隨圖像框的大小改變而改變;Stretch屬性為True時,圖像框的大小隨圖片大小的改變而改變。3、兩種圖形類型都可以按照下面這個方法加載圖片:Picture1.picture=LoadPicture<App.Path&"\圖片名稱.擴(kuò)展名">Image1.picture=LoadPicture<App.Path&"\圖片名稱.擴(kuò)展名">如果要清楚圖片:Picture1.picture=LoadPicture<"">Image1.picture=LoadPicture<"">注意:如果使用App.Path方法需要先保存好窗體文件和工程文件到考生文件夾中?!?滾動條<HScroll1>:1、Max和Min屬性是分別表示滾動條的最大和最小刻度,刻度值用Value屬性值來表示:HScroll1.value。2、LargeChange和SmallChange屬性是分別表示移動滾動條上的左右箭頭按鈕的移動量和移動滾動條上滾動框的移動量。3、Scroll和Change事件分別表示拖動滾動條上滾動框的操作和單擊滾動條上箭頭按鈕的操作?!?計時器<Timer1>:1、Enabled屬性:Enabled屬性值為True時,表示計時器可以走動;Enabled屬性值為False時,表示計時器停止走動;2、Interval屬性:是表示計時器運動的時間間隔,單位為毫秒。1秒時間:Timer1.Interval=1000。3、Enabled和Interval這兩個屬性一般情況下需要一起使用。知識點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)生隨機整數(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★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只求第一個字符"A"的Ascii代碼值★Fix<x>將數(shù)值型數(shù)據(jù)x的小數(shù)部分舍去Fix<12.8>=12Fix<-12.5>=-12;Int<x>取小于等于x的最大整數(shù)當(dāng)x>0時,用法和Fix一樣;當(dāng)x<0時,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個字符Left<"ABCDEFG",3>="ABC";Right<x,n>從x字符串右邊起取n個字符Right<"ABCDEFG",3>="EFG"。Mid<x,n1,n2>從字符串x左邊第n1個位置開始向右起取n2個字符Mid<x,n>從字符串x左邊第n個位置開始向右全部取Mid<"ABCDEFG",3,2>="CD"Mid<"ABCDEFG",3>="CDEFG"Instr<n,s1,s2>從字符串s1的第n個位置起查找s2在s1中位置,如果n省略,則默認(rèn)從字符串s1的第1個位置起查找s2在s1中位置Instr<2,"ABCDEFG","CD">=3知識點5:1、運算符:★算術(shù)運算符運算符的優(yōu)先級:^>--><*/>>\>Mod><+-->★關(guān)系運算符<<=>>==<>LikeIs運算符優(yōu)先級相同★邏輯運算符運算符的優(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此時True需要轉(zhuǎn)換成-1再比較,Print-1>1結(jié)果是False,所以整個輸出結(jié)果是False。知識點6:1、交互函數(shù)的使用:★InputBox函數(shù):A=InputBox<"提示信息","標(biāo)題信息","默認(rèn)值或輸入框的值">例題:<1>執(zhí)行下列語句后,將顯示輸入對話框,此時如果單擊"確定"按鈕,則變量strInput的內(nèi)容是CstrInput=InputBox<"請輸入字符串","字符串對話框","字符串">A."請輸入字符串"B."字符串對話框"C."字符串"D.空字符串★MsgBox函數(shù):MsgBox"提示信息",按鈕類型值+圖標(biāo)類型值+默認(rèn)焦點值,"標(biāo)題信息"A=MsgBox"提示信息",按鈕類型值+圖標(biāo)類型值+默認(rèn)焦點值,"標(biāo)題信息";A的值根據(jù)單擊什么按鈕有關(guān),A的值在[1,7]之間取值。比如:單擊"確定"按鈕,A=1。例題:〔1以上圖形所表示的函數(shù)表達(dá)式為:MsgBox"請輸入查詢的學(xué)生__",3+32+256,"學(xué)生基本信息查詢"知識點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á)式列表的值只要第一個符合測試表達(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在窗體上畫一個名稱為Command1的命令按鈕和兩個名稱分別為Text1和Text2的文本框,然后編寫如下事件過程:PrivateSubCommand1_Click<>n=Text1.textSelectCasenCase1T10X=10Case2,4,6X=20CaseIs<10X=30Case10X=10EndSelectText2.text=xEndSub程序運行后,如果在文本框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知識點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),并且是并列的,所以可以先計算B組語句,A組語句暫時不算,這樣很容易求出u=u+1語句循環(huán)了三次,則u=3;C組語句和D語句都在Y循環(huán)內(nèi),并且是并列的,所以可以先計算D組語句,C組語句暫時不算,這樣也比較容易求出t=t+1語句循環(huán)了六次,則t=6;然后再結(jié)合答案很快就能得出答案是選B。知識點9:1、數(shù)組:①數(shù)組的概念★等級考試主要考一維數(shù)組、二維數(shù)組和三維數(shù)組<三維的只需知道數(shù)組中可以存儲多少數(shù)據(jù)即可>。數(shù)組的格式:a<2,3To7,-1To2>,那它的存儲空間大小計算:每一維用上界-下界+1計算,例如<2-0+1>*<7-3+1>*<2-<-1>+1>=3*5*4=60?!飻?shù)組的下標(biāo)下界是根據(jù)語句OptionBasen來決定:當(dāng)n=0時,數(shù)組下標(biāo)下界是從0開始;當(dāng)n=1時,數(shù)組下標(biāo)下界是從1開始。★數(shù)組分為:固定大小數(shù)組:Dima<10>AsInteger動態(tài)大小數(shù)組:Dima<>AsIntegerRedima<10>★Array函數(shù)用法:為一個變體型變量創(chuàng)建一個數(shù)組。DimaasVarianta=Array<1,2,3,4,5>因此:a<0>=1a<1>=2a<2>=3a<3>=4a★注意:如果數(shù)組被定義為一下三種類型,<1>數(shù)值型<2>字符型<3>邏輯型,則它們初始化的數(shù)組元素數(shù)值分別為:0、空字符串和False。例題:〔1在窗體上畫一個命令按鈕〔其Name屬性為Command1,然后編寫如下代碼:PrivateSubCommand1_Click<>Dima<4,4>AsIntegerFori=1To4Forj=1To4a<i,j>=<i-1>*3+jNextjNextiFori=3To4Forj=3To4Printa<j,i>NextjPrintNextiEndSub程序運行后,單擊命令按鈕,其輸出結(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知識點10:1、過程與函數(shù):★過程與函數(shù)的參數(shù)類型有:實參和形參;傳遞方式有:值傳遞和地址傳遞。★以下程序中,x,y為實參;a,b為形參注意:實參要與形參的類型、個數(shù)要相同。★在形參a,b之前如果加上關(guān)鍵字ByVal,那么就是值傳遞;如果加上關(guān)鍵字ByRef或不加關(guān)鍵字,那么就是地址傳遞。★過程調(diào)用方式有兩種:CallSwap<x,y>或Swapx,y<Swap是過程名>注意:只有地址傳遞方式才能實現(xiàn)交換功能,值傳遞方式x,y的值不變。當(dāng)有事件過程和通用過程一起運行時,先執(zhí)行事件過程<Command_Click>。例題:〔1假定有如下的Sub過程:SubS<xAsSingle,ByValyasSingle>t=xx=t/yy=tModyEndSub在窗體上畫一個命令按鈕,其名稱為Command1,然后編寫如下事件過程:PrivateSubCommand1_Click<>DimaAsSingle,bAsSinglea=5:b=4Sa,bPrinta,bEndSub程序運行后,單擊命令按鈕,輸出結(jié)果為_____C_____。A.54B.11C.1.254D.1.251程序分析:首先形參x是地址傳遞方式,當(dāng)a傳遞給x時,因此a與x擁有一個共同存儲空間,圖形表示:;形參y是值傳遞方式,當(dāng)b傳遞給y時,因此b與y是兩個不同存儲空間,圖形表示:;那么在過程S中:運算x=t/y后,x=1.25,圖形表示;因此a的值就是1.25;運算y=tMody后,y=1,圖形表示:,因為此時b和y存儲空間不同,則不影響b的值,則還是4,因此Printa,b的結(jié)果就是選擇C答案。知識點11:1、菜單和鼠標(biāo)事件★菜單編輯器的使用:注意:菜單中的標(biāo)題可以為空,但不論是第幾級菜單名稱必須唯一,且不能為空?!锸髽?biāo)事件〔按下鼠標(biāo)鍵事件過程主要事件有:Form_MouseDown、Form_MouseUp和Form_MouseMove?,F(xiàn)在以某個為例說明: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運行效果:2、公共對話框<又稱通用對話框>★通用對話框是我們考試中唯一一個控件箱中沒有的控件,需要我們自己添加的,添加的方法是在"工程"菜單的"部件"項中選擇"MicrosoftCommonDialogControl6.0”★通用對話框圖形根據(jù)以上圖形,相應(yīng)的程序代碼如下:注意:CommonDialog.FilterIndex=索引〔索引是從1開始知識點12:1、文件文件包括三種:順序文件、隨機文件和二進(jìn)制文件順序訪問:文件中數(shù)據(jù)是以ASCII碼存儲的。隨機訪問:文件長度記錄是固定不變的,數(shù)據(jù)類型可以不同,數(shù)據(jù)以二進(jìn)制方式存儲在文件中,可以任意時候,任意地方訪問。二進(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方式時,原來的文件內(nèi)容將被覆蓋;當(dāng)寫文件以Append方式時,新的文件內(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"。請在Forml的窗體上畫一個文本框,名稱為Text1,能顯示多行;在畫一個命令按鈕,名稱為Cl,標(biāo)題為"存盤"。編寫適當(dāng)?shù)氖录^程,使得在加載窗體時,把in5.txt文件的內(nèi)容中數(shù)字字符顯示在文本框里。然后單擊"存盤"按鈕,把文本框中的內(nèi)容存到文件out5.txt中。如圖所示:根據(jù)題目要求,所編寫程序如下:〔2在考生文件下有文件in.txt,文件有10個數(shù)據(jù):123521362821400300710990120500.請在Forml的窗體上畫一個文本框,名稱為Text1,能顯示多行;在畫一個命令按鈕,名稱為Cl,標(biāo)題為"存盤"。編寫適當(dāng)?shù)氖录^程,使得在加載窗體時,把in5.txt文件的內(nèi)容顯示在文本框里,然后統(tǒng)計10個數(shù)的最大數(shù)、最小數(shù)和它們的和,并把最大數(shù)、最小數(shù)和它們的和寫到"out.txt"文件中。如圖所示:根據(jù)題目要求,所編寫程序如下:VisualBasic程序設(shè)計基礎(chǔ)知識要點〔程序設(shè)計篇全國計算機等級考試中常用的程序編程部分:求最大數(shù)、最小數(shù)、求和以及求平均數(shù)求階層求最大公約數(shù)求素數(shù)求水仙花數(shù)〔拆數(shù)法排序〔選擇排序、直接插入排序和冒泡排序字符操作字符串取反〔反向輸出字符串判斷字符串中的某個字符是否為字母統(tǒng)計每類字符的個數(shù)矩陣求法〔二維數(shù)組文件讀寫操作字符型讀寫操作數(shù)值型讀寫操作九大問題具體例子分析:一、求最大數(shù)、最小數(shù)、求和以及求平均數(shù)例題:隨機產(chǎn)生10個兩位整數(shù),并存入數(shù)據(jù)a中,然后分別求10個元素中的最大數(shù)、最小數(shù)、求10個元素之和以及它們的平均數(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兩個數(shù)的最大公約數(shù)。PrivateSubCommand1_Click<>DimMAsInteger,NAsInteger,RAsIntegerM=36:N=24DoR=MModNM=NN=RLoopWhileR<>0’Print"M和N的最大公約數(shù)為:";MEndSub四、求素數(shù)例題:求100—200之間的所有素數(shù),并按每行5個元素格式輸入所有素數(shù)。PrivateSubCommand1_Click<>DimnAsInteger,iAsIntegerjAsIntegerForn=100To200Fori=2Ton-1’n-1可以是n/2,也可以是Sqr<n>形式NextiIfi>n-1Thenj=j+1’Printn;IfjMod5=0ThenPrint’輸出5個數(shù)換行EndIfNextnEndSub五、求水仙花數(shù)〔拆數(shù)法例題:求100—999之間的所有水仙花數(shù),并將所有水仙花數(shù)在文本框中顯示。所謂水仙花數(shù):即153=1^3+5^3+3^3條件成立。方法1:〔數(shù)值型:使用運算符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>>’取個位數(shù)Ifi=a^3+b^3+c^3ThenText1.Text=Text1.Text&i&Space<2>EndIfNextiEndSub六、排序問題例題:隨機產(chǎn)生10個兩位整數(shù),并存入數(shù)據(jù)a中,然后將這10個元素從小到大排序〔或從大到小,并將排序號的數(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、字符串取反例題:在文本框中輸入一個字符串,比如: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、判斷字符串中的某個字符是否為字母例題:在文本框中輸入一個字符串,比如: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)計每類字符的個數(shù)例題:在文本框中輸入一個字符串,比如:A$m4Ch&*F13iy%p41H,請分別統(tǒng)計出大寫字母、小寫字母、數(shù)字字符和其他字符的個數(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"大寫字母個數(shù):";n1;"小寫字母個數(shù):";n2;"數(shù)字字符個數(shù):";n3;"其他字符個數(shù):";n4EndSub八、矩陣〔二維數(shù)組對比圖對比圖四種矩陣的算法:〔圖形表示圖①圖②圖③圖④例題:有一個4行4列二維數(shù)組,現(xiàn)隨機生成16個兩位整數(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)之和是一個定數(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)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 績效管理和激勵計劃
- 班級自主管理的實施案例研究計劃
- 2025年中國消毒滅菌設(shè)備行業(yè)市場運行態(tài)勢、進(jìn)出口貿(mào)易及發(fā)展趨勢預(yù)測報告
- 企業(yè)戰(zhàn)略規(guī)劃與執(zhí)行結(jié)構(gòu)優(yōu)化方案
- 電子支付系統(tǒng)安全測試的要點
- 2025年農(nóng)林牧漁專用儀器儀表項目建議書
- 2025年NOX、NO2自動采樣器及測定儀合作協(xié)議書
- 新產(chǎn)品使用指南及功能介紹
- 物理治療課件
- 80天環(huán)游地球知識競賽
- 詳情頁測試文檔20220802
- 專利糾紛行政調(diào)解辦案指南
- 經(jīng)編工藝基本樣布的分析
- 2010哈弗H5維修手冊
- (完整版)NRS數(shù)字分級法評分表
- 一文看懂全部變電站電氣主接線方式
- 完整版陸河客家請神書
- 通用5軸焊錫機系統(tǒng)(V11)
- 應(yīng)答器報文定義《運基信號[2005]224號》
- SH3503-2007石油化工建設(shè)工程項目交工技術(shù)文
- DLT-5293-2013 電氣裝置安裝工程 電氣設(shè)備交接試驗報告統(tǒng)一格式
評論
0/150
提交評論