編程20題參考答案開始_第1頁
編程20題參考答案開始_第2頁
編程20題參考答案開始_第3頁
編程20題參考答案開始_第4頁
編程20題參考答案開始_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

PAGE100 VisualBasic語言程序設(shè)計習(xí)題與上機指導(dǎo)PAGE100PAGE101第二部分練習(xí)題與答案PAGE101第二部分VB練習(xí)題與答案第1章概述1.敘述建立一個完整的應(yīng)用程序的過程。2.當(dāng)建立好一個簡單的應(yīng)用程序后,假定該工程僅有一個窗體模塊,問該工程涉及多少個文件要保存?若要保存該工程中的所有文件,正確的操作應(yīng)先保存什么文件?再保存什么文件?若不這樣做,系統(tǒng)會出現(xiàn)什么信息?3.保存工程文件時,若不改變目錄名,則系統(tǒng)默認的目錄是什么?第2章數(shù)據(jù)類型與表達式一、選擇題1.一個語句行內(nèi)寫多條語句時,每個語句之間用()符號分隔。A., B.:C.、 D.;2.一句語句要在下一行繼續(xù)寫,用()符號作為續(xù)行符。A.+ B.–C._ D.…3.下面()是合法的變量名。A.X_yz B.123abC.integer D.X-Y4.下面()是不合法的整數(shù)。A.100 B.&Ol00C.&H100 D.%1005.下面()是合法的字符常量。A.ABC$ B."ABC"C.'ABC' D.ABC6.下面()是合法的單精度型變量。A.num! B.sum%C.xinte$ D.mm#7.下面()是不合法的單精度常數(shù)。A.100! B.100.0C.1E+2 D.100.0D+28.表達式16/4-2^5*8/4MOD5\2的值為()。A.14 B.4C.20 D.29.數(shù)學(xué)關(guān)系3≤x<10表示成正確的VB表達式為()。A.3<=X<10 B.3<=xANDx<10C.x>=3ORx<10 D.3<=xAND<1010.“\”、“/”、“Mod”、“*”四個算術(shù)運算符中,優(yōu)先級別最低的是()。A.\ B./C.Mod D.*11.與數(shù)學(xué)表達式ab/3cd對應(yīng)的不正確VisualBasic6.0表達式是()。A.a*b/(3*c*d) B.a/3*b/c/dC.a*b/3/c/d D.a*b/3*c*d12.Rnd函數(shù)不可能為下列()值。A.0 B.1C.0.1234 D.0.000513.Int(198.555*100+0.5)/100的值()。A.198 B.199.6C.198.56 D.20014.已知,A$="12345678",則表達式Val(Left(A$,4)+Mid(A$,4,2))的值為()。A.123456 B.123445C.8 D.615.表達式Len("123程序設(shè)計ABC")的值是()。A.10 B.14C.20 D.1716.下面正確的賦值語句是()。A.x+y=30 B.v=*r*rC.y=x+30 D.3y=x17.為了給x,y,z三個變量賦初值1,下面正確的賦值語句是()。A.x=1:y=1:z=l B.x=1,y=1,z=1C.x=y=z=1 D.xyz=118.賦值語句:a=123+Mid("123456",3,2)執(zhí)行后,a變量中的值是()。A."12334" B.123C.12334 D.15719.賦值語句:a=123&Mid("123456",3,2)執(zhí)行后,a變量中的值是()。A."12334" B.123C.12334 D.157二、填空題1.在VB中,1234、123456&、1.246E+5、1.2346D+5四個常數(shù)分別表示_____________、___________、____________、______________類型。2.整型變量x中存放了一個兩位數(shù),要將兩位數(shù)交換位置,例如,13變成31,實現(xiàn)的表達式是____________________________________________。3.數(shù)學(xué)表達式的VB算術(shù)表達式為________________。4.表示x是5的倍數(shù)或是9的倍數(shù)的邏輯表達式為______________________。5.已知a=3.5,b=5.0,c=2.5,d=True,則表達式:a>=0ANDa+c>b+3ORNOTd的值是_________________。6.Int(-3.5)、Int(3.5)、Fix(-3.5)、Fix(3.5)、Round(-3.5)、Round(3.5)的值分別是________、____________、____________、____________、____________、____________。7.表達式Ucase(Mid("hangzhouxihu",3,4))的值是______________。8.在直角坐標(biāo)系中,x、y是坐標(biāo)系中任意點的位置,用x與y表示在第一或第三象限的表達式是__________________。9.表示s字符變量是字母字符(大小寫字母不區(qū)分)的邏輯表達式為______________。三、問答題1.VisualBasic提供了哪些標(biāo)準(zhǔn)數(shù)據(jù)類型?聲明類型時,其類型關(guān)鍵字分別是什么?其類型符又是什么?2.哪種數(shù)據(jù)類型需要的內(nèi)存容量最少,且可存儲諸如3.2345這樣的值?3.將數(shù)字字符串轉(zhuǎn)換成數(shù)值,用什么函數(shù)?判斷是否是數(shù)字字符串,用什么函數(shù)?取字符串中的某幾個字符,用什么函數(shù)?大小寫字母間的轉(zhuǎn)換,用什么函數(shù)?4.Mid("什么是ASCII編碼",3,6)的結(jié)果?第3章VB語言基礎(chǔ)一、選擇題1.VB提供了結(jié)構(gòu)化程序設(shè)計的三種基本結(jié)構(gòu),三種基本結(jié)構(gòu)是()。A.遞歸結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)B.選擇結(jié)構(gòu)、過程結(jié)構(gòu)、順序結(jié)構(gòu)C.過程結(jié)構(gòu)、輸入輸出結(jié)構(gòu)、轉(zhuǎn)向結(jié)構(gòu)D.選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、順序結(jié)構(gòu)2.下面程序段運行后,顯示的結(jié)果是()。DimxIfxThenPrintxElsePrintx+1A.1 B.0C.–1 D.顯示出錯信息3.語句Ifx=1Theny=1,下列說法正確的是()。A.x=1和y=l均為賦值語句B.x=1和y=l均為關(guān)系表達式C.x=1為關(guān)系表達式,y=1為賦值語句D.x=1為賦值語句,y=1為關(guān)系表達式4.下面程序段,顯示的結(jié)果是()。Dimxx=Int(Rnd)+5SelectCasexCase5Print"優(yōu)秀"Case4Print"良好"Case3Print"通過"CaseElsePrint"不通過"EndSelectA.優(yōu)秀 B.良好C.通過 D.不通過5.以下()是正確的For…Next結(jié)構(gòu)。A.Forx=1toStep10 B.Forx=3To-3Step-3……NextxNextxC.Forx=lTo10 D.Forx=3To10Step3re:…...

NextxNextyIfi=10ThenGoTore6.下列循環(huán)語句中,能正常結(jié)束循環(huán)的是()。A.i=5 B.i=1DoDoi=i+1i=i+2LoopUntili<0LoopUntili=10C.i=10 D.i=6DoDoj=i+li=i-2LoopUntili>0LoopUntili=17.哪個程序段不能分別正確顯示1!、2!、3!、4!的值?()A.Fori=1To4 B.Fori=1To4n=1Forj=1ToiForj=1Toin=1n=n*jn=n*jNextjNextjPrintnPrintnNextiNextiC.n=1 D.n=1Forj=lTo4j=1n=n*jDowhilej<=4Printnn=n*jNextjPrintnj=j+lLoop二、編程題1.輸入三角形的三條邊a,b,c的值,根據(jù)其數(shù)值,判斷能否構(gòu)成三角形。若能則求出三角形的面積。2.編一程序:根據(jù)上網(wǎng)時間計算上網(wǎng)費用。計算的方法如下:為了鼓勵多上網(wǎng),每月收費最多不超過100元。30元基數(shù)<10h費用=每小時2元10~60h每小時1.5元>60h3.有一個長階梯,如果每步跨2階最后剩1階,如果每步跨3階最后剩2階,如果每步跨4階最后剩3階,如果每步跨5階最后剩4階,如果每步跨6階最后剩5階,只有當(dāng)如果每步跨7階時恰好走完,問這個階梯至少有多少階?4.一個球從100m高度自由下落,每次落地后反跳回原高度的一半,再落下。求它在第10次落地時,共經(jīng)過多少m5.有一根長度為321m的鋼材料,要將它截取成兩種規(guī)格的短料,規(guī)格a、b的長度分別為17m和6.小猴在一天摘了若干個桃子,當(dāng)天吃掉一半多一個;第二天接著吃了剩下的桃子中的一半多一個,以后每天都吃剩下桃子中的一半零一個,到第7天早上要吃時只剩下一個了,問小猴那天共摘下了多少個桃子?7.某次大獎賽,有7個評委打分,滿分為100分。對一名參賽者,輸入7個評委的打分分?jǐn)?shù),去掉一個最高分、一個最低分后,求出平均分為該參賽者的得分。編寫程序輸入評委的打分,輸出參賽者的得分。8.輸入任意長度的字符串,要求將字符順序倒置,例如,將輸入的“ABCDEFG”變換成“GFEDCBA”。9.由鍵盤輸入一個正整數(shù),找出大于或等于該數(shù)的第一個質(zhì)數(shù)。10.“完備數(shù)”是指一個數(shù)恰好等于它的因子之和,如6的因子為1、2、3,而6=1+2+3,因而6就是完備數(shù)。編程找出1~1000之間的全部“完備數(shù)”。11.勾股定理中三個數(shù)的關(guān)系是:a^2+b^2=c^2。編寫程序,輸出100以內(nèi)滿足上述關(guān)系的整數(shù)組合,例如3,4,5就是一個整數(shù)組合。12.編寫程序,打印如下的乘積表:*369121516171813.一個兩位正整數(shù),如果將它的個位數(shù)字與十位數(shù)字對調(diào),則產(chǎn)生另一個正整數(shù),我們把后者叫做前者的對調(diào)數(shù)?,F(xiàn)給定一個兩位正整數(shù),請找到另一個兩位正整數(shù),使得這兩個兩位正整數(shù)之和等于它們各自的對調(diào)數(shù)之和,若找不到,則輸出“查找失敗”。例如:32+12=21+23。(要求:在程序運行時從鍵盤輸入給定的兩位正整數(shù))14.有一數(shù)列:1、1、2、3、5、8、13、21…,求出這個數(shù)列的前20項之和。15.把一個16進制數(shù)轉(zhuǎn)換成一個10進制數(shù)。16.編寫程序,單擊窗體時在窗體上打印出如下所示的圖形。*****************************************17.編寫程序,輸出下列三角形:(要求用循環(huán)做,非循環(huán)不給分)GFGEFGDEFGCDEFGBCDEFGABCDEFG18.編程輸入一批數(shù)據(jù),若輸入數(shù)據(jù)為純數(shù)字時,求累加和,非純數(shù)字不累加。輸入"Y"結(jié)束輸入,輸出累加和。(用InputBox()輸入數(shù)據(jù))19.求公式:e=1+1/1!+1/2!+1/3!+……+1/n!直到n=20時的e值。20.已知sin(x)=x/1-x^3/3!+x^5/5!-x^7/7!+…,設(shè)計一個程序,輸入x,通過累加所有絕對值大于等于0.000001的項來計算sin(x)的值。第4章數(shù)組與記錄1.某數(shù)組有20個元素,元素的值由鍵盤輸入,要求將前10個元素與后10個元素對調(diào)。即第一個元素與第20個元素互換,第2個元素與第19個元素互換……第10個元素與第11個元素互換。輸出數(shù)組原來各元素的值和對換后各元素的值。2.編寫程序,建立并輸出一個10×10的矩陣,該矩陣兩條對角線為1,其余元素均為0。3.有一個6×6的矩陣,各元素的值由鍵盤輸入,求全部元素的平均值,并輸出高于平均值的元素以及它們的行、列號。4.找出二維數(shù)組n×m中的“鞍點”。所謂鞍點是指它在本行中值最大,在本列中值最小。輸出鞍點的行、列號,有可能在一個數(shù)組中找不到鞍點,如無鞍點則輸出“無”。5.輸出5階幻方陣。幻方陣也稱魔方陣,是指由自然數(shù)1~n2(n為奇數(shù))構(gòu)成的方陣,其各行、各列以及對角線元素之和均相等。6.設(shè)某班共10名學(xué)生,為了評定某門課程的獎學(xué)金,按規(guī)定超過全班平均成績10%者發(fā)給一等獎,超過全班成績5%者發(fā)給二等獎。試編制程序,輸出應(yīng)獲獎學(xué)金的學(xué)生名單(包括姓名、學(xué)號、成績、獎學(xué)金等級)。7.選擇法排序。選擇法排序的基本思路如下:設(shè)有10個數(shù)存放在數(shù)組A中,分別表示為A(1)、A(2)、A(3)、A(4)、A(5)、A(6)、A(7)、A(8)、A(9)、A(10)。先將A(1)與A(2)比較:指針k指向1,若A(2)<A(1),則將指針k指向2(指針指向較小者)。再將A(k)與A(3)、…、A(10)比較,并依次作出同樣的處理,指針k指向10個數(shù)中的最小者,然后將A(k)與A(1)互換。第2輪:先將指針k指向2,將A(k)與A(3)、…、A(10)比較,并依次作出同樣的處理,指針k指向第1輪余下的9個數(shù)中的最小者,然后將A(k)與A(2)互換。第一輪余下的9個數(shù)中的最小者放入A(2)中。繼續(xù)進行第3輪、第4輪……直到第9輪后,余下的A(10)自然數(shù)是10個數(shù)中的最大者。至此,10個數(shù)已按從小到大順序存放在A(1)~A(10)中。第5章過程1.編制求兩數(shù)中的較大數(shù)的Function過程,求多個數(shù)中的最大數(shù)。2.編制判斷奇偶數(shù)Function過程。輸入一個整數(shù),判斷其奇偶性。3.編制判斷是否同時被17與37整除的Function過程。輸出1000~2000之間所有能同時被17與37整除的數(shù)。4.移動數(shù)組元素。將數(shù)組中某個位置的元素移動到指定位置。5.Hanoi塔問題:傳說印度教的主神梵天創(chuàng)造世界時,在印度北部佛教圣地貝拿勒斯圣廟里,安放了一塊黃銅板,板上插著三根針,在其中一根針上自下而上放著由大到小的64個金盤。這就是所謂的梵塔(Hanoi)。梵天要僧侶們堅定不移地按下面規(guī)則把64個盤子移到另一根針上:(1)一次只能移一個盤子。(2)盤子只許在三根針上存放。(3)永遠不許大盤壓小盤。梵天稱,當(dāng)把他創(chuàng)造世界時所安放的64個盤子全部移到另一根針上時,就是世界毀滅之日。請編制程序解決該問題。6.編寫程序,求S=A!+B!+C!,階乘的計算分別用Sub過程和Function過程兩種方法來實現(xiàn)。7.設(shè)a為一整數(shù),如果能使成立,則稱a為“守形數(shù)”。例如則5和25都是守形數(shù)。試編寫一個Function過程Automorphic,其形參為一整數(shù),判斷其是否為守形數(shù),然后用該過程查找1~1000內(nèi)的所有守形數(shù)。8.斐波那契(Fibonacci)數(shù)列的第一項是1,第二項是1,以后各項都是前兩項的和,試用遞歸算法編寫一個程序,求斐波那契數(shù)列前N項的值。第6章文件操作1.使用Output選項打開一個已存在的文件會發(fā)生什么情況?2.使用Append選項寫文件會發(fā)生什么情況?3.創(chuàng)建一個以Stu.Dat為文件名的學(xué)生成績數(shù)據(jù)文件,將其中獲獎學(xué)金的學(xué)生數(shù)據(jù)存入一個新文件(Stu1.dat)中。評獎學(xué)金的條件是:每門課程成績均在85分以上或三門課程總分在270分以上。第7章窗體設(shè)計1.VB窗體設(shè)計器的主要功能是()。A.顯示文字 B.建立用戶界面C.編寫源程序代碼 D.畫圖2.以下敘述中正確的是()。A.對象的Name屬性值可以為空B.可以在程序運行期間改變對象的Name屬性值C.窗體的Name屬性值是顯示在窗體標(biāo)題欄中的字符串D.窗體的Name屬性用來標(biāo)識和引用窗體3.改變顯示在窗體標(biāo)題欄中的標(biāo)題使用的屬性是()。A.(名稱) B.FontNameC.Caption D.Text4.設(shè)有如下窗體事件OptionBase0PrivateSubForm_Click()DimaDimiAsIntegera=Array(1,2,3,4,5,6,7,8,9)Fori=0To3Printa(5-i);NextEndSub程序運行后,單擊窗體,則在窗體內(nèi)顯示的結(jié)果是()。A.5432 B.6543C.4321 D.76545.對窗體編寫如下事件過程。程序運行后,在窗體上單擊鼠標(biāo)右鍵,則輸出結(jié)果為()。PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)Print"AA";EndSubPrivateSubForm_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfButton=1ThenPrint"BB";EndSubA.BBAA B.AABBC.AA D.BB6.以下敘述中錯誤的是()。A.窗體的Show方法的作用是將指定的窗體裝入內(nèi)存并顯示該窗體B.窗體的Hide方法和Unload方法的作用完全相同C.若工程文件中有多個窗體,可以根據(jù)需要指定一個窗體為啟動窗體D.使Print方法在窗體上失效的窗體事件是Load7.下列語句中,能夠暫時隱藏窗體Form1,但不釋放它所占用的內(nèi)存空間的是()。A.UnloadForm1 B.Form1.UnloadC.HideForm1 D.Form1.Hide8.下列語句中,能夠加載并顯示窗體Form1的是()。A.loadForm1 B.Form1.loadC.showForm1 D.Form1.show9.下面的程序運行后,若從鍵盤輸入-1,則輸出結(jié)果為()。PrivateSubForm_Click()xcase=1t=InputBox("請輸入一個數(shù):")SelectCasetCaseIs>0y=xcase+1CaseIs=0y=xcase+2CaseElsey=xcase+3EndSelectPrintxcase;yEndSubA.14 B.13C.12 D.1110.以下敘述中錯誤的是()。A.在KeyUp和KeyDown事件過程中,從鍵盤上輸入A或a被視為相同的KeyCode碼B.在KeyUp和KeyDown事件過程中,將鍵盤上的“1”和右側(cè)小鍵盤上的“1”視為不同的KeyCode碼C.KeyPress事件不能識別某個鍵的按下與釋放D.KeyPress事件可以識別某個鍵的按下與釋放第8章標(biāo)準(zhǔn)控件的使用一、選擇題1.文本框的屬性不包括()。A.Caption B.TextC.Name D.Top2.在屬性窗口中設(shè)置命令按鈕的Caption屬性為"&End",則()是該命令按鈕的快捷訪問鍵。A.Alt+E B.Ctrl+EC.Shift+E D.Ctrl+Shift+E3.設(shè)置命令按鈕的()屬性值為False,可以使命令按鈕處于不可用狀態(tài)。A.Value B.EnabledC.Default D.Cancel4.下列設(shè)置中,可以使計時器Timer1停止計時的是()。A.Timer1.Locked=True B.Timer1.Locked=FalseC.Timer1.Enabled=True D.Timer1.Enabled=False5.設(shè)置標(biāo)簽的的顯示內(nèi)容的屬性是()。A.Name B.TextC.Caption D.Top6.為了將復(fù)選框(名稱為Check1)設(shè)置為選中狀態(tài),應(yīng)該使用()語句。A.Check1.Value=1 B.Check1.Value=0C.Check1.Value=True D.Check1.Value=False7.單選按鈕處于選中狀態(tài)時,它的Value屬性值是()。A.False B.TrueC.0 D.18.下列關(guān)于組合框的敘述中,正確的是()。A.組合框有Click事件,沒有Change事件B.組合框有Change事件,沒有Click事件C.組合框既有Click事件,也有Change事件D.組合框沒有Click事件和Change事件9.設(shè)置()屬性,可以使圖片顯示在圖片框或圖像框中。A.Picture B.ImageC.Icon D.DownPicture10.在圖像控件Image1中加載圖片后,為使圖像控件能夠自動調(diào)整大小而顯示整幅圖片,可以使用語句()。A.Image1.AutoSize=True B.Image1.AutoSize=FalseC.Image1.Stretch=True D.Image1.Stretch=False11.在圖片框控件Picture1中加載圖片后,為使圖片框控件能夠自動調(diào)整大小而顯示整幅圖片,可以使用語句()。A.Picture1.AutoSize=True B.Picture1.AutoSize=FalseC.Picture1.Stretch=True D.Picture1.Stretch=False12.下列不能接收焦點的控件是()。A.命令按鈕 B.標(biāo)簽框C.文本框 D.單選按鈕13.下列控件中()不能觸發(fā)GetFocus和LostFocus事件。A.命令按鈕 B.組合框C.復(fù)選按鈕 D.計時器14.下列操作中,能夠觸發(fā)滾動條的Scroll事件的是()。A.單擊滾動條兩端的滾動箭頭B.單擊滾動條上滑塊兩側(cè)的空白處C.單擊滾動條上的滑塊D.拖動滾動條上的滑塊15.窗體中包含3個同名命令按鈕CmdNum,其Caption分別等于對應(yīng)下標(biāo)值0,1,2;依次單擊這三個按鈕,窗體中的輸出結(jié)果是()。PrivateSubcmdNum_Click(IndexasInteger)PrintIndexEndSubA.0 B.0 C.0

01

0216.在窗體上有一個文本框控件,名稱為Text1;一個計時器控件,名稱為Timer1。要求每秒鐘在文本框中顯示一次當(dāng)前時間。請將程序填完全。PrivateSubTimer1_【】()Text1=TimeEndSubA.Visible B.IntervalC.Timer D.Enabled17.下列事件過程的功能是:在加載窗體時,啟動計時器,并使計時器每隔1秒鐘觸發(fā)一次Timer事件。請?zhí)羁?。PrivateSubForm_Load()【】EndSubA.Timer1.Interval=1000 B.Timer1.Interval=1C.Timer1.Enabled=1000 D.Timer1.Enabled=118.在窗體上有一個文本框控件,名稱為Text1;程序運行后,要求文本框中只能接收數(shù)字字符。請?zhí)羁?。PrivateSubText1_【】(KeyAsciiAsInteger)IfKeyAscii<Asc("0")OrKeyAscii>Asc("9")ThenKeyAscii=0EndIfEndSubA.KeyDown B.KeyUpC.KeyPress D.Change19.設(shè)窗體中包含1個命令按鈕Command1,1個列表框List1,并有以下的事件過程。程序運行后,單擊Command1按鈕,列表框中顯示的內(nèi)容是()。PrivateSubCommand1_Click()DimiAsintegerFori=10To1step-1.5List1.AddItemiNextiEndSubA.10,8,6,4,2 B.10,9,7,5,3C.10,8.5,7,5.5,4,2.5 D.8.5,7,5.5,4,2.5,120.使用()方法,可以同時清除列表框的所有項目。A.RemoveItem B.RemoveC.Clear D.Move二、填空題1.密碼驗證程序。在窗體上有一個標(biāo)簽,名稱為Label1,Caption屬性值為"密碼";一個文本框,名稱為Text1;一個命令按鈕,名稱為Command1;并有如下兩個事件過程。請將程序填完全。PrivateSubForm_Load()'設(shè)置Text1的屬性,使輸入的字符全部顯示為*Text1.________________="*"EndSubPrivateSubCommand1_Click()'驗證Text1中輸入的密碼是否正確,不區(qū)分大小寫IfUcase(Text1.________________)="ABC"ThenMsgBox"密碼正確"ElseMsgBox"密碼錯誤"EndIfEndSub2.在下列程序代碼中,第一次單擊命令按鈕,在文本框Text1和Text2中顯示的內(nèi)容是________________;第二次單擊命令按鈕,在文本框Text1和Text2中顯示的內(nèi)容是________________。DimyasInteger'y為窗體級變量PrivateSubCommand1_Click()DimxAsIntegerx=2Text1=Func_2(Func_1(x),y)Text2=Func_1(x)EndSubPrivateFunctionFunc_1(xAsInteger)AsIntegerx=x+y:y=x+yFunc_1=x+yEndFunctionPrivateFunctionFunc_2(xAsInteger,yAsInteger)AsIntegerFunc_2=2*x+yEndFunction3.在窗體上畫一個名稱為Label1的標(biāo)簽和一個名稱為List1的列表框。程序運行后,在列表框中添加若干列表項。當(dāng)雙擊列表框中的某個項目時,在標(biāo)簽Label1中顯示所選中的項目文本,并在窗體上顯示所選項目的序號。請將程序填完全。PrivateSubForm_Load()List1.AddItem"數(shù)學(xué)"List1.AddItem"物理"List1.AddItem"VB程序設(shè)計"List1.AddItem"外語"EndSubPrivateSub________________PrintList1.________________'顯示列表項序號Label1.Caption=________________'顯示列表項文本EndSub4.在窗體上畫兩個標(biāo)簽,名稱分別為Label1和Label2,Caption屬性分別為“數(shù)值”及空白;然后再畫一個名稱為Hscroll1的水平滾動條,其Min的值為0,Max的值為100。程序運行后,如果單擊滾動條兩端的箭頭,則在標(biāo)簽Label2中顯示滾動條的值。請將程序填完全。PrivateSubHscroll1__________________()Label2.Caption=Hscroll1._________________EndSub第9章菜單與工具欄設(shè)計1.簡述VisualBasic中有幾種菜單,其功能是什么?2.打開菜單編輯器的方式有哪幾種?3.建立彈出式菜單的步驟是什么?4.

ToolBar控件和ImageList控件的作用是什么,如何進行二者的關(guān)聯(lián)?5.簡述建立工具欄的步驟。第10章對話框設(shè)計1.VisualBasic中的對話框分為哪幾類?2.簡述定制對話框(窗體對話框)的步驟。3.如何把通用對話框控件添加到工具箱中?4.在設(shè)計時能否改變通用對話框的大???如何在程序中顯示通用對話框?5.如何設(shè)置通用對話框標(biāo)題?6.怎樣在“打開”對話框中過濾多種文件類型?7.怎樣在“另存為”對話框內(nèi)傳送文件名?第11章圖形操作1.如何定制用戶坐標(biāo)系?2.與坐標(biāo)系有關(guān)系的屬性是哪幾個?3.怎樣用Circle方法畫出圓、橢圓、圓弧和扇形?4.怎樣實現(xiàn)動畫?5.寫出利用Pset方法在窗體上顯示彩色碎片的程序代碼。第12章數(shù)據(jù)庫技術(shù)1.在VB中可以訪問哪些類型的數(shù)據(jù)庫?2.訪問數(shù)據(jù)庫有哪幾種不同的方法?3.如何在記錄集內(nèi)對數(shù)據(jù)進行操作?4.簡單說明ADO控件如何連接到數(shù)據(jù)源。練習(xí)題答案第1章答案(略)第2章答案一、選擇題12345678910BCADBADBBC111213141516171819DBCBACADA二、填空題1.整型、長整型、單精度型、雙精度型2.(xmod10)*10+x\103.sin(45*3.14/180)+sqr(log(2*x)+3)4.xmod5=0orxmod9=05.False6.-4、3、-3、3、-4、47.NGZH8.x>0Andy>0Orx<0Andy<09.UCase(s)>="A"AndUCase(s)<="Z"三、問答題(答案略)第3章答案一、選擇題1234567DACABCB二、編程題1.PrivateSubCommand1_Click()DimaAsInteger,bAsInteger,cAsIntegerDimsAsSingle,areaAsSinglea=InputBox("請輸入邊長a")b=InputBox("請輸入邊長b")c=InputBox("請輸入邊長c")Ifa+b>cAnda+c>bAndb+c>aThenPrint"能構(gòu)成三角形"s=(a+b+c)/2area=Sqr(s*(s–a)*(s–b)*(s-c)Print"面積為:";areaElsePrint"不能構(gòu)成三角形"EndIfEndSub2.PrivateSubCommand1_Click()DimaAsInteger,pageAsSinglea=Val(InputBox("請輸入上網(wǎng)的時長"))Ifa>0ThenSelectCaseaCaseIs<10page=30CaseIs<60page=a*2CaseElsepage=a*1.5EndSelectElseMsgBox"沒有上網(wǎng),無需交費"EndIfIfpage>100Thenpage=100Print"您本月共上網(wǎng)";a;"小時,需交費:";page;"元"EndSub3.PrivateSubCommand1_Click()DimaAsInteger,iAsIntegerDoWhileTruei=i+1IfiMod2=1AndiMod3=2AndiMod4=3AndiMod5=4AndiMod6=5_AndiMod7=0ThenPrint"該階梯至少有";i;"階"ExitDoEndIfLoopEndSub4.PrivateSubCommand1_Click()DimiAsInteger,sAsSingle,hAsSingleh=10Fori=2To10s=s+hh=h/2s=s+hNextiPrint"共經(jīng)過";s;"米。最后一次反彈高度為";hEndSub5.PrivateSubCommand1_Click()DimiAsInteger,rAsInteger,aAsInteger,bAsInteger,minAsIntegermin=17Fori=0To11r=(321-27*i)Mod17Ifr<minThenmin=r:a=i:b=(321-27*i)/17NextiPrintr,a,bEndSub6.PrivateSubCommand1_Click()DimiAsInteger,sAsIntegers=1Fori=6To1Step-1s=(s+1)*2NextiPrintsEndSub7.PrivateSubCommand1_Click()DimMaxAsInteger,minAsIntegerDimiAsInteger,sAsInteger,fAsIntegerMax=0min=100Fori=1To7f=InputBox("請輸入評委的打分")Iff>MaxThenMax=fIff<minThenmin=fs=s+fNextiaver=(s-Max-min)/5Print"參賽者最后得分為:";aver,Max,minEndSub8.PrivateSubCommand1_Click()Dimstr1AsString,str2AsStringDimiAsInteger,kAsIntegerstr1=InputBox("")str2=""k=Len(str1)Fori=kTo1Step-1str2=str2+Mid(str1,i,1)NextiPrintstr2EndSub9.PrivateSubCommand1_Click()DimiAsInteger,xAsInteger,jAsBooleanx=InputBox("請輸入一個數(shù)")DoWhileTruex=x+1Fori=2ToSqr(x)j=TrueIfxModi=0Thenj=False:ExitForNextiIfjThenExitDoLoopPrintxEndSub10.PrivateSubCommand1_Click()DimiAsInteger,aAsIntegerDimsAsIntegerFori=1To1000a=2:s=1DoWhilea<iIfiModa=0Thens=s+aEndIfa=a+1LoopIfs=iThenPrintiEndIfNextiEndSub11.PrivateSubCommand1_Click()DimaAsInteger,bAsInteger,cAsIntegerFora=1To100Forb=aTo100Forc=bTo100Ifa^2+b^2=c^2ThenPrint"勾股定理整數(shù)組合";a,b,cEndIfNextcNextbNextaEndSub12.PrivateSubCommand1_Click()DimiAsInteger,jAsIntegerPrint"*36912"Fori=15To18Printi;"";Forj=3To12Step3Printi*j;"";NextjPrintNextiEndSub13.PrivateSubCommand1_Click()DimaAsInteger,bAsInteger,cAsInteger,dAsIntegerDimiAsInteger,jAsInteger,kAsInteger,lAsIntegera=InputBox("")i=a\10j=aMod10c=j*10+iForb=10To99k=b\10l=bMod10d=l*10+kIfa+b=c+dThenPrinta;"的對調(diào)數(shù)為";bNextbEndSub14.PrivateSubCommand1_Click()Dimf1AsSingle,f2AsSingle,f3AsSingleDimiAsInteger,jAsInteger,nAsIntegerDimsumAsSinglef1=1f2=1sum=2DoWhilei<=20-3f3=f1+f2f1=f2f2=f3sum=sum+f3i=i+1LoopPrintsumEndSub15.PrivateSubCommand1_Click()DimaAsInteger,kAsString,hAsInteger,sAsIntegera=InputBox("請輸入一個16進制數(shù)")k=Trim(Str(a))h=Len(k)s=aMod10Fori=h-1To1Step-1s=s+Val(Mid(k,i,1))*16^(h-i)NextiPrint"16進制數(shù):";a;"轉(zhuǎn)換為10進制數(shù)是:";sEndSub16.PrivateSubCommand1_Click()DimiAsInteger,jAsIntegerj=j+1Fori=-4To4PrintTab(20+Abs(i));Forj=1To9-Abs(2*i)Print"*";NextjPrintNextiEndSub17.PrivateSubCommand1_Click()DimaAsString,bAsString,iAsInteger,jAsIntegerDimsAsInteger,tAsInteger,kAsInteger,mAsIntegera="ABCDEFG"k=Len(a)Fori=1TokPrintRight(a,i)NextiEndSub18.PrivateSubCommand1_Click()Dimx,sAsSingle,bzAsStringDoWhileUCase(bz)<>"Y"x=InputBox("請輸入相加的值")IfVal(x)=xThens=s+xEndIfbz=InputBox("是否結(jié)束?(Y/N)")LoopPrintsEndSub19.PrivateSubCommand1_Click()DimiAsInteger,jAsIntegerDimsAsSingle,hAsSingle,lAsSingle,k!k=1s=1Fori=1To20k=k*is=s+1/kNextiPrintsEndSub20.PrivateSubCommand1_Click()DimiAsInteger,jAsIntegerDimxAsSingle,sumAsSingleDimhAsSingle,kAsSinglex=InputBox("請輸入x的值")h=1k=1Doi=i+1h=h*xk=k*iIfiMod2=1Thenj=j+1sum=sum+(-1)^(j+1)*h/kEndIfLoopWhileAbs(h/k)>10^(-6)PrintsumEndSub第4章答案1.PrivateSubCommand1_Click()Dima(1To20)AsIntegerDimiAsInteger,tAsInteger'輸入20個元素的值,并輸出互換前各元素的值Fori=1To20a(i)=InputBox("輸入a("&Format(i,"#")&"):")Print"a(";i;")=";a(i);"";IfiMod10=0ThenPrintNexti'互換操作Fori=1To10'互換元素t=a(i):a(i)=a(20-i+1):a(20-i+1)=tNextiFori=1To20'輸出互換后各元素的值Print"a(";i;")=";a(i);"";IfiMod10=0ThenPrintNextiEndSub2.PrivateSubCommand1_Click()Dima(10,10)AsIntegerDimmAsInteger,nAsIntegerForn=1To10Form=1To10Ifn=mOrn=11-mThena(n,m)=1Elsea(n,m)=0EndIfNextNextPrintForn=1To10Form=1To10PrintTab(m*3);a(n,m);NextPrintNextEndSub3.PrivateSubCommand1_Click()Dima(6,6)AsIntegerDimnAsInteger,mAsInteger,sAsInteger,avAssingleForn=1To6Form=1To6a(n,m)=InputBox("a("+Str(n)+","+Str(m)+")=")NextNextForn=1To6Form=1To6PrintFormat(a(n,m),"@@@@");NextPrintPrintNexts=0Forn=1To6Form=1To6s=s+a(n,m)NextNextav=s/(6*6)Print"平均值="&Format(av,"######")Print"大于平均值的元素是:"Forn=1To6Form=1To6Ifa(n,m)>avThenPrint"a("&n&","&m&")="&a(n,m)&""EndIfNextNextEndSub4.PrivateSubCommand1_Click()Dima(10,7)AsIntegerDimmAsInteger,nAsInteger,xAsInteger,kAsIntegerDimbigAsInteger,colAsInteger,flagAsIntegerForn=1To10Form=1To7x=Int(Rnd*100)a(n,m)=Val(x)NextNextForn=1To10Form=1To7PrintFormat(a(n,m),"@@@");NextPrintNextFori=1To10big=a(i,1)Forj=1To7Ifbig<a(i,j)Thenbig=a(i,j)col=jEndIfNextjflag=1Fork=1To10Ifbig>a(k,col)Thenflag=0ExitForEndIfNextkIfflag=1ThenPrint"a("&i&","&col&")="&bigElseMsgBoxi&"行沒有鞍點"EndIfNextiEndSub5.PrivateSubCommand1_Click()'定義數(shù)組的大小Dima(5,5),iAsInteger,jAsInteger,xAsInteger,nAsIntegern=5'安排數(shù)1的位置i=1j=(n+1)/2a(i,j)=1Forx=2Ton*nIf(x-1)Modn=0Theni=i+1Elsei=Iif(i=1,n,i-1)j=Iif(j=n,1,j+1)EndIfa(i,j)=xNextFori=1TonForj=1TonPrintFormat(a(i,j),"@@@");NextPrintNextEndSub6.PrivateSubCommand1_Click()DimiAsInteger,kAsIntegerDimxm(10)Asstring,xh(10)Asstring,cj(10)AssingleDimsAssingle,sx1Assingle,sx2AssingleFori=1To10xm(i)=InputBox("輸入第"&Str(i)&"個學(xué)生的姓名:")xh(i)=InputBox("輸入第"&Str(i)&"個學(xué)生的學(xué)號:")cj(i)=InputBox("輸入第"&Str(i)&"個學(xué)生的成績:")s=s+cj(i)Nextis=s/10'求全班平均成績sx1=s*1.1'求一等獎標(biāo)準(zhǔn)sx2=s*1.05'求二等獎標(biāo)準(zhǔn)Fori=1To10Ifcj(i)>sx1ThenPrintcj(i)&","&xm(i)&","&xh(i)k=k+1ElseIfcj(i)>sx2ThenPrintcj(i)&","&xm(i)&","&xh(i)s=s+1EndIfNextiPrint"平均分:"&s&",1等獎"&k&"名,2等獎"&s&"名"EndSub7.PrivateSubCommand1_Click()Dima(10)AsInteger,iAsInteger,jAsInteger,kAsInteger,tAsIntegerRandomizeFori=1To10a(i)=Int(Rnd*199)-99NextiFori=1To9k=iForj=i+1To10'選擇法排序IfVal(a(k))>Val(a(j))Thenk=jEndIfNextIfk<>iThent=a(i):a(i)=a(k):a(k)=tEndIfNextFori=1To10Printa(i)NextiEndSub第5章答案1.Dima(3)AsSinglePrivateFunctionMax(xAsSingle,yAsSingle)Ifx>yThenMax=xElseMax=yEndIfEndFunctionPrivateSubCommand1_Click()DimpAsString,nAsIntegerForn=0To3a(n)=Val(InputBox("輸入第"&n&"個數(shù)"))NextPrinta(0)&","&a(1)&","&a(2)&","&a(3)EndSubPrivateSubCommand2_Click()DimxAsSinglex=a(0)Forn=1To3x=Max(x,a(n))NextLabel2.Caption="最大的數(shù)是:"&xEndSub2.PrivateFunctionjopd(xAsLong)AsBooleanIfxMod2=0Thenjopd=TrueElsejopd=FalseEndIfEndFunctionPrivateSubCommand1_Click()DimnAsLong,pAsstringn=InputBox("輸入要判斷的數(shù)")p=Iif(jopd(n),"偶數(shù)","奇數(shù)")Printn&"是一個"&pEndSub3.PrivateFunctionD(xAsInteger)AsBooleanIf(xMod17=0)And(xMod37=0)ThenD=TrueElseD=FalseEndIfEndFunctionPrivateSubCommand1_Click()DimnAsIntegerForn=1000To2000IfD(n)ThenPrintnNextEndSub4.Dima(10)PrivateSubyd(x(),n,m)DimiAsIntegerx(0)=x(n)Ifn<=mThen'向后移動Fori=nTom-1x(i)=x(i+1)NextElse'向前移動Fori=nTom+1Step-1x(i)=x(i-1)NextEndIfx(m)=x(0)EndSubPrivateFunctionstr1(x())DimpAsstring,iAsIntegerp=Str(x(1))Fori=2ToUBound(x)p=p&","&x(i)Nextstr1=pEndFunctionPrivateSubCommand1_Click()DimnAsInteger,mAsIntegerForn=1To10a(n)=Int(Rnd*90)+10Printa(n);"";Nextn=Val(InputBox("移動第幾個元素","","1"))Ifn>=UboundA.ThenExitSubDom=InputBox("把第"&n&"個元素移動到哪里?","",Str(n))LoopUntilm<=Ubound(a)Andm>Lbound(a)yda(),n,mPrintPrint"移動后的數(shù)組:"Forn=1To10Printa(n);"";NextEndSub5.程序界面如圖所示。Dimpan(10)AsShapeDiml(3)AsIntegerDimp(3)AsIntegerDimkAsIntegerDimh(3,10)AsIntegerDimnumAsIntegerPrivateSubhan(mAsInteger,uAsInteger,vAsInteger,wAsInteger)Ifm=1ThenCallyidong(u,w)ElseCallhan(m-1,u,w,v)Callyidong(u,w)Callhan(m-1,v,u,w)EndIfEndSubPrivateSubyidong(xAsInteger,yAsInteger)a=p(x)b=p(y)+1h(y,b)=h(x,a)pan(h(y,b)).Top=700Callyianshi(0.2)pan(h(y,b)).Left=l(y)-pan(h(y,b)).Width/2Callyianshi(0.4)pan(h(y,b)).Top=3700-p(y)*100Callyianshi(0.2)p(x)=a-1p(y)=bk=k+1Label2.Caption="移動了"+LTrim(Str(k))+"次"Form1.RefreshEndSubPrivateSubyianshi(PauseTime)Dimstartstart=TimerDoWhileTimer<start+PauseTimeLoopEndSubPrivateSubCommand1_Click()Fori=1Tonumh(1,i)=iNextp(1)=numk=0Callhan(num,1,2,3)s=l(1):l(1)=l(3):l(3)=sFori=1To3p(i)=0NextEndSubPrivateSubForm_Activate()num=Val(Text1.Text)Fori=1Tonumpan(i).Left=pan(i).Tagpan(i).Visible=TrueNextFori=num+1To10pan(i).Visible=FalseNextFori=1To3l(i)=Line1(i-1).X1NextEndSubPrivateSubFo

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論