




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第5章數(shù)組與記錄5.1填空題1.若要定義一個包含10個字符串元素,且下界為1的一維數(shù)組s,則數(shù)組說明語句為(Dims(1To10)AsString)。2.若要定義一個元素為整型數(shù)據(jù)的二維數(shù)組a,且第一維的下標從0到5,第二維下標從-3到6,則數(shù)組說明語句為(Dima(0To5,-3To6)AsInteger)。3.如果數(shù)組元素的下標值為實數(shù),則VB系統(tǒng)會按(四舍五入原則)進行處理。4.?dāng)?shù)組元素個數(shù)可以改變的數(shù)組稱為(可調(diào)數(shù)組);數(shù)組元素可以存放不同類型數(shù)據(jù)的數(shù)組稱為(可變類型數(shù)組)。5.?dāng)?shù)組刷新語句用于(清除指定數(shù)組內(nèi)容)。若被刷新的數(shù)組是數(shù)值數(shù)組,則把所有元素置(0);若被刷新的數(shù)組為字符串?dāng)?shù)組,則把所有元素置(空字符串)。6.設(shè)有表格控件grd1,若設(shè)置grd1的第2行第5列的單元格為當(dāng)前活動單元格,使用的語句為(grd1.Row=2)和(grd1.Col=5)。7.要使表格控件grd1的當(dāng)前活動單元格顯示字符串“姓名”,使用的語句是(grd1.Text=“姓名”)。8.建立一個具有10行10列的表格控件grd2,需使用的語句為(grd2.Row=10)和(grd2.Col=10)。9.在程序的運行中,對表格控件grd1的某些列的數(shù)據(jù)按降序并且區(qū)分大小寫排序,使用的語句是(grd1.Sort=8)。10.控件數(shù)組是由一組類型和(名字)相同的控件組成,共享(同一個事件過程)。11.控件數(shù)組中的每一個控件都有惟一的下標,下標值由(Index)屬性指定。12.建立控件數(shù)組有兩種方法:(在設(shè)計階段通過相同Name屬性值來建立)和(在程序代碼中使用Load方法)。5.2選擇題1.下列一維數(shù)組說明語句錯誤的是(d)。a)Dimb(100)ASDoubleb)Dimb(-5To0)ASByted)Dimb(5To5)ASStringc)Dimb(-10To–20)ASInteger2.若有數(shù)組說明語句為:Dima(-3To8),則數(shù)組a包含元素的個數(shù)是(d)。a)5b)8c)11d)123.設(shè)有數(shù)組說明語句:Dimc(1To10),則下面表示數(shù)組c的元素選項中(c)是錯誤的。a)c(i-1)b)c(5+0.5)c)c(0)d)c(10)4.下列數(shù)組說明語句中正確的是(a)。a)Dima(-1To5,8)ASStringb)Dima(n,n)ASIntegerd)Dima(10,-10)ASDoublec)Dima(0To8,5To–1)ASSingle5.設(shè)有數(shù)組說明語句:Dimb(-1To2,-2To2),則數(shù)組b中元素的個數(shù)是(d)。a)12b)15c)16d)206.設(shè)有數(shù)組說明語句:Dimc(-1To2,1To5),則下列表示數(shù)組c的元素選項中(c)是正確的。a)c(i+j)b)c(i)(j)c)c(i+1,i-1)d)c(1,0)7.若有數(shù)組說明語句:Dima()ASInteger,則a被定義為(b)。a)定長數(shù)組b)可調(diào)數(shù)組c)靜態(tài)數(shù)組d)可變類型數(shù)組
8.若有數(shù)組說明語句:Dimt(1To10)ASVariant,則t被定義為(d)。a)數(shù)值數(shù)組b)可調(diào)數(shù)組c)字符串?dāng)?shù)組d)可變類型數(shù)組9.下面選項中,錯誤的是(c)。a)DimsAsvariant:s=Array("one","two","Three")b)Dimb:b=Array(1,2,3)c)DimbAsInteger:b=Array(1,2,3)d)DimbAsvariant:b=Array(1,2,3)10.若有以下說明語句TypeemployeenumAsIntegersalaryAsSingleEndTypeDimprogrammerAsemployee則下面表示記錄變量programmer的成員Salary正確的是(d)。a)programmer→salaryc)grammer11.已知有說明語句Typedatb).salaryd)programmer.salaryyearAsIntegermonthAsIntegerdayAsIntegerEndTypeTypeempnoAsIntegernameAsString﹡10sexAsString*1birthdayAsdatsalaryAssingleEndTypeDimprogrammerAsemp并假設(shè)變量programmer所表示職工的出生日期是“1978年10月1日”,則下列正確的賦值語句是(d)。a)year=1978:month=10:day=1b)birthday.Year=1978:birthday.month=10:birthday.day=1c)programmer.year=1978:programmer.month=10:programmer.day=1d)programmer.birthday.year=1978:programmer.birthday.month=10:programmer.birthday.day=112.假設(shè)有上題的說明語句,則下列With語句正確的是(c)。a)withprogammerno=1000:name="張勇":sex="男"withbirthdayyear=1978:month=10:day=1Endwithsalary=2800
Endwithb)withprogrammer.no=1000:.name="張勇":.sex="男"with.birthday.year=1978:.month=10:.day=1Endwith.salary=2800Endwithc)withprogrammer.no=1000:.name="張勇":.sex="男".birthday.year=1978:.birthday.month=10:.birthday.day=1.salary=2800Endwithd)withprogrammer,birthday.no=1000:.name="張勇":.sex="男".year=1978:month.=10:day.=1.salary=2800Endwith5.3問答題1.使用關(guān)鍵字Dim,ReDim和Static定義的數(shù)組分別稱為什么數(shù)組?它們各有什么特點?答:參見教材5.3。2.若有表格控件grd1,則選定表格控件grd1從第4行到第8行和從第4列到第8列的表格單元塊需使用那些語句?答:grd1.Row=4:grd1.Col=4grd1.ColSel=8:grd1.RowSel=85.4閱讀下列程序,寫出執(zhí)行結(jié)果1.PrivateSubCommand1_Click()Dimf(10)AsIntegerf(0)=1:f(1)=1Fori=2To10f(i)=f(i-2)+f(i-1)NextiFori=0To10IfiMod4=0ThenPrintPrintf(i),NextiEndSub答案:15123813892134552.PrivateSubCommand1_Click()Dims(1To6)AsIntegerFori=1To6s(i)=i
NextiFori=1To3Forj=4To6t=s(i):s(i)=s(j):s(j)=tNextjNextiFori=1To6Prints(i);NextiEndSub答案:6543213.PrivateSubCommand1_Click()Dima(1To9)AsIntegerDimb(1To3,1To3)AsIntegerDimi%,j%Fori=1To9a(i)=iNextiFori=1To3Forj=1To3b(i,j)=a(i*j)Ifj<=iThenPrintb(i,j),NextjPrintNextiEndSub答案:1243694.PrivateSubCommand1_Click()Dima(1To5,1To5)AsInteger,i%,j%Fori=1To5Forj=1To5Ifi<=jThena(i,j)=1Elsea(i,j)=i-j+1NextjNextiFori=1To5Forj=1To5Printa(i,j);NextjPrintNextiEndSub答案:11111
211113211432111543215.5編程題nn(save)2siavei1idevi1nn1.已知求成績的平均值和均方差公式為:,,其中n為學(xué)生人數(shù),si為第i個學(xué)生成績。求某班的平均成績和均方差。解答:(1)界面設(shè)計和屬性設(shè)置在窗體上建立四個標簽和兩個命令按鈕。窗體和窗體上控件的主要屬性設(shè)置如表3-5-1所示。表3-5-1第1題的屬性設(shè)置控件名稱Form1屬性名Caption屬性值求平均值和均方差Label1Label2Label3Caption平均值均方差空串1CaptionCaptionBorderStyleCaptionLabel4空串1BorderStyleCaptionCommand1Command2計算結(jié)束Caption(2)程序代碼PrivateSubCommand1_Click()Dimsum1!,sum2!,ave!,dev!,n%,i%Dims()AsIntegern=InputBox("請輸入學(xué)生人數(shù):")ReDims(1Ton)Fori=1Tons(i)=InputBox("請輸入第"&Str(i)&"個學(xué)生成績:")Nextisum1=0:sum2=0Fori=1Tonsum1=sum1+s(i)Nextiave=sum1/nFori=1Tonsum2=sum2+(s(i)-ave)^2Nextidev=Sqr(sum2/n)Label3.Caption=aveLabel4.Caption=devEndSubPrivateSubCommand2_Click()EndEndSub(3)運行情況運行程序后,單擊標題為“計算”的命令按鈕,輸入學(xué)生人數(shù)和每個學(xué)生成績。例如,輸入3、70、80和90,執(zhí)行結(jié)果如圖3.5.1所示。圖3.5.1第1題的執(zhí)行結(jié)果2.編一程序,使用隨機函數(shù)產(chǎn)生10個互不相同的兩位整數(shù)存放到一維數(shù)組中,并輸出該數(shù)組,然后求這組數(shù)中的最大值及最大值在數(shù)組中的位置。解答:(1)界面設(shè)計和屬性設(shè)置在窗體上建立兩個命令按鈕。窗體和命令按鈕的主要屬性設(shè)置如表3-5-2所示。表3-5-2第2題的屬性設(shè)置控件名稱Form1屬性名屬性值Caption求兩兩不相同隨機數(shù)最大值及其位置Command1Command2CaptionCaption開始結(jié)束(2)程序代碼PrivateSubCommand1_Click()ClsDima(1To10),i%,j%,max%,p%RandomizeFori=1To10l:a(i)=Int((90*Rnd+10))Forj=1Toi-1Ifa(i)=a(j)ThenGoTolNextjNexti有相同則重生成PrintPrintTab(2);"產(chǎn)生的隨機數(shù)為:"PrintFori=1To10Print"a(";i;")=";a(i),IfiMod4=0ThenPrintNexti‘逢4換行max=a(1):p=1Fori=2To10‘逐個單挑Ifa(i)>maxThenmax=a(i):p=iNextiPrint:PrintPrintTab(2);"最大值為:";maxPrintTab(2);"最大值所在數(shù)組元素的下標為:";pEndSubPrivateSubCommand2_Click()EndEndSub(3)運行情況程序執(zhí)行結(jié)果如圖3.5.2所示。圖3.5.2第2題的執(zhí)行結(jié)果3.把20個整型數(shù)據(jù)存放到一維數(shù)組a中,找出a中出現(xiàn)頻率最高的元素值及出現(xiàn)的次數(shù)。例如,若把1,5,4,3,5,8,5和3存放到數(shù)組a中,則出現(xiàn)頻率最高的元素值是5,出現(xiàn)的次數(shù)是3。解答:(1)界面設(shè)計和屬性設(shè)置在窗體上建立兩個命令按鈕。窗體和命令按鈕主要屬性設(shè)置如表3-5-3所示。表3-5-3第3題的屬性設(shè)置控件名稱Form1屬性名屬性值Caption找出出現(xiàn)頻率最高元素和出現(xiàn)次數(shù)Command1Command2CaptionCaption開始結(jié)束(2)程序代碼PrivateSubCommand1_Click()ClsDimi%,j%,fmax%Dima(1To20)AsInteger,b(1To20)AsIntegerPrintPrintTab(2);"用隨機函數(shù)產(chǎn)生的數(shù)值是:"RandomizeFori=1To20a(i)=Int(10*Rnd+1)Printa(i),'產(chǎn)生1~10之間的隨機整數(shù),并存放到a(i)中‘逢4換行IfiMod4=0ThenPrintNextifmax=0Fori=1To20‘利用兩次循環(huán)嵌套,對a()進行滾動式比較,每次只統(tǒng)計前面和他相同的b(i)=0Forj=1ToiIfa(i)=a(j)Thenb(i)=b(i)+1endif'b(i)用來對a(i)出現(xiàn)的次數(shù)進行計數(shù)Ifb(i)>fmaxThenfmax=b(i)EndIfNextjNextiPrintPrintTab(2);"出現(xiàn)頻率最高的數(shù)值是:";Fori=1To20Ifb(i)=fmaxThenPrinta(i);EndIfNexti‘通過b()得出iPrintPrintTab(2);"出現(xiàn)的次數(shù)是:";fmaxEndSubPrivateSubCommand2_Click()EndEndSub(3)運行情況程序執(zhí)行結(jié)果如圖3.5.3所示。圖3.5.3第3題的執(zhí)行結(jié)果4.給定兩組已按升序排列好的整型數(shù)據(jù),編寫一個程序把它們合并為一組仍按升序排列的數(shù)據(jù)。解答:(1)界面設(shè)計和屬性設(shè)置在窗體上建立兩個命令按鈕。窗體和命令按鈕的主要屬性設(shè)置如表3-5-4所示。表3-5-4第4題的屬性設(shè)置控件名稱Form1屬性名屬性值Caption把兩個升序數(shù)組合并為一個升序數(shù)組Command1Command2CaptionCaption合并結(jié)束(2)程序代碼DimaAsVariant,bAsVariant,c%(0To11)PrivateSubForm_Activate()Dimi%?數(shù)組賦值a=Array(1,2,7,8)PrintPrintTab(5);"第一個升序數(shù)組:";Fori=0To3Printa(i);Nexti‘?dāng)?shù)組賦值Print:Print‘兩個print,一個推到下一行,下一個空一行b=Array(3,4,8,8,9,10,12,12)PrintTab(5);"第二個升序數(shù)組:";Fori=0To7Printb(i);NextiEndSubPrivateSubCommand1_Click()Dimi%,j%,k%i=0:j=0:k=0Whilei<4Andj<8Ifa(i)>b(j)Thenc(k)=b(j):k=k+1:j=j+1'比較a和b中的元素,把較大的元素移到推進)(賦值,Else'c中,直到其中一個數(shù)組搬空為止c(k)=a(i):k=k+1:i=i+1EndIfWendWhilei<4c(k)=a(i):i=i+1:k=k+1'把a中剩余的元素搬到c中'把b中剩余的元素搬到c中WendWhilej<8c(k)=b(j):j=j+1:k=k+1WendPrint:PrintPrintTab(5);"合并后的升序數(shù)組:"PrintTab(8);Fori=0To11Printc(i);NextiEndSubPrivateSubCommand2_Click()EndEndSub(3)運行情況運行程序后,系統(tǒng)執(zhí)行Form_Activate事件過程,屏幕出現(xiàn)用戶界面,并顯示兩個升序數(shù)組。此時,單擊標題為“合并”的命令按鈕,系統(tǒng)執(zhí)行相應(yīng)的Click事件過程。執(zhí)行結(jié)果如圖
3.5.4所示。單擊標題為“結(jié)束”的命令按鈕,結(jié)束程序的執(zhí)行。圖3.5.4第4題的執(zhí)行結(jié)果5.從鍵盤上輸入一個正整數(shù),判別它是否為回文數(shù)。所謂回文數(shù)是指正讀和反讀都一樣的數(shù)。例如,123321是回文數(shù)。解答:(1)界面設(shè)計和屬性設(shè)置在窗體上建立兩個命令按鈕。窗體和命令按鈕的主要屬性設(shè)置如表3-5-5所示。表3-5-5第5題的屬性設(shè)置控件名稱Form1屬性名屬性值Caption判別一個整數(shù)是否為回文數(shù)Command1Command2CaptionCaption開始結(jié)束(2)程序代碼PrivateSubCommand1_Click()ClsDimnumAsLong,nAsLong,i%,k%,f%,b%(10)num=InputBox("請輸入一個整數(shù):")k=0:n=numDob(k)=nMod10k=k+1'把num的各位數(shù)字存入數(shù)組b中n=n\10LoopWhilen<>0f=1Fori=0To(k-1)/2Ifb(i)<>b(k-1-i)Thenf=0'num的第i位與第k-1-i位數(shù)字不相同時f置0Nexti'說明num不是回文數(shù)PrintIffThenPrintTab(2);num;"是回文數(shù)!"ElsePrintTab(2);num;"不是回文數(shù)!"EndIfEndSubPrivateSubCommand2_Click()EndEndSub(3)運行情況運行程序后,在調(diào)用InputBox函數(shù)出現(xiàn)對話框時,輸入一個整數(shù),例如,123454321。執(zhí)行結(jié)果如圖3.5.5所示。圖3.5.5第5題的執(zhí)行結(jié)果6.編一程序,把一個m行n列矩陣中的元素存放到一個二維數(shù)組中,并求出該數(shù)組的平均值、最大值和最小值。解答:(1)界面設(shè)計和屬性設(shè)置在窗體上建立兩個命令按鈕。窗體和命令按鈕的主要屬性設(shè)置如表3-5-6所示。表3-5-6第6題的屬性設(shè)置控件名稱Form1屬性名屬性值Caption求矩陣的平均值、最小值和最大值Command1Command2CaptionCaption開始結(jié)束(2)程序代碼PrivateSubCommand1_Click()Dimi%,j%,m%,n%,sum!,ave!,max!,min!Dima()AsSinglem=InputBox("請輸入矩陣的行數(shù):")n=InputBox("請輸入矩陣的列數(shù):")ReDima(1Tom,1Ton)PrintPrintTab(2);"輸入的矩陣為:"Fori=1TomPrintTab(15);Forj=1Tona(i,j)=InputBox("輸入第"&Str(i)&"行"&"第"&Str(j)&"列元素:")Printa(i,j);NextjPrintNextisum=0Fori=1TomForj=1Tonsum=sum+a(i,j)'求和NextjNextiave=sum/(m*n)'求平均值max=a(1,1)Fori=1TomForj=1TonIfa(i,j)>maxThenmax=a(i,j)'求最大值NextjNextimin=a(1,1)Fori=1TomForj=1TonIfa(i,j)<minThenmin=a(i,j)'求最小值NextjNextiPrintPrintTab(2);"平均值為:";avePrintTab(2);"最大值為:";maxPrintTab(2);"最小值為:";minEndSubPrivateSubCommand2_Click()EndEndSub(3)運行情況運行程序后,需多次調(diào)用InputBox函數(shù)。在調(diào)用InputBox函數(shù)出現(xiàn)對話框時,輸入矩陣的行數(shù)、矩陣的列數(shù)和數(shù)組元素的值。例如,輸入矩陣的行數(shù)3、矩陣的列數(shù)3和數(shù)組元素的值1、2、3、4、5、6、7、8、9。執(zhí)行結(jié)果如圖3.5.6所示。圖3.5.6第6題的執(zhí)行結(jié)果7.某城市三個百貨公司某個季度銷售電視機的情況和價格由如下表格表示,求各個百貨公司的電視機營業(yè)額。牌子康佳TCL長虹公司第一百貨商店第二百貨商店第三百貨商店300250150200280240210200180牌子價格康佳TCL350033003800長虹解答:(1)界面設(shè)計和屬性設(shè)置在窗體上建立兩個命令按鈕。窗體和命令按鈕的主要屬性設(shè)置如表3-5-7所示。表3-5-7第7題的屬性設(shè)置控件名稱Form1屬性名CaptionCaptionCaption屬性值計算電視機銷售額開始Command1Command2結(jié)束(2)程序代碼PrivateSubCommand1_Click()ClsDimi%,j%,sum!Dima%(1To3,1To3),p!(3)PrintPrintTab(2);"各百貨公司的銷售量"PrintTab(20);"康佳";Tab(30);"TCL";Tab(40);"長虹"Fori=1To3PrintTab(5);"第"&Str(i)&"百貨公司";Forj=1To3a(i,j)=InputBox("輸入第"&Str(i)&"百貨公司"&"第"&Str(j)&"種牌子銷售量:")PrintTab(j*10+10);a(i,j);NextjPrintNextiPrintPrintTab(2);"各種牌子價格";PrintTab(20);"康佳";Tab(30);"TCL";Tab(40);"長虹"Fori=1To3p(i)=InputBox("輸入第"&Str(i)&"種牌號價格:")PrintTab(i*10+10);p(i);NextiPri
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- arcgis軟件的認識與使用實驗報告
- 橋梁設(shè)計施工方案
- 高軌星載北斗GNSS接收機規(guī)范 編制說明
- 2025年哈爾濱電力職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試題庫參考答案
- 2025年信陽藝術(shù)職業(yè)學(xué)院單招職業(yè)技能測試題庫新版
- 2025年廣安職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試題庫附答案
- 2025年畢節(jié)職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試題庫新版
- 2023一年級數(shù)學(xué)上冊 2 位置教學(xué)實錄 新人教版
- 提高辦公效率的智能化管理策略
- 9生活離不開他們(教學(xué)設(shè)計)-2023-2024學(xué)年道德與法治四年級下冊統(tǒng)編版
- 墨子的《非攻》課件
- 民事起訴狀(證券虛假陳述責(zé)任糾紛)示范文本
- 不動產(chǎn)登記中心服務(wù)行為規(guī)范辦法(試行)
- 《ISO 55013-2024 資產(chǎn)管理-數(shù)據(jù)資產(chǎn)管理指南》專業(yè)解讀和應(yīng)用指導(dǎo)材料(雷澤佳編制-2024C0)【第1部分:1-130】
- 軟件資格考試嵌入式系統(tǒng)設(shè)計師(基礎(chǔ)知識、應(yīng)用技術(shù))合卷(中級)試卷與參考答案(2024年)
- 2024年下半年杭州黃湖鎮(zhèn)招考編外工作人員易考易錯模擬試題(共500題)試卷后附參考答案
- 浙江省第五屆初中生科學(xué)競賽初賽試題卷
- 雷鋒精神在2024:新時代下的學(xué)習(xí)
- 竣工驗收流程培訓(xùn)課件
- 2024年上海中考化學(xué)終極押題密卷三含答案
- DB14∕T 1334-2017 波形鋼腹板預(yù)應(yīng)力混凝土組合結(jié)構(gòu)橋梁懸臂施工與驗收規(guī)范
評論
0/150
提交評論