華南理工大學VB答案_第1頁
華南理工大學VB答案_第2頁
華南理工大學VB答案_第3頁
華南理工大學VB答案_第4頁
華南理工大學VB答案_第5頁
已閱讀5頁,還剩92頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第1章程序設計語言與程序設計1.1填空題1.VB是以(事件驅動)作為運行機制的新一代可視化程序設計語言。2.程序設計語言是(人)與(計算機)交流的工具。3.若從機器執行的角度來對程序設計語言進行分類,則可以分為(低級語言)和(高級語言)兩種。4.計算機系統中,對高級語言的翻譯工具稱為(編譯)程序或(解釋)程序。5.源程序中的錯誤一般分為(編譯)錯誤、(運行)錯誤和(邏輯)錯誤等三種。6.VB把一個應用程序稱為一個(工程),它包含各種文件。1.2選擇題1.把a和b的乘積寫成ab的錯誤屬于(c)錯誤。a)編譯 b)運行 c)邏輯 d)編譯和運行2.用戶在什么時候都可以按(b)鍵來查看與當前進行的工作相關的幫助。a)Held b)F1 c)ESC d)F104 窗體文件的擴展名為(d)。a).vbp b).bas c).exe d).frm4.指示一個窗體位置的值是窗體的(c)。a)對象 b)事件 c)屬性 d)方法5.下面選項中不能運行VB程序的操作是(a)。a)雙擊窗體 b)單擊“啟動”按鈕圖標c)從菜單欄運行菜單中選“全編譯執行”菜單命令 d)按F5鍵1.3問答題1.低級語言和高級語言的各自特點是什么?答:參見教材1.1。2.什么是數據描述和數據處理?答:參見教材1.2。3.源程序的翻譯方式有哪兩種,簡述它們的工作過程。答:參見教材1.1。4.一個好程序的基本要求是什么?答:參見教材1.2。5.VisualBASIC集成開發環境的主窗口由哪些部分構成?各自的主要功能是什么?答:參見教材1.3。6.簡述在VB的環境下,對象、屬性、方法、事件和事件驅動程序的概念,并用例子進行說明。答:在VB的環境下,對象是系統中的基本運行實體,它封裝了數據和操作。工具箱中的命令按鈕、標簽、文本框等是對象摸板。控件是由VB工具箱創建的對象。屬性是對象的性質或狀態特征。例如,窗體的Caption(標題)、BackColor(背景顏色)、Height(高度)和Width(寬度)等都是窗體的屬性。事件是對象之間傳遞的消息。VB控件的事件由系統預先定義。例如,Click(單擊)事件、DblClick(雙擊)事件。方法是對象在某些事件驅動下執行的特定操作。它可以執行系統預定義的操作,例如窗體的Print(打?。┓椒?、Show(顯示窗體)方法;當事件由用戶或VB系統觸發時,對象會感受到該事件并對該事件作出響應,響應某個事件后所執行的程序就是事件驅動程序。事件驅動程序有時也稱為事件過程。例如,以下是命令按鈕Command1在接受單擊事件時驅動的程序:PrivateSubCommand1_Click()Print"Helloworld!"EndSub7.總結使用VisualBASIC開發一個應用程序的過程。答:參見教材1.5。8.下面程序是什么事件驅動程序?如何執行該事件驅動程序?執行的結果如何?PrivateSubCommand1_Click()Print"歡迎你使用VB!"EndSub答:略。1.4編程題編寫一個程序。要求設置窗體的標題是“這是我的第一個練習”,且在程序執行后,單擊窗體顯示如下一行文字:我可以用VisualBASIC編寫程序了!解答:(1)用戶界面設計:設計用戶界面由一個窗體構成。(2)對用戶界面上的控件對象的屬性進行設置:把窗體的Caption屬性值設置為“這是我的第一個練習”。(3)編寫控件對象的事件驅動程序:PrivateSubForm_Click()Print"我可以用VisualBASIC編寫程序了!"EndSub第2章基本數據類型與表達式2.1填空題1.在程序設計語言系統中具有固定語法含義的符號串稱為(關鍵字),它們通常用來表示系統提供的標準過程、函數、運算符、常量等。2.(標識符)用于標記用戶自定義的常量、類型、變量、控件、過程、函數等名字。3.整型數據占(2)字節的內存空間。長整型數據占(4)個字節的內存空間。單精度浮點型數據占(4)個字節的內存空間。雙精度浮點型數據占(8)個字節的內存空間。日期型數據占(8)個字節的內存空間。4.100%表示100為(整)型數據;100!表示100為(單精度浮點)型數據;100@表示100為(貨幣)型數據。6 符號常量在某一過程中說明,則該符號常量只能在(該過程內)內有效。6.若一個整型變量說明了之后沒有給它賦值,則它的值為(0)。7.在VB中可以把類型說明符放在變量名的(末尾)來說明變量的類型。8.為使VB的編譯程序自動檢查變量聲明,遇到未經說明的標識符發出錯誤警告信息,在程序中要加上(OptionExplicit)語句。1)(3+6)`\22)18\4*4.0^2/1.63)25\3Mod3.2*Int(2.5)4)“xyz”+“438”5)“abc”&“123”&“abc”6)349.25+“0.75”=3507)“china”>=“canada”8)“abc”<=“abc”&“123”9)3>4And5=510)TrueOrNot7–3<=4答案:1)42)03)24)xyz4385)abc123abc6)True7)True8)True9)False10)True2.7設a1,a2,a3是布爾變量,其值依次為:True,True,False,寫出下列布爾表達式的值1)Nota1AndNota22)Nota1EqvNota23)a1Ora2Anda34)a1Xora2Ora35)(Nota1Ora2)And(a2Ora3)6)Nota1Anda2Impa3答案:1)False2)True3)True4)False5)True6)True2.8用關系表達式或邏輯表達式表示下列條件1)i整除j2)n是小于正整數k的偶數3)1<=x<104)x,y其中有一個小于z5)y[–100,–10],并且y[10,100]6)坐標點(x,y)落在以(10,20)為圓心,以35為半徑的圓內7)三條邊a,b和c構成三角形8)年份Year能被4整除,但不能被100整除或者能被400整除答案:1)iModj=02)n<kAndnMod2=03)1<=xAndx<104)x<zOry<z5)Not(y>=-100Andy<=-10)AndNot(y>=10Andy<=100)6)Sqr((x-10)^2+(y-15)^2)<357)a+b>cAndb+c>aAndc+a>b8)YearMod4=0AndyearMod400<>0OrYearMod400=02.9問答題1.標識符的選取必須遵循什么規則?答:參見教材2.1.2。2.各種基本數據類型的取值范圍如何?答:參見教材2.2表2-1。3.空串與空格有什么不同?答:參見教材2.1.1。4.什么是符號常量?使用符號常量有什么好處?答:參見教材2.3.1。5.自動變量與靜態變量如何定義?它們之間有什么不同?答:參見教材2.3.2。6.兩個字符串如何進行比較(關系)運算,如何確定運算結果?試舉例說明。答:參見教材2.4.3。第3章程序流程控制3.1填空題1.設變量r表示圓的半徑,則計算圓的面積并賦給變量s使用的賦值語句為(s=3.14159*r*r)。2.給命令按鈕Command2的Caption屬性賦予字符串“退出”使用的賦值語句為(Command2.Caption="退出")。3.為了求n的階乘,要求用戶輸入n的值。程序使用InputBox函數輸入,要求對話框提示信息為“請輸入一個求階乘的數:”,標題為“求數的階乘”,并且正確地把輸入的信息轉換為數值存放到變量n中,則使用的賦值語句為(n=val(InputBox("請輸入一個求階乘的數:","求數的階乘"))。4.如果使用MsgBox對話框顯示提示信息“退出本系統?”,并顯示“是(Yes)”和“否(No)”兩個按鈕,顯示圖標“?”號,指定第一個按鈕為默認值以及標題為“提示信息”,則調用MsgBox函數的形式為(MsgBox("退出本系統?",4+32+0,"提示信息"))。5.如果使用MsgBox對話框顯示提示信息“文件未找到!”,并顯示“確定”按鈕、圖標“!”號和標題“文件查找”,則使用的MsgBox語句為(MsgBox"文件未找到",0+48+0,"文件查找")。6.要在當前窗體Form和立即窗口輸出字符串“VisualBASIC6.0”使用的Print方法分別是(Print“VisualBASIC6.0”)和(Debug.Print“VisualBASIC6.0”)。7.使用Print方法時,若用逗號分隔,則按(標準)格式輸出各表達式的值,若用分號分隔,則按(緊湊)格式輸出各表達式的值。8.注釋語句是一個(非執行)語句,VB不對它們進行編譯,對程序的執行結果沒有任何影響。9.判別變量i是否為偶數,若為偶數就把它顯示出來。使用單行結構條件語句為(IfiMod2=0Thenprintx)。10.判別變量x是否大于0,若大于0,則累加到變量s1中,否則,累加到變量s2中,使用的單行結構條件語句為(Ifx>0Thens1=s1+xElses2=s2+x)。11.給定分段函數,求y的值,使用的單行結構條件語句為(Ifx>0Theny=2*x+1ElseIfx=0Theny=0Elsey=2*x-1)。12.判別a是否等于b,若a=b,則輸出字符串“aisequaltob”的塊結構條件語句為()。答案:Ifa=bThenPrint“aisequaltob”End13.判別ch是否為小寫字母,若是,輸出“yes”;否則,輸出“No”的塊結構條件語句為()。答案:IfAsc(ch)>=97AndAsc(ch)<=122ThenPrint“Yes”ElsePrint“No”EndIf14.若一個case子句中的表達式表由逗號分隔的若干個常數組成,則它的含義是:當測試表達式的值等于(這些常數中的某一個)時,執行該case子句相應的程序塊。15.若case子句中的表達式表列具有形式:<表達式1>To<表達式2>,則它的含義是:當測試表達式的值等于(這個范圍內的值)時,執行該case子句相應的程序塊。16.若case子句中的表達式表列具有形式:Is<關系運算符><表達式>,則它的含義是:當測試表達式的值滿足(Is后的關系)時,執行該case子句相應的程序塊。17.在循環語句中,反復執行的程序段稱為(循環體);進入循環體的條件稱為(循環條件);中止循環體執行的條件稱為(結束循環條件)。3.2選擇題1.下列賦值語句中,(d)是正確的。a)x?。剑bc" b)a%="10e" c)x+1=5 d)s$=1002.下列選項中,(d)不能交換變量a和b的值。a)t=b:b=a:a=tb)a=a+b:b=a-b:a=a-bc)t=a:a=b:b=td)a=b:b=a3.若在消息框MsgBox中顯示“確定(Ok)”和“取消(Cancel)”兩個按鈕,則buttons參數的設置值是(b)。a)0 b)1 c)2 d)34.若在消息框MsgBox中選擇第二個按鈕為默認值,則buttons參數的設置值是(b)。a)0 b)256 c)512 d)7685.若單擊了“終止(Abort)”按鈕,則MsgBox函數的返回值是(c)。a)1 b)2 c)3 d)46.以下不正確的單行結構條件語句是(d)。a)Ifx>yThenPrint“x>y” b)IfxThent=t*xc)IfxMod3=2Then?x d)Ifx<0Theny=2*x-1:PrintxEndIf7.給定程序段DimaAsInteger,bAsInteger,cAsIntegera=1:b=2:c=3Ifa=c-bThenPrint"#####"ElsePrint"*****"以上程序(c)。a)沒有輸出b)有語法錯c)輸出#####d)輸出*****8.把a,b之中的最大值存放于max,下面語句書寫正確的是(d)。a)Ifa>bThenmax=aElsemax=bEndIfb)Ifa>bThenmax=aElsemax=bEndIfc)Ifa>bThenmax=aElsemax=bd)Ifa>bThenmax=aElsemax=bEndIf9.下列Case語句中正確的是(c)。a) SelectCasexCase1Or3Or5y=x*x-1CaseIs>10y=x+1EndSelectb)SelectCasexCase1,3,5y=2*x-1CaseIsx<=1Y=2*x+1EndSelectc)SelectCasexCaseIs<=0y=x-1CaseIs>0y=Sqr(x)+1EndSelectd)SelectCasexCasex>=1Andx<=5y=x-1CaseIs>10y=x*x+1EndSelect10.執行下列程序段后屏幕上(c)。i%=10:Sum=0Whilei>1Sum=Sum+ii=i-1WendPrintSuma)無顯示 b)顯示10 c)顯示54 d)顯示5511.執行下列程序段輸出結果是(c)。x%=2Dowhilex<8Print“*”;x=x+2Loopa)* b)** c)*** d)****12.設有程序段Dimk%k=5Dountilk=0k=k-1Loop則下面對循環語句描述正確的是(c)。a)循環體1次也不執行b)循環體執行1次c)循環體執行5次d)循環體執行無限次13.下面描述中錯誤的是(a,c)。a)執行Dountil<條件>…loop語句中,當循環<條件>為false時,結束循環體的執行。b)執行While<條件>…Wend語句時,循環體可能一次也不執行。c)Do…loopWhile<條件>語句的循環體可能一次也不執行。d)執行Do…loopUntil<條件>語句中,當循環條件為true時,結束循環體的執行。14.下面程序段中循環語句的循環次數是(b)。Forx=10To1Step-3PrintxNextxa)0 b)4 c)5 d)1015.執行語句Fori=1to3:i=i+1:Nexti后變量i的值是(c)。a)3 b)4 c)5 d)616.下面程序段執行后輸出結果是(b)。Fori=1To2s=1Forj=0Toi-1s=s+s*jNextjPrints,Nextia)11 b)12 c)21 d)223.3閱讀下列程序,寫出執行結果1.PrivateSubForm_ClickPrint–2*3/2,“Visual”&“BASIC”,Not5>3,0.75Print–2*3/2;“Visual”&“BASIC”;Not5>3;0.75x=12.34Print“x=”;PrintxEndSub答案:-3VisualBASICFalse.75-3VisualBASICFalse.75x=12.342.PrivateSubForm_ClickPrintTab(10);-100;Tab(20);200;Tab(30);-300PrintSpc(10);-100;Spc(10);200;Spc(10);-300EndSub答案:-100200-300-100200-3003.PrivateSubForm_Clickx=12.35PrintFormat(x,”###.##”)PrintFormat(x,”##.##”)PrintFormat(x,”000.00”)PrintFormat(x,”00.0”)PrintFormat(x,”0.00%”)PrintFormat(x,”$##.##”)PrintFormat(x,”+##.##”)PrintFormat(x,”00.00E+00”)EndSub答案:12.3512.35012.3512.41235.00%$12.35+12.3512.35e+004.PrivateSubCommand1_Click()Dima%,b%,c%,s%,w%,t%a=-1:b=3:c=3s=0:w=0:t=0Ifc>0Thens=a+bIfa<=0ThenIfc<=0Thenw=a-bEndIfElseIfc>0Thenw=a-bElset=cEndIfc=a+bPrinta,b,cPrints,w,tEndSub答案:-1322005.PrivateSubCommand1_Click()Dimx%,y%x=InputBox("請輸入x的值:")SelectCasexCase1,3,5y=x-1Case6To10y=x+1Case2,4y=2*xCaseIs>10y=x*x+1EndSelectPrint"x=";x,"y=";yEndSub(x的輸入值為2.5、8、4和15)答案:x=2y=4x=8y=9x=4y=8x=15y=2266.PrivateSubCommand1_Click()Dimi%,t!t=1:i=1Whilei<10t=t*ii=i+2WendPrint"t=";tEndSub答案:t=9457.PrivateSubCommand1_Click()Dimi%,x%,y%x=1:y=1:i=1DoUntili>8IfiMod2=1Thenx=x*iElsey=y*iEndIfi=i+1LoopPrint"x=";x,"y=";yEndSub答案:x=105y=3848.PrivateSubCommand1_Click()Dimp%,s%p=1:s=1Dop=p+2:s=s+pLoopWhilep<10Print"s=";sEndSub答案:s=369.PrivateSubCommand1_Click()Dimm%,n%Form=1to3n=0Whilen<=m-1Printm,nn=n+1WendNextmEndSub答案:1020213031323.4編程題1.輸入一個學生成績,若成績在85分以上,則輸出“verygood”;若成績在60分到80分之間,則輸出“good”;若成績低于60分,則輸出“nogood”。解答:(1) 界面設計和屬性設置在窗體上建立兩個標簽、兩個文本框和兩個命令按鈕。窗體和窗體上控件的主要屬性設置如表3-3-1所示。表3-3-1第1題的屬性設置控件名稱 屬性名 屬性值Form1 Caption 根據分數給定評語Label1 Caption 分數Label2 Caption 評語Text1 Text 空串Text2 Text 空串Command1 Caption 開始Command2 Caption 結束(2) 程序代碼PrivateSubCommand1_Click()Dimscore!score=Val(Text1.Text)Ifscore>=85ThenText2.Text="Verygood!"ElseIfscore>=60ThenText2.Text="Good!"ElseText2.Text="Nogood!"EndIfEndSubPrivateSubCommand2_Click()EndEndSub(3) 運行情況運行程序后,屏幕出現用戶界面。把鼠標移到Text1文本框并單擊,輸入分數。然后,單擊“開始”命令按鈕,系統執行Command1_Click事件過程。執行結果如圖3.3.1所示。單擊標題為“結束”的命令按鈕,執行Command2_Click事件過程,結束程序的執行。圖3.3.1第1題的執行結果2.求一元二次方程ax+bx+c=0的根。解答:(1) 界面設計和屬性設置在窗體上建立兩個命令按鈕。窗體和命令按鈕的主要屬性設置如表3-3-2所示。表3-3-2第2題的屬性設置控件名稱 屬性名 屬性值Form1 Caption 求一元二次方程的根Command1 Caption 開始Command2 Caption 結束(2) 程序代碼由中學數學知識知道,求一元二次方程的根的公式為:,編程時要考慮如下各種情況:①當a=0時,方程不是二次方程;②當b2-4ac=0時,有兩個相同的實根:;③當b2-4ac>0時,有兩個不同的實根:;④當b2-4ac<0時,有兩個共軛復根:。PrivateSubCommand1_Click()ClsDima!,b!,c!,disc!,x1!,x2!,realpart!,imagpart!a=InputBox("請輸入方程的系數a:")b=InputBox("請輸入方程的系數b:")c=InputBox("請輸入方程的系數c:")Print:PrintPrintTab(10);"輸入方程的系數為:";"a=";a;"b=";b;"c=";cPrintIfAbs(a)<=0.000001ThenPrintTab(15);"方程不是一個二次方程!"Elsedisc=b^2-4*a*cIfAbs(disc)<=0.000001ThenPrintTab(10);"方程有兩個相同的實根:";"x1=x2=";-b/(2*a)ElseIfdisc>0.000001Thenx1=(-b+Sqr(disc))/(2*a)x2=(-b-Sqr(disc))/(2*a)PrintTab(5);"方程有兩個實根:"PrintTab(18);"x1=";x1PrintTab(18);"x2=";x2ElseIfdisc<0.000001Thenrealpart=-b/(2*a):imagpart=Sqr(-disc)/(2*a)PrintTab(5);"方程有兩個虛根:";PrintTab(18);"x1=";realpart;"+";imagpart;"i"PrintTab(18);"x2=";realpart;"-";imagpart;"i"EndIfEndIfEndSubPrivateSubCommand2_Click()EndEndSub注意,程序中的條件“fabs(a)<=0.000001”和“fabs(disc)<=0.000001”分別用來判斷a和disc的值是否為0。因為實數在計算機計算和存儲時會有微小的誤差,若用“a=0”和“disc=0”來判斷a和disc是否為0,則會由于誤差導致條件不成立,無法得到正確的運行結果。(3)運行情況運行程序后,單擊“開始”命令按鈕,執行Command1_Click事件過程。執行時,在InputBox框中輸入a、b和c三個系數。圖3.3.2~圖3.3.5顯示了不同系數輸入的執行結果。圖3.3.2執行結果(a)圖3.3.3執行結果(b)圖3.3.4執行結果(c)圖3.3.5執行結果(d)3.給定函數y=,從鍵盤上輸入x的值,求y的值。(要求使用Case語句)解答:(1)界面設計和屬性設置在窗體上建立兩個命令按鈕。窗體和命令按鈕的主要屬性設置如表3-3-3所示。表3-3-3第3題的屬性設置控件名稱 屬性名 屬性值Form1 Caption 求給定分段函數的值Command1 Caption 開始Command2 Caption 結束(2) 程序代碼PrivateSubCommand1_Click()ClsDimx!,y!x=InputBox("請輸入x的值:")Ifx>=1Andx<=5ThenSelectCasexCaseIs<2y=3*x-5CaseIs<4y=2*Cos(x)+1CaseIs<=5y=Sqr(1+x*x)EndSelectElsey=x*x-4*x+5EndIfPrintTab(10);"x=";x,"y=";yEndSubPrivateSubCommand2_Click()EndEndSub(3)運行情況運行程序后,單擊“開始”命令按鈕,執行事件過程Command1_Click。執行時,按InputBox對話框提示,輸入x的值。計算結果在窗體上顯示。4.輸入圓的半徑R和運算標志,按照運算標志進行指定運算。給定的運算標志及其表示的運算如下:C(Circle)表示計算周長A(Area)表示計算面積B(Both)表示周長和面積都計算(要求使用Case語句)解答:(1)界面設計和屬性設置在窗體上放置兩個命令按鈕。窗體和命令按鈕的主要屬性設置如表3-3-4所示。表3-3-4第4題的屬性設置控件名稱 屬性名 屬性值Form1 Caption 計算圓周長或圓面積或兩者都計算Command1 Caption 開始Command2 Caption 結束(2)程序代碼PrivateSubCommand1_Click()ClsDimr!,fAsString*1Constpi!=3.14159265r=InputBox("請輸入圓的半徑r:")Ifr>=0Thenf=UCase(InputBox("輸入運算標志:"+Chr(13)&_"C___(計算周長)"+Chr(13)&_"A___(計算面積)"+Chr(13)&_"B___(兩者都計算)"))'提示信息分多行顯示SelectCasefCase"C"PrintTab(10);"半徑r=";r;"圓周長=";r*2*piCase"A"PrintTab(10);"半徑r=";r;"圓面積=";r^2*piCase"B"PrintTab(10);"半徑r=";r;"圓周長=";r*2*piPrintTab(10);"半徑r=";r;"圓面積=";r^2*piCaseElsePrintTab(18);"輸入的運算標志錯!"EndSelectElsePrintTab(18);"半徑不能是負數!"EndIfEndSubPrivateSubCommand2_Click()EndEndSub(3)運行情況運行程序后,單擊標題為“開始”的命令按鈕,執行Command1_Click事件過程。按InputBox對話框的提示輸入半徑r和運算標志。計算結果在窗體上顯示。5.求滿足12+22+…+n2>1000的最小n值。(要求使用While…WEnd語句)解答:(1)界面設計和屬性設置在窗體上建立兩個命令按鈕。窗體和命令按鈕的主要屬性設置如表3-3-5所示。表3-3-5第5題的屬性設置控件名稱 屬性名 屬性值Form1 Caption 求滿足1^2+2^2+…+n^2>1000的最小n值Command1 Caption 開始Command2 Caption 結束(2)程序代碼PrivateSubCommand1_Click()Dimn%,s&n=0:s=0Whiles<=1000n=n+1s=s+n^2WendPrint:Print:PrintPrintTab(8);"滿足1^2+2^2+…+n^2>1000的最小n值為:";nEndSubPrivateSubCommand2_Click()EndEndSub6.輸入若干個正實數,個數預先不能確定,求這些正實數之和。(要求分別使用DoWhile…Loop語句和DoUntil…Loop語句)解答:(1)界面設計和屬性設置在窗體上建立三個命令按鈕。窗體和命令按鈕的主要屬性設置如表3-3-6所示。表3-3-6第6題的屬性設置控件名稱 屬性名 屬性值Form1 Caption 求正實數之和Command1 Caption DoWhile…LoopCommand2 Caption DoUntil…LoopCommand3 Caption 結束(2)程序代碼PrivateSubCommand1_Click()ClsDima!,s!a=InputBox("輸入一個實數:")DoWhilea>=0s=s+aa=InputBox("輸入一個實數:")LoopPrint:PrintPrintTab(15);"輸入的正實數之和為:";sEndSubPrivateSubCommand2_Click()ClsDima!,s!a=InputBox("輸入一個實數:")DoUntila<0s=s+aa=InputBox("輸入一個實數:")LoopPrint:Print:PrintPrintTab(15);"輸入的正實數之和為:";sEndSubPrivateSubCommand3_Click()EndEndSub(3)運行情況運行程序后,屏幕出現用戶界面如圖3.3.6所示。單擊標題為“DoWhile…Loop”或標題為“DoWhile…Loop”的命令按鈕,系統執行相應的Click事件過程。用戶可以輸入一系列數據,以輸入-1作結束。窗體顯示運算結果。單擊“結束”按鈕,結束程序執行。圖3.3.6第6題的執行結果7.使用公式來求π的近似值,直到最后一項的值小于10-8為止。(要求使用Do…LoopWhile語句)解答:(1)界面設計和屬性設置在窗體上建立兩個命令按鈕。窗體和命令按鈕的主要屬性設置如表3-3-7所示。表3-3-7第7題的屬性設置控件名稱 屬性名 屬性值Form1 Caption 求圓周率的近似值Command1 Caption 開始Command2 Caption 結束(2)程序代碼PrivateSubCommand1_Click()Dimi&,s#,term#i=1s=0Doterm=1/(i*i)s=s+termi=i+1LoopWhileterm>=0.00000001Print:Print:PrintPrintTab(8);"圓周率的近似值為:";Sqr(6*s)EndSubPrivateSubCommand2_Click()EndEndSub(3)運行情況運行程序后,單擊標題為“開始”的命令按鈕,執行Command1_Click事件過程。計算結果在窗體上顯示。8.由數值計算方法可知,用牛頓迭代法解方程f(x)=0的迭代公式為:試用牛頓迭代法求解方程x5-3x2+2x+1=0在x0=0附近的根。(要求使用Do…LoopUntil語句)解答:(1)界面設計和屬性設置在窗體上建立兩個命令按鈕。窗體和命令按鈕的主要屬性設置如表3-3-8所示。表3-3-8第8題的屬性設置控件名稱 屬性名 屬性值Form1 Caption 用牛頓法求方程的根Command1 Caption 開始Command2 Caption 結束(2)程序代碼根據迭代公式,牛頓迭代法的計算過程為:①令n=0,由迭代公式得,然后判別∣x1-x0∣是否小于ε(給定精度)。若是,則迭代結束,x1作為方程的近似根;否則,進行下一步。②令n=1,由迭代公式得,然后判別∣x2-x1∣是否小ε。若是,則迭代結束,x2作為方程的近似根;否則,由x2求x3的值,判斷∣x3-x2∣。┇按這樣迭代下去,一直到∣xi+1-xi∣<ε(i=0,1,2,…)為止。根據上述計算過程可以編寫程序為:PrivateSubCommand1_Click()Dimx0!,x1!x1=0Dox0=x1x1=x0-(x0^5-3*x0^2+2*x0+1)/(5*x0^4-6*x0+2)LoopUntilAbs(x1-x0)<0.00001PrintTab(10);"方程的根為:";x1EndSubPrivateSubCommand2_Click()EndEndSub(3)運行情況運行程序后,單擊標題為“開始”的命令按鈕,執行Command1_Click事件過程。在窗體上顯示計算結果。9.求S=的值。解答:(1)界面設計和屬性設置在窗體上建立兩個命令按鈕。窗體和命令按鈕的主要屬性設置如表3-3-9所示。表3-3-9第9題的屬性設置控件名稱 屬性名 屬性值Form1 Caption 求s=1-1/2+1/3-1/4+…+1/99-1/100的值Command1 Caption 開始Command2 Caption 結束(2)程序代碼PrivateSubCommand1_Click()Dimi%,s!,sign%sign=1:s=0Fori=1To100s=s+sign*1/isign=-signNextiPrint:Print:PrintPrintTab(18);"s的值為:";sEndSubPrivateSubCommand2_Click()EndEndSub(3)運行情況運行程序后,單擊標題為“開始”的命令按鈕,執行Command1_Click事件過程。窗體顯示計算結果。10.求100到999中的水仙花數。所謂水仙花數是指一個三位數,它的各位數字的立方之和等于該數。例如,因為153=13+53+33,所以153是水仙花數。解答:(1)界面設計和屬性設置在窗體上建立兩個命令按鈕。窗體和命令按鈕的主要屬性設置如表3-3-10所示。表3-3-10第10題的屬性設置控件名稱 屬性名 屬性值Form1 Caption 求水仙花數Command1 Caption 開始Command2 Caption 結束(2)程序代碼PrivateSubCommand1_Click()Dimi%,a%,b%,c%PrintPrintTab(5);"100--999之間的水仙花數為:"Fori=100To999a=i\100b=(i-a*100)\10c=i-a*100-b*10Ifi=a^3+b^3+c^3ThenPrintTab(10);iEndIfNextiEndSubPrivateSubCommand2_Click()EndEndSub(3)運行情況執行結果如圖3.3.7所示。圖3.3.7第10題的執行結果11.求1000之內的所有完數。所謂完數是指一個數恰好等于它的所有因子之和。例如,因為6=1+2+3,所以6為完數。解答:(1)界面設計和屬性設置在窗體上建立兩個命令按鈕。窗體和命令按鈕的主要屬性設置如表3-3-11所示。表3-3-11第11題的屬性設置控件名稱 屬性名 屬性值Form1 Caption 求完數Command1 Caption 開始Command2 Caption 結束(2)程序代碼PrivateSubCommand1_Click()Dimi%,j%,s%PrintPrintTab(5);"1--1000之內的完數為:"Fori=1To1000s=0Forj=1Toi-1IfiModj=0Thens=s+jNextjIfi=sThenPrintTab(5);iNextiEndSubPrivateSubCommand2_Click()EndEndSub(3) 運行情況程序執行結果如圖3.3.8所示。圖3.3.8第11題的執行結果12.在窗體上輸出形如以下圖形,其中第一行的起始字母和終止字母由用戶從鍵盤上輸入。ABCDEBCDEACDEABDEABCEABCD解答:(1)界面設計和屬性設置在窗體上建立兩個命令按鈕。窗體和命令按鈕的主要屬性設置如表3-3-12所示。表3-3-12第12題的屬性設置控件名稱 屬性名 屬性值Form1 Caption 輸出由字母構成的圖形Command1 Caption 開始Command2 Caption 結束(2)程序代碼PrivateSubCommand1_Click()ClsDimstargAsString*1,endgAsString*1,stargc%,endgc%,i%,j%,k%starg=UCase(InputBox("請輸入起始字母:"))endg=UCase(InputBox("請輸入終止字母:"))stargc=Asc(starg)endgc=Asc(endg)PrintIfstargc<=endgcThenFori=0Toendgc-stargcPrintTab(24);Forj=stargc+iToendgcPrintChr(j);NextjFork=stargcTostargc+i-1PrintChr(k);NextkPrintNextiElsePrintTab(15);"起始字母必須先于終止字母!"EndIfEndSubPrivateSubCommand2_Click()EndEndSub(3)運行情況運行程序后,需在InputBox對話框輸入起始字母和終止字母。執行結果在窗體上顯示。13.已知XYZ+YZZ=532,其中X,Y和Z為0~9的數字,編程求出X、Y和Z,并在窗體上把算式顯示出來。解答:(1)界面設計和屬性設置在窗體上建立兩個命令按鈕。窗體和命令按鈕的主要屬性設置如表3-3-13所示。表3-3-13第13題的屬性設置控件名稱 屬性名 屬性值Form1 Caption 求算式中的數字Command1 Caption 開始Command2 Caption 結束(2)程序代碼PrivateSubCommand1_Click()Dimx%,y%,z%,i%PrintPrintTab(23);"x";"y";"z"PrintTab(22);"+";"y";"z";"z"PrintTab(21);"------------"PrintTab(23);5;3;2Forx=1To9Fory=1To9Forz=0To9i=100*x+10*y+z+100*y+10*z+zIfi=532ThenPrint:PrintTab(10);"算式中的數字為:";_"x=";x;"y=";y;"z=";z;"即":GoTolNextzNextyNextxl:PrintPrintTab(23);x;y;zPrintTab(22);"+";y;z;zPrintTab(21);"------------"PrintTab(23);5;3;2EndSubPrivateSubCommand2_Click()EndEndSub(3)運行情況執行結果如圖3.3.9所示。圖3.3.9第13題的執行結果第4章常用控件4.1填空題1.在圖片框上放置的控件稱為圖片框的(子)對象,而窗體是圖片框的(父)對象。2.窗體的“名稱”(Name)屬性只能在(屬性窗口中)設置。3.在程序中設置窗體Forml的Caption屬性為“主窗體”,使用的賦值語句是(Forml.Caption=”主窗體”)。4.當窗體的Enabled屬性為(True)時,指定窗體響應事件。5.窗體的Unload事件是在QueryUnload事件發生之(后)發生。6.程序中,把當前窗體移動到屏幕左上角使用的方法為(Move0,0)。7.在窗體Form1中坐標為(1600,800)的位置上輸出字符串“VisualBASIC6.0”使用的語句為(Form1.Currrentx=1600)、(Form1.Currenty=800)、和(Form1.Print“VisualBASIC6.0”)。8.若使文本框有邊框,需設置BorderStyle屬性的值為(1)。9.在程序運行期間,用戶可以用文本框顯示信息。文本框接受輸入的內容的屬性是(Text)。10.若使文本框內能夠接受多行文本,則要設置Multiline屬性的值為(True)。11.要把圖形文件“c:\sample\diannt.jpg”裝載到圖片框Picture1上,使用的語句為(Picture1.Picture=LoadPicture(“c:\sample\diannt.jpg”))。12.若使圖片框自動調整大小以適應裝入的圖形,則要設置Autosize屬性的值為(True)。13.除了在程序使用LoadPicture函數裝載圖形外,還可以在設計階段通過修改(Picture)屬性裝載圖形。14.若程序中要把一些文本內容輸出到圖片框PictureBox,應使用(Print)方法。15.當單選按鈕OptionButton的Value屬性為(False)時,表示該單選按鈕處于未選中狀態。16.若使命令按鈕Command1重新生效,則使用的賦值語句為(Command1.Enabled=True)。17.若使命令按鈕不能接收和響應任何事件,可以設置Visible屬性的值為(False)。18.只有控件對象的Enabled和Visible屬性值都為(True)時,該控件對象才能接受焦點。19.Tab順序是由建立控件時的(先后順序)來確定。20.設置框架Frame上的文本內容需要使用(Caption)屬性。21.在框架上可以設置一組相關控件,這些控件作為框架的(子)控件,它們具有總體的激活/屏蔽特性。22.若屏蔽框架上的控件對象,則需設置(Enabled)屬性的值為False。23.列表框ListBox中項目的序號從(0)開始到(Listcount-1)結束。24.要顯示列表框List1中序號為3項目內容,語句為(PrintList1.List(3))。25.向組合框Combo2添加序號為5,內容為“計算機學院”的項目,使用的語句為(Combo2.AddItem“計算機學院”,5)。26.要刪除組合框Combo1序號為3的項目,使用的語句為(Combo1.ReMoveItem3)。27.使用滾動條ScrollBar時,若要設置當用鼠標單擊兩個滾動箭頭之間區域的滾動幅度,需使用(LargeChange)屬性。28.若要設置水平或垂直滾動條的最小值,需使用(Min)屬性。29.計時器Timer每經過一個由InterVal屬性指定的時間間隔就會觸發一次(Timer)事件。30.若要使計時器每0.5鈔鐘觸發一次Timer事件,則要把InterVal屬性值設置為(500)。4.2選擇題1.窗體標題欄的顯示內容由窗體的(b)屬性決定。a)Name b)Caption c)BackColor d)Enabled2.當窗體被裝入內存時,系統將自動執行(a,b)事件過程。a)Load b)Activate c)Unload d)QueryUnload3.在標簽框上顯示的內容由(b)屬性來實現。a)Name b)Caption c)Text d)ForeColor4.要使標題在標簽框內居中顯示,Alignment屬性的取值應為(2)。a)0 b)1 c)2 d)35.若使標簽框根據所顯示內容自動調整其大小,則可以通過設置(a)屬性值為True來實現。a)AutoSize b)Alignment c)Enabled d)Visible6.文本框沒有(d)屬性。a)BackColor b)Enabled c)Visible d)Caption7.若設置文本框最多可以接受的字符數,則可以使用(d)屬性。a)Length b)Multiline c)Max d)MaxLength8.在文本框中設置垂直滾動條,要使ScrollBars的值為(c)。a)0 b)1 c)2 d)39.在運行程序時,要使文本框獲得焦點,則需使用(b)方法。a)Change b)SetFocus c)GotFocus d)Move10.下列控件中,沒有AutoSize屬性的是(b,d)。a)標簽 b)文本框 c)圖片框 d)圖像框11.若把圖片框Picture1中的圖形清除,可以使用的語句是(b,c,d)。a)Picture1.Delb)Picture1.Picture=LoadPicture("")c)Picture1.Picture=LoadPicture()d)Picture1.Picture=Nothing12.命令按鈕上的文本內容由(b)屬性來設置。a)Text b)Caption c)Name d)Show13.若將命令按鈕設置為默認選擇命令按鈕,可以通過(c)屬性來實現。a)Value b)Cancel c)Default d)Enabled14.要使命令按鈕失效,則可以設置(b)屬性的值為False來實現。a)Value b)Enabled c)Visible d)Cancel15.若使命令按鈕在屏幕不可見,則可以通過修改(c)屬性實現。a)Value b)Enabled c)Visible d)Cancel16.當復選框Value屬性值為(b)表示該復選框被選中。a)0 b)1 c)2 d)317.改變控件的Tab順序可以修改(d)屬性值。a)Visible b)Enabled c)TabStop d)TabIndex18.下列控件中(d)不能接受GotFocus和LostFocus事件。a)命令按鈕 b)組合框 c)復選按鈕 d)計時器19.要使列表框中的項目垂直滾動,應設置Columns屬性值為(a)。a)0 b)1 c)2 d)320.若要得到列表框中項目的數目,可以訪問(c)屬性。a)List b)ListIndex c)ListCount d)Text21.設置列表框的選擇方式,應使用(b)屬性。a)Columns b)MultiSelect c)Style d)List22.若要清除列表框的所有項目內容,可以使用(c)方法。a)AddItem b)ReMove c)Clear d)Print23.刪除列表框中的某一個項目,需要使用(d)方法。a)Clear b)ReMove c)Move d)ReMoveItem24.在組合框中選擇某一項目內容,可以通過(d)屬性獲得。a)List b)ListIndex c)ListCount d)Text25.若要獲得滾動條的當前位置,可以通過訪問(a)屬性來實現。a)Value b)Max c)Min d)LargeChange26.當用鼠標拖動滾動塊時觸發(b,c)事件。a)Move b)Change c)Scroll d)GotFocus27.設置計時器的時間間隔可以通過(d)屬性來實現。a)Value b)Text c)Max d)InterVal28.暫時關閉計時器,需設置( b)屬性。a)Visible b)Enabled c)Lock d)Cancel4.3問答題1.在VB集成環境中,用屬性窗口設置字體(Font)屬性時,系統將彈出一個對話框(見圖4-10),指出該對話框中包含些什么控件?答:在該對話框中包含列表框、命令按鈕、框架、復選框和文本框等控件。2.設Text1為某一文本框名,下列程序段的輸出結果是什么?Text1.Text="abcdefghijk"Text1.selstart=3Text1.sellength=5PrintText1.SelText答:輸出結果是:defgh3.標簽和文本框有什么區別?答:參見教材4.3。4.比較用Print方法輸出和用標簽輸出的優缺點。答:窗體、圖片框和打印機等具有Print方法,用于直接輸出文本。輸出格式、字體風格通過語句中的格式控制和對象的字體屬性共同完成。Print方法只有在程序運行后,執行代碼才能顯示結果。標簽控件利用Caption屬性輸出文本,可以通過字體屬性設置顯示風格。其屬性可以在設計階段給定,也可以在程序運行時改變。標簽控件是窗體的子對象,主要用于界面設計,不能輸出復雜格式的數據,特別地,不能直接把輸出送到外部設備,如打印機。5.圖片框和圖象框的作用是什么?它們之間有什么區別?在什么情況下可以相互代替?在什么情況下必須使用圖片框?答:參見教材4.4。6.框架的作用是什么?如何在框架中建立控件?答:參見教材4.6。4.4編程題1.編一程序能夠實現:每次單擊命令按鈕Command1能使標簽Label1上的文字在窗體Form1上往右移動100緹,當標簽在窗體Form1上往右移出窗體的右邊界時,再次單擊命令按鈕Command1能使標簽回到窗體的左邊界。解答:(1)界面設計和屬性設置在窗體上建立一個標簽和兩個命令按鈕。窗體和窗體上控件的主要屬性設置如表3-4-1所示。表3-4-1第1題的屬性設置控件名稱 屬性名 屬性值Form1 Caption 使標簽往右移Label1 CaptionFontNameFontSize 歡迎使用VB!隸書三號字Command1 Caption 移動Command2 Caption 結束(2)程序代碼PrivateSubCommand1_Click()IfLabel1.Left>Form1.ScaleWidthThenLabel1.Left=0ElseLabel1.Left=Label1.Left+100EndIfEndSubPrivateSubCommand2_Click()EndEndSub(3)運行情況運行程序后,屏幕出現用戶界面。每單擊一次標題為“移動”的命令按鈕,執行Command1_Click事件過程,使標簽往右移100緹。右移出窗體的右邊界時,再次單擊“移動”命令按鈕,標簽回到窗體的左邊界。執行情況如圖3.4.1所示。圖3.4.1第1題的執行情況2.編寫一個把某些英文單詞翻譯為中文單詞的簡單程序。要求用戶界面為一個窗體,窗體左側是一個文本框,用戶在這里輸入想要翻譯的英文單詞(注意輸入一個新的單詞之前應清除原有內容);窗體中間是一個命令按鈕,在該命令按鈕上面顯示“翻譯”兩字;窗體右側也是一個文本框;當程序運行時,用戶按下命令按鈕后,窗體右側的文本框顯示單詞的中文意思。如果找不到想要翻譯的英文單詞,則給出相應的信息。解答:(1)界面設計和屬性設置在窗體上建立兩個標簽、兩個文本框和一個命令按鈕。窗體和窗體上控件的主要屬性設置如表3-4-2所示。表3-4-2第2題的屬性設置控件名稱 屬性名 屬性值Form1 Caption 英文單詞翻譯為中文單詞Label1 Caption 英文Label2 Caption 中文Text1 Text 空串Text2 Text 空串Command1 Caption 翻譯(2)程序代碼PrivateSubForm_Load()Text1.Text="":Text2.Text=""EndSubPrivateSubCommand1_Click()SelectCaseLCase(Trim(Text1.Text))Case"china"Text2.Text="中國"Case"france"Text2.Text="法國"Case"england"Text2.Text="英國"Case"america"Text2.Text="美國"Case"india"Text2.Text="印度"CaseElseText2.Text="找不到該單詞!"EndSelectEndSubPrivateSubText1_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)Text1.Text="":Text2.Text=""EndSub(3)運行情況上機運行程序后,屏幕出現用戶界面。此時,把鼠標移到Text1文本框并單擊,然后輸入英文國家名,例如,China。英文國家名輸入后,單擊標題為“翻譯”的命令按鈕,系統執行相應的Click事件過程。執行結果如圖3.4.2所示。單擊工具欄上的“結束”按鈕,系統結束程序的執行。圖3.4.2第2題的執行結果3.在文本框中輸入算術表達式,并以回車符作為輸入結束標志。對表達式中的圓括號是否配對進行檢查,且給出配對或不配對信息。若配對,則給出“左右圓括號配對”的信息;否則,給出“左圓括號多于右圓括號”或“右圓括號多于左圓括號”的信息。解答:(1)界面設計和屬性設置在窗體上建立一個文本框。窗體和文本框的主要屬性設置如表3-4-3所示。表3-4-3第3題的屬性設置控件名稱 屬性名 屬性值Form1 Caption 判別算術表達式中的圓括號是否配對Text1 Text 空串(2)程序代碼DimnAsIntegerPrivateSubText1_KeyPress(KeyAsciiAsInteger)ClsIfChr(KeyAscii)="("Thenn=n+1ElseIfChr(KeyAscii)=")"The

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論