VB電腦課實(shí)驗(yàn)-答案_第1頁(yè)
VB電腦課實(shí)驗(yàn)-答案_第2頁(yè)
VB電腦課實(shí)驗(yàn)-答案_第3頁(yè)
VB電腦課實(shí)驗(yàn)-答案_第4頁(yè)
VB電腦課實(shí)驗(yàn)-答案_第5頁(yè)
已閱讀5頁(yè),還剩103頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 學(xué)院專業(yè)(班級(jí))姓名學(xué)號(hào)任課教師目錄實(shí)驗(yàn)一 Visual Basic編程環(huán)境和控件1實(shí)驗(yàn)二 窗體及基本控件使用6實(shí)驗(yàn)三 順序結(jié)構(gòu)程序設(shè)計(jì)13實(shí)驗(yàn)四 選擇結(jié)構(gòu)程序設(shè)計(jì)19實(shí)驗(yàn)五 選擇結(jié)構(gòu)程序設(shè)計(jì)(續(xù))24實(shí)驗(yàn)六 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)30實(shí)驗(yàn)七 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)(續(xù))34實(shí)驗(yàn)八 常用控件38實(shí)驗(yàn)九 常用控件(續(xù))45實(shí)驗(yàn)十 數(shù)組50實(shí)驗(yàn)十一 數(shù)組(續(xù))56實(shí)驗(yàn)十二 順序文件60實(shí)驗(yàn)十三 過(guò)程67實(shí)驗(yàn)十四 過(guò)程(續(xù))72實(shí)驗(yàn)十五 菜單及通用對(duì)話框77實(shí)驗(yàn)十六 隨機(jī)文件(選作)80附錄:VB統(tǒng)考編程題(精選)83期末自測(cè)題(A卷)92期末自測(cè)題(B卷)97 實(shí)驗(yàn)報(bào)告的整理與編寫(xiě)上機(jī)實(shí)驗(yàn)結(jié)束后,編寫(xiě)實(shí)驗(yàn)報(bào)

2、告是軟件工程的要求,也是培養(yǎng)科學(xué)作風(fēng)的重要途徑,實(shí)驗(yàn)報(bào)告的主要內(nèi)容包括:(1)實(shí)驗(yàn)?zāi)康?實(shí)驗(yàn)作為教學(xué)的一個(gè)重要環(huán)節(jié),其目的在于更深入地理解和掌握課程教學(xué)中的有關(guān)基本概念,應(yīng)用基本技術(shù)解決實(shí)際問(wèn)題,從而進(jìn)一步提高分析問(wèn)題和解決問(wèn)題的能力。因此,當(dāng)我們著手做一個(gè)實(shí)驗(yàn)的時(shí)候,必須明確實(shí)驗(yàn)的目的,以保證達(dá)到課程所指定的基本要求。在寫(xiě)實(shí)驗(yàn)報(bào)告時(shí),要進(jìn)一步確認(rèn)是否達(dá)到了預(yù)期的目的。 (2)實(shí)驗(yàn)內(nèi)容 實(shí)驗(yàn)的目的是要通過(guò)解決一些具體問(wèn)題來(lái)達(dá)到的。在書(shū)中,每一部分都安排了多個(gè)實(shí)驗(yàn)題目,根據(jù)教學(xué)安排、進(jìn)度、實(shí)驗(yàn)條件、可提供的機(jī)時(shí)、學(xué)生的基礎(chǔ)等因素,可以選擇其中的幾個(gè)或全部。因此,在實(shí)驗(yàn)報(bào)告中,實(shí)驗(yàn)內(nèi)容是指本次實(shí)驗(yàn)

3、中實(shí)際完成的內(nèi)容。在每一個(gè)實(shí)驗(yàn)題目中,一般都提出一些具體要求,其中有些具體要求是為了達(dá)到實(shí)驗(yàn)?zāi)康亩岢龅?,不僅有具體的實(shí)驗(yàn)題目,還應(yīng)包括具體要求。 (3)程序設(shè)計(jì)說(shuō)明 包括算法設(shè)計(jì)思路,必要的流程圖,界面設(shè)計(jì)說(shuō)明、使用模塊及變量的說(shuō)明等。 (4)源程序代碼Visual Basic的源程序包括界面設(shè)計(jì)和代碼。程序設(shè)計(jì)的產(chǎn)品是程序,它應(yīng)與算法或流程圖相一致,要與用戶界面設(shè)計(jì)一致。程序要有具有易讀性,符合結(jié)構(gòu)化原則。 (5)程序的運(yùn)行結(jié)果(包括對(duì)不同測(cè)試數(shù)據(jù)的運(yùn)行結(jié)果) 程序運(yùn)行結(jié)果一般是輸出語(yǔ)句所輸出的結(jié)果。對(duì)于不同的輸入,其輸出的結(jié)果是不同的。因此,在輸出結(jié)果之前一般還應(yīng)注明輸入的數(shù)據(jù),以便對(duì)輸

4、出結(jié)果進(jìn)行分析和比較。在程序的運(yùn)行中,還必須用各種不同情況的數(shù)據(jù)進(jìn)行調(diào)試,以檢查程序能否正常運(yùn)行。因?yàn)椋袝r(shí)程序?qū)δ承┣闆r是可以正常運(yùn)行的,而對(duì)某些特殊情況的數(shù)據(jù)可能會(huì)出現(xiàn)運(yùn)行出錯(cuò)或死機(jī),通過(guò)各種數(shù)據(jù)的調(diào)試,盡量做到程序不會(huì)出問(wèn)題。(6) 實(shí)驗(yàn)體會(huì)分析和體會(huì)實(shí)驗(yàn)中碰到的問(wèn)題及解決方法,這是實(shí)驗(yàn)報(bào)告中最重要的一項(xiàng),也是最容易忽視的一項(xiàng)。實(shí)驗(yàn)過(guò)程中大量的工作是程序調(diào)試,在調(diào)試過(guò)程中會(huì)遇到各種各樣的問(wèn)題,每解決一個(gè)問(wèn)題就能積累一點(diǎn)經(jīng)驗(yàn),提高自己的編程能力。因此,對(duì)實(shí)驗(yàn)的總結(jié),最主要的是程序調(diào)試經(jīng)驗(yàn)的總結(jié)。調(diào)試分析也包括對(duì)結(jié)果的分析。體會(huì)主要是指通過(guò)本次實(shí)驗(yàn)是否達(dá)到了實(shí)驗(yàn)?zāi)康?,有哪些基本概念得到了澄?/p>

5、,碰到了那些以前沒(méi)有見(jiàn)到的問(wèn)題,最后采用什么方法得到解決等。 105實(shí)驗(yàn)日期 年 月 日實(shí)驗(yàn)一 Visual Basic編程環(huán)境和控件一、實(shí)驗(yàn)?zāi)康?、掌握啟動(dòng)與退出Visual Basic的方法。2、掌握Visual Basic語(yǔ)言程序的開(kāi)發(fā)環(huán)境.3、掌握Visual Basic語(yǔ)言程序設(shè)計(jì)的方法與特點(diǎn)4、掌握建立、編輯、運(yùn)行和保存一個(gè)簡(jiǎn)單的Visual Basic應(yīng)用程序的全過(guò)程。二、實(shí)驗(yàn)內(nèi)容申請(qǐng)一個(gè)免費(fèi)郵箱(如果已經(jīng)有郵箱,請(qǐng)?zhí)^(guò)),以便以后將每星期編制的程序壓縮并存放在郵箱中(或者保存在U盤中),以便復(fù)習(xí)時(shí)用。1. 創(chuàng)建第一個(gè)應(yīng)用程序。編寫(xiě)一個(gè)簡(jiǎn)單程序,實(shí)現(xiàn)單擊命令按鈕時(shí)在文本框顯示“單

6、擊命令按鈕”,單擊窗體空白處時(shí)在文本框顯示“單擊窗體”。 保存窗體文件名:SY1_1.frm,保存工程名:SY1_1.vbp。程序界面如圖1 1.所示。 圖1.1 實(shí)驗(yàn)1的運(yùn)行界面【步驟】 啟動(dòng)Visual Basic6.0,在彈出的“新建工程”對(duì)話框中選擇“標(biāo)準(zhǔn)EXE”。 在窗體上建立一個(gè)文本框和一個(gè)命令按鈕。建立方法:在左邊工具箱上,單擊要繪制的控件的按鈕,再把鼠標(biāo)移到窗體,按住鼠標(biāo)左鍵畫(huà)出所需大小的框體?;蛘呤请p擊工具箱的要繪制的控件的按鈕。 分別選中命令按鈕和文本框,在屬性窗口中對(duì)各屬性進(jìn)行設(shè)置,屬性設(shè)置參照表:表1.1 實(shí)驗(yàn)1屬性設(shè)置對(duì)象名稱屬性屬性值窗體Caption我的第一個(gè)程序

7、文本框Text(空)命令按鈕Caption命令按鈕 雙擊命令按鈕,進(jìn)入代碼窗口中命令按鈕的默認(rèn)事件,編寫(xiě)代碼如下:Private Sub Command1_Click()Text1.Text = "單擊命令按鈕"End Sub 雙擊窗體的空白處,進(jìn)入代碼窗口中窗體的默認(rèn)事件(Form_Load(),在右邊的過(guò)程列表框中選擇Click,編寫(xiě)代碼如下:Private Sub Form_Click()Text1.Text = "單擊窗體"End Sub 單擊工具欄上的按鈕,運(yùn)行程序,分別單擊命令按鈕以及窗體空白處,觀察文本框上顯示的內(nèi)容有何變化。如果程序代碼有

8、錯(cuò)誤,則進(jìn)入代碼窗口中調(diào)試程序。 單擊工具欄上的按鈕,結(jié)束程序運(yùn)行。 單擊工具欄上的 按鈕,將窗體、工程分別以SY1_1.frm、SY1_1.vbp保存在磁盤上。2. 建立一個(gè)應(yīng)用程序, 界面如圖1.2所示,窗體包含有一個(gè)文本框和三個(gè)按鈕,要求文本框中的字體為14號(hào)黑體加粗,顏色為紅色,且文本內(nèi)容居中顯示。編寫(xiě)代碼實(shí)現(xiàn): 圖1.2 實(shí)驗(yàn)2 的運(yùn)行界面1)按“顯示內(nèi)容”按鈕時(shí),文本框顯示“Hello,Visual Basic!”;2)按“清屏”按鈕時(shí),文本框中文字消失;3)按“結(jié)束”按鈕后,程序結(jié)束。(提示:代碼中輸入End,則可結(jié)束應(yīng)用程序運(yùn)行)保存窗體文件名:SY1_2.frm,保存工程名:

9、SY1_2.vbp。表1.2 實(shí)驗(yàn)2屬性設(shè)置對(duì)象名稱屬性屬性值窗體Form1Caption文本框Text1TextAlignmentFontForeColor命令按鈕Command1Caption顯示內(nèi)容命令按鈕Command2Caption清屏命令按鈕Command3Caption結(jié)束編寫(xiě)代碼如下:代碼遇到的主要問(wèn)題及分析:3、P260  實(shí)驗(yàn)A 。二、3.編寫(xiě)一程序,在文字框中統(tǒng)計(jì)在該窗口上鼠標(biāo)單擊的次數(shù)。設(shè)計(jì)和運(yùn)行界面如圖1.3所示。完成后自己取名保存。 圖1.3 實(shí)驗(yàn)3 設(shè)計(jì)界面 運(yùn)行界面編寫(xiě)代碼如下:代碼遇到的主要問(wèn)題及分析:【提高題】 P259  實(shí)驗(yàn)A 。二、

10、1. 編寫(xiě)一程序,要求在屏幕上顯示“歡迎學(xué)習(xí)Visual Basci”,并在“請(qǐng)輸入你的姓名”標(biāo)簽后的文本框Text1中輸入姓名;單擊“你輸入的姓名是”按鈕,則在Label3標(biāo)簽上顯示在文本框Text1中輸入的姓名。窗體如圖1.4所示。Label3將BorderStyle屬性設(shè)置為1Command1Text1Label2Label1調(diào)整控件的大小使內(nèi)容顯示為兩行 圖1.4 提高題 的運(yùn)行界面編寫(xiě)代碼如下:代碼遇到的主要問(wèn)題及分析:【選作題】窗體上有兩個(gè)名稱分別為C1, C2的命令按扭,一個(gè)文本框Text1。命令按鈕的標(biāo)題及文本框上顯示的字符自定。編程實(shí)現(xiàn)當(dāng)按下C1時(shí),將C2的標(biāo)題與Text1中

11、的內(nèi)容交換。要求:1)界面自己設(shè)計(jì) 2)連續(xù)多次單擊C1,都能將C2的標(biāo)題與Text1中的內(nèi)容交換。設(shè)計(jì)的界面如下:編寫(xiě)代碼如下:代碼遇到的主要問(wèn)題及分析:實(shí)驗(yàn)心得體會(huì)成績(jī):教師簽名:實(shí)驗(yàn)日期 年 月 日實(shí)驗(yàn)二 窗體及基本控件使用一、實(shí)驗(yàn)?zāi)康?、復(fù)習(xí)啟動(dòng)與退出Visual Basic的方法。2、掌握窗體基本的事件、方法和屬性,并學(xué)會(huì)在不同的事件的過(guò)程中,編寫(xiě)代碼。3、掌握文本框和標(biāo)簽兩種控件的使用,掌握文本框和標(biāo)簽控件的常用屬性、事件和方法。以及它們之間的區(qū)別。4、掌握命令按鈕控件的常用屬性、事件和方法。二、實(shí)驗(yàn)內(nèi)容1、設(shè)計(jì)一個(gè)程序(如圖2.1所示),用窗體模擬黑板,窗體上沒(méi)有最大化、最小化按

12、鈕;鼠標(biāo)單擊窗體時(shí)窗體上輸出提問(wèn),雙擊時(shí)顯示回答。分析:把窗體裝扮成黑板模樣,要設(shè)置窗體的BackColor屬性為黑色,F(xiàn)oreColor屬性為白色(模擬粉筆字的顏色)。窗體上沒(méi)有最大化、最小化按鈕,則需要設(shè)置窗體的MaxButton、MinButton屬性。而單擊、雙擊時(shí)的輸出顯示,可以在Click、DblClick事件里用Print和Cls方法來(lái)實(shí)現(xiàn)。(a)設(shè)計(jì)狀態(tài)(b)運(yùn)行狀態(tài)(c)窗體單擊(d)窗體雙擊圖2.1 實(shí)驗(yàn)2.1模擬黑板1) 屬性設(shè)置表2.1 實(shí)驗(yàn)1屬性設(shè)置對(duì)象名稱屬性屬性值窗體Form1BackColorForeColoFontMaxButtonMinButtonvbBla

13、ckVbwhiteFalseFalse2)代碼編寫(xiě)代碼遇到的主要問(wèn)題及分析:Private Sub Form_Load()Form1.Caption = "模擬黑板"End SubPrivate Sub Form_Click()ClsPrint "1+1=?"End SubPrivate Sub Form_DblClick()ClsPrint "1+1=2"End Sub 【思考】如果進(jìn)一步要求隨機(jī)出題(簡(jiǎn)單的數(shù)學(xué)四則運(yùn)算題)在窗體上輸出并顯示答案,該怎么做Private Sub Form_Click()Dim a As Intege

14、r, b As Integera = Int(Rnd * 10)b = Int(Rnd * 10)Print a; "+" b; "=" a + b 減法等同理End Sub2、窗體上有一個(gè)文本框Text1,要求當(dāng)鼠標(biāo)劃過(guò)文本框Text1時(shí),鼠標(biāo)顯示Cross“”形狀;窗體上的一個(gè)標(biāo)題為“復(fù)制”的命令按鈕C1。通過(guò)屬性窗口實(shí)現(xiàn)以上的設(shè)置之后,編程實(shí)現(xiàn):1)程序啟動(dòng)時(shí)窗體標(biāo)題為“修改文本框內(nèi)容”;2)單擊命令按鈕C1,則把按鈕上的標(biāo)題復(fù)制到文本框,并使按鈕不可見(jiàn);3)單擊窗體空白處,按鈕可見(jiàn)但不可用。Ø 必要屬性設(shè)置表2.2 實(shí)驗(yàn)2屬性設(shè)置對(duì)象名

15、稱屬性屬性值Text1mousepointer2-crossC1caption復(fù)制Ø 代碼編寫(xiě)代碼遇到的主要問(wèn)題及分析:Private Sub Form_Load()Form1.caption= “修改文本框內(nèi)容”End SubPrivate Sub C1_Click()Text1 = C1.CaptionC1.Visible = FalseEnd SubPrivate Sub Form_Click()C1.Visible = TrueC1.Enabled = FalseEnd Sub3、窗體上有四個(gè)文本框,兩個(gè)標(biāo)題分別為“顯示選中信息”“選中文本”的命令按鈕。要求程序運(yùn)行時(shí),光標(biāo)焦

16、點(diǎn)在Text1上,按下Tab鍵后,光標(biāo)焦點(diǎn)跳到在Text3上。在文本框Text1中輸入一些字符;要求編程實(shí)現(xiàn): 圖2.2 實(shí)驗(yàn)2.3文本信息選定窗體1)在文本框Text1中輸入一行文字并按回車(Enter)后,把Text1的內(nèi)容設(shè)置為窗體的標(biāo)題。2)在Text1中選中其中一部分內(nèi)容后,單擊“顯示選中信息”命令按鈕,則把在Text1中被選中文本的第一個(gè)字符的順序號(hào),被選中文本的字符個(gè)數(shù),被選中的文本內(nèi)容分別顯示在文本框Text2,Text3,Text4中。3)分別在文本框Text2,Text3中輸入你所希望文本框Tex1中選中文本信息的順序號(hào)以及長(zhǎng)度,單擊“選中文本”命令按鈕,則根據(jù)文本框Tex

17、t2,Text3輸入的內(nèi)容,在Text1中選中對(duì)應(yīng)的內(nèi)容,同時(shí)在Text4中顯示出來(lái)?!咎崾尽坎糠窒嚓P(guān)屬性和事件:SelStart、SelLength、SelText、KeyPressØ 必要的屬性設(shè)置表2.3 實(shí)驗(yàn)3屬性設(shè)置對(duì)象名稱屬性屬性值Text1text“”Text2text“”Text3text“”Text4text“”Command1caption顯示選中信息Command2caption選中文本Text1tabindex0Text3tabindex1或者Text2tabstopfalseØ 代碼編寫(xiě)代碼遇到的主要問(wèn)題及分析:Private Sub Text1_

18、KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then Form1.Caption = Text1End SubPrivate Sub Command1_Click()Text2 = Text1.SelStartText3 = Text1.SelLengthText4 = Text1.SelTextEnd SubPrivate Sub Command2_Click()Text1.SelStart = Text2Text1.SelLength = Text3Text4 = Text1.SelTextEnd Sub或者 Private Sub Text

19、1_LostFocus()Text3.SetFocusEnd Sub【提高題1】創(chuàng)建VB工程,運(yùn)行時(shí)可將文本框中的文字縮小以及還原。窗體中包括下列控件:標(biāo)簽、文本框和兩個(gè)命令按鈕,窗體標(biāo)題為“字符縮小”,文本框字號(hào)為30磅。 圖2.3 實(shí)驗(yàn)提高1窗體在文本框輸入一串字符;按下“縮小”按鈕時(shí)字號(hào)縮小為原來(lái)的一半(每按一下都會(huì)縮小為一半),界面如右圖。請(qǐng)完善以下代碼:Private Sub Form_Load() Text1.FontSize = 30 ' 設(shè)置文本框原始字號(hào)End SubPrivate Sub Command1_Click() Text1.FontSize = _ Tex

20、t1.FontSize / 2_' 將文本框字體每次縮小一半End SubPrivate Sub Command2_Click() _ Text1.FontSize = 30_ ' 文本框的字體恢復(fù)為30End Sub【提高題2】 P260  實(shí)驗(yàn)A 。二、5. 命令按鈕、字號(hào)、內(nèi)容和格式的復(fù)制練習(xí)!效果如右圖。要求:1)Command1:使得Text1中的字體和字號(hào)根據(jù) 圖2.4實(shí)驗(yàn)實(shí)驗(yàn)提高1窗體命令按鈕上顯示的要求改變。2)Command2:要求將Text1選中的內(nèi)容及其字體格式復(fù)制到Text2文本框中。Ø 代碼編寫(xiě)代碼遇到的主要問(wèn)題及分析:Privat

21、e Sub Command1_Click()Text1.FontName = "隸書(shū)"Text1.FontSize = 25End SubPrivate Sub Command2_Click()Text2 = Text1.SelTextText2.FontName = Text1.FontNameText2.FontSize = Text1.FontSizeEnd Sub【選作題】參考P35,建立一個(gè)允許剪切、復(fù)制和粘貼的簡(jiǎn)單便箋板程序。可增加內(nèi)容:利用MouseMove事件決定命令按鈕的有效性, 即當(dāng)選中內(nèi)容,“剪切”、“復(fù)制”按鈕有效,否則無(wú)效。圖2.5 窗體原始界面

22、按下運(yùn)行按鈕時(shí)的界面 選中文本框部分內(nèi)容的界面Ø 代碼編寫(xiě)代碼遇到的主要問(wèn)題及分析:Private Sub Form_Load()Command1.Enabled = FalseCommand2.Enabled = FalseEnd SubPrivate Sub Text1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)If Text1.SelText <> "" Then Command1.Enabled =trueCommand2.Enabled =t

23、rueEnd IfEnd Sub其他代碼見(jiàn)p36實(shí)驗(yàn)心得體會(huì)成績(jī):教師簽名: 實(shí)驗(yàn)日期 年 月 日實(shí)驗(yàn)三 順序結(jié)構(gòu)程序設(shè)計(jì)實(shí)驗(yàn)?zāi)康模?熟練掌握VB的基本數(shù)據(jù)類型。2熟練掌握基本的輸入輸出函數(shù)和語(yǔ)句。3掌握順序結(jié)構(gòu)程序設(shè)計(jì)的方法。實(shí)驗(yàn)內(nèi)容1、定義兩個(gè)變量a和b,它們的值分別由鍵盤輸入。編程計(jì)算并輸出a與b的和、差、積、商、a除以b的余數(shù)、a b的值。(要求自己設(shè)計(jì)窗體及輸入、輸出,必須有明確的示意提示)。Ø 代碼編寫(xiě):代碼遇到的主要問(wèn)題及分析:Private Sub Form_Click()Dim a as integer,b as integera = Val(InputBox(&q

24、uot;輸入a的值")b = Val(InputBox("輸入b的值")Print "a=" a; "b=" bPrint "a+b=" a + bPrint "a-b=" a - bPrint "a*b=" a * bPrint "a mod b=" a Mod bEnd Sub2、定義一個(gè)變量a,由鍵盤輸入其值為任意四位整數(shù),編程實(shí)現(xiàn)分別輸出個(gè)、十、百、千位四個(gè)數(shù)字,并各個(gè)數(shù)字的平方和?!咎崾尽坷胢od和運(yùn)算符將每一位分離。Ø 代

25、碼編寫(xiě):代碼遇到的主要問(wèn)題及分析:Private Sub Form_Click()Dim a As IntegerDim b%, c%, d%, e%a = Val(InputBox("輸入a的值,要求4位整數(shù)")b = a Mod 10 '個(gè)位c = a 1000 '千位d = (a - c * 1000) 100 '百位e = (a - c * 1000 - d * 100) 10Print "個(gè)位:" bPrint "十位:" ePrint "百位:" dPrint "千位:

26、" cPrint "平方和:" b 2 + e 2 + d 2 + c 2End Sub3、P262 實(shí)驗(yàn)B 二、1。Ø 代碼編寫(xiě):代碼遇到的主要問(wèn)題及分析:Private Sub Command2_Click()Text1 = Format(9 / 5 * Val(Text2) + 32, "0")End Sub4、設(shè)計(jì)窗體并實(shí)現(xiàn):1)單擊“連接”,將Text1和Text2的內(nèi)容連接起來(lái)顯示在Text3;2)單擊“求和”,求出Text1和Text2之和顯示在Text3 ;3)要求:在單擊“連接”之前Text3不可見(jiàn),點(diǎn)“連接”之后“

27、連接”按鈕不可用;(a) 設(shè)計(jì)狀態(tài) (b) 運(yùn)行狀態(tài)圖3.1 實(shí)驗(yàn)3.4窗體Ø 代碼編寫(xiě):代碼遇到的主要問(wèn)題及分析:Private Sub Command1_Click()Text3.Visible = TrueText3 = Text1 & Text2Command1.Enabled = FalseEnd SubPrivate Sub Command2_Click()Text3 = Val(Text1) + Val(Text2)End SubPrivate Sub Form_Load()Text3.Visible = FalseEnd Sub5、創(chuàng)建VB工程,界面如右所示,

28、編程實(shí)現(xiàn)運(yùn)行時(shí)可將標(biāo)簽中的文字字號(hào)隨機(jī)放大(15整數(shù)倍)和(任意比例)縮小以及還原(原來(lái)字號(hào))。界面如右圖所示。【提示】 圖3.2 實(shí)驗(yàn)3.5窗體1)將標(biāo)簽的AotuSize屬性設(shè)置為False及True,看看有什么區(qū)別?2)用一個(gè)變量在程序開(kāi)始運(yùn)行時(shí)記住標(biāo)簽中原始字體的大?。ㄏ胂敕旁谑裁词录^(guò)程中?);這個(gè)變量還會(huì)在“還原”按鍵中使用,其說(shuō)明語(yǔ)句要放在通用-聲明中;3)每次按放大或縮小按鍵都會(huì)在當(dāng)前的基礎(chǔ)上放大或縮??;4)字體放大到一定程度會(huì)出現(xiàn)“溢出”的錯(cuò)誤提示,可以先不管。Ø 代碼編寫(xiě):代碼遇到的主要問(wèn)題及分析:Dim tPrivate Sub Form_Load()t = L

29、abel1.FontSizeEnd SubPrivate Sub Command1_Click()Label1.FontSize = Label1.FontSize * Int(Rnd * 5 + 1)End SubPrivate Sub Command2_Click()Label1.FontSize = Label1.FontSize * RndEnd SubPrivate Sub Command3_Click()Label1.FontSize = tEnd Sub6、編程實(shí)現(xiàn)隨機(jī)產(chǎn)生一個(gè)“F”“S”范圍內(nèi)的大寫(xiě)字母,并輸出該字母及其對(duì)應(yīng)的ASCII碼值,同時(shí)輸出其小寫(xiě)字母及其對(duì)應(yīng)的ASCI

30、I碼的值。Ø 代碼編寫(xiě):代碼遇到的主要問(wèn)題及分析:Private Sub Form_Click()a = Int(Rnd * (83 - 70 + 1) + 70)Print Chr(a); "的ASCII值=" aPrint LCase(Chr(a); "的ASCII值=" Asc(LCase(Chr(a)End Sub【選作題1】編程解決古代數(shù)學(xué)問(wèn)題“雞兔同籠”。即已知在同一個(gè)籠子里有總數(shù)為m只雞和兔,雞和兔的總腳數(shù)為n只,求雞和兔各有多少只?【提示】雞和兔的總數(shù)m、雞和兔的總腳數(shù)n需要預(yù)先輸入(文本框或輸入框輸入)。再設(shè)雞和兔子的個(gè)數(shù)分別

31、為x和y,通過(guò)已知輸入的m和n;列出方程求解,分別用m,n兩個(gè)已知量來(lái)表示x和y。Ø 代碼編寫(xiě):代碼遇到的主要問(wèn)題及分析:Private Sub Form_Click()m = Val(Text1)n = Val(Text2)y = 1 / 2 * n - mx = 2 * m - 1 / 2 * nPrint "雞有" x; "兔子有" yEnd Sub【選作題2】編程實(shí)現(xiàn)電話號(hào)碼自動(dòng)升位。要求將原來(lái)任意一個(gè)帶區(qū)號(hào)的7位電話號(hào)碼升到8位,在電話號(hào)碼最前面加8。程序運(yùn)行結(jié)果如圖所示。(要求必須適用于3位或4位區(qū)號(hào)的電話號(hào)碼)【提示】無(wú)論區(qū)號(hào)或電

32、話號(hào)碼是多少位,只要找到“-”的位置,就可以將“-”之前(包括“-”)的左子串、“8”、以及“-”后面剩下的字符串 “串”起來(lái)。Ø 代碼編寫(xiě):代碼遇到的主要問(wèn)題及分析:Private Sub Form_Click()a = InStr(Text1, "-")Text2 = Left(Text1, a) + "8" + Mid(Text1, a + 1)End Sub【提高題】參考教材P33的例2.5及P65的例4.2,完成P263實(shí)驗(yàn)B 二、2。Ø 代碼編寫(xiě):代碼遇到的主要問(wèn)題及分析:Const PI = 3.14Private Su

33、b Command1_Click()r = Val(Text1)Text2 = Format(PI * r 2, "0.00")End SubPrivate Sub Command2_Click()r = Val(Text1)Text3 = Format(2 * PI * r, "0.00")End SubPrivate Sub Text1_LostFocus()If Not IsNumeric(Text1) ThenMsgBox "輸入有非數(shù)字字符,請(qǐng)重新輸入" Text1 = "" Text1.SetFocus

34、End IfEnd Sub實(shí)驗(yàn)心得體會(huì)教師簽名: 成績(jī):實(shí)驗(yàn)日期 年 月 日實(shí)驗(yàn)四 選擇結(jié)構(gòu)程序設(shè)計(jì)實(shí)驗(yàn)?zāi)康模?掌握邏輯表達(dá)式的正確書(shū)寫(xiě)形式。3掌握單分支與雙分支條件語(yǔ)句的使用。實(shí)驗(yàn)內(nèi)容1編寫(xiě)程序,通過(guò)鍵盤輸入變量x的值,求函數(shù)y的值。 代碼遇到的主要問(wèn)題及分析:Private Sub Command1_Click()x = Val(Text1)If x >= 0 Theny = Sqr(x)Elsey = 1 / Abs(x)End IfText2 = yEnd Sub 2、輸入一串字符串C,判斷字符串C中的第三個(gè)字符是“C”時(shí),利用msgbox顯示“yes”,否則顯示“No”.代碼遇

35、到的主要問(wèn)題及分析:Private Sub Command1_Click()Dim C As StringC = Text1If Mid(C, 3, 1) = "c" ThenMsgBox ("yes")Else: MsgBox ("no")End IfEnd Sub 3、輸入一個(gè)年份,判斷它是否為閏年,并輸出是否為閏年的相關(guān)信息?!咎崾尽颗袛嚅c年的條件是:年份能被4整除但不能被100整除;或者是能被400整除。如:1900、2100、2010年不是閏年;2008、2000年是閏年。代碼遇到的主要問(wèn)題及分析:Private Sub F

36、orm_Click()Dim a As Integera = Text1If a Mod 400 = 0 Or a Mod 4 = 0 And a Mod 100 <> 0 Then MsgBox ("本年份為閏年")Else MsgBox ("此年份為非閏年")End IfEnd Sub4. 如右圖,窗體上有兩個(gè)文本框一個(gè)標(biāo)簽和一個(gè)命令按鈕。程序運(yùn)行時(shí)分別在文本框中輸入兩個(gè)數(shù)字后單擊命令按鈕進(jìn)行計(jì)算。要求:Text1中的數(shù)值大于或等于Text2時(shí),計(jì)算兩個(gè)數(shù)的和,否則計(jì)算兩個(gè)數(shù)的差,最后將運(yùn)算式和結(jié)果顯示在標(biāo)簽中。代碼遇到的主要問(wèn)題及分析:

37、Private Sub Command1_Click()x = Val(Text1)y = Val(Text2)If x >= y Then Label1 = x & "+" & y & "=" & x + yElse Label1 = x & "-" & y & "=" & x - yEnd IfEnd Sub【進(jìn)一步要求】對(duì)兩個(gè)文本框中的數(shù)據(jù)進(jìn)行有效性判斷。利用文本框的LostFocus事件進(jìn)行判斷,若輸入的不是數(shù)字,用MsgBox給出“是否

38、重新輸入”的提示,提示窗口上有兩個(gè)命令按鈕:“是”和“否”,顯示問(wèn)號(hào)的圖標(biāo)。若回答“是”則將文本框中原來(lái)的內(nèi)容清空、光標(biāo)重新定位于文本框,若回答“否”則程序終止。Ø 代碼編寫(xiě):代碼遇到的主要問(wèn)題及分析:Private Sub Text1_LostFocus()If Not IsNumeric(Text1) Theni = MsgBox("是否重新輸入", 4 + vbQuestion, "警告")If i = 6 ThenText1 = ""Text1.SetFocusElseEndEnd IfEnd IfEnd SubPr

39、ivate Sub Text2_LostFocus()If Not IsNumeric(Text2) Theni = MsgBox("是否重新輸入", 4 + vbQuestion, "警告")If i = 6 ThenText2 = ""Text2.SetFocusElseEndEnd IfEnd IfEnd Sub5、猜數(shù)字游戲:事先設(shè)定的一個(gè)數(shù)字(如6),程序提示用戶輸入一個(gè)110之間的整數(shù),如果輸入的數(shù)字與事先設(shè)置的數(shù)字相同,則提示“輸入正確”,否則顯示“錯(cuò)了”。Ø 代碼編寫(xiě):代碼遇到的主要問(wèn)題及分析:Private

40、 Sub Command1_Click()x = Val(InputBox("輸入一個(gè)110之間的整數(shù)")If x = Text1 Then MsgBox "輸入正確"Else MsgBox "錯(cuò)了"End IfEnd Sub 【提高題1】修改上面程序,當(dāng)輸入的值比設(shè)置的數(shù)字小,顯示“錯(cuò)了,你猜得小了?!?;輸入的值比設(shè)置的大,則顯示“錯(cuò)了,你輸入的太大了?!保ㄕ?qǐng)直接在上題修改)【提示】本實(shí)驗(yàn)屬于多分支結(jié)構(gòu)。Private Sub Command1_Click()x = Val(InputBox("輸入一個(gè)110之間的整數(shù)&q

41、uot;)If x = Text1 Then MsgBox "輸入正確"ElseIf x < Text1 Then MsgBox "錯(cuò)了,你猜得小了。"Else MsgBox "錯(cuò)了,你輸入的太大了。"End IfEnd Sub【提高題2】通過(guò)InputBox函數(shù)任意輸入三條邊長(zhǎng),經(jīng)過(guò)簡(jiǎn)單的計(jì)算后,判斷三條邊長(zhǎng)能否構(gòu)成三角形,并在文本框中顯示結(jié)果?!咎崾尽繕?gòu)成三角形,必須保證任意兩邊的和大于第三邊Ø 代碼編寫(xiě):代碼遇到的主要問(wèn)題及分析:Private Sub Command1_Click()Dim a!, b!, c!

42、a = Val(InputBox("輸入第1條邊長(zhǎng)")b = Val(InputBox("輸入第2條邊長(zhǎng)")c = Val(InputBox("輸入第3條邊長(zhǎng)")If a + b > c And b + c > a And a + c > b Then Print "此三邊可構(gòu)成三角形"Else Print "此三邊不可構(gòu)成三角形"End IfEnd Sub【選作題】課堂示例“字符串替換”,使用多個(gè)函數(shù)完成時(shí),如果源字符串中沒(méi)有要查找的子串,程序就會(huì)出錯(cuò)。修改程序當(dāng)沒(méi)有要查找的

43、子串時(shí),彈出“沒(méi)有找到的”提示框,并將源串放到結(jié)果文本框中。 【提示】InStr(C1,C2) 在C1中查找C2是否存在,若找不到,結(jié)果為0。Ø 代碼編寫(xiě):代碼遇到的主要問(wèn)題及分析:Private Sub Command1_Click()i = InStr(Text1, Text2)If i = 0 Then MsgBox "沒(méi)有找到" Label5 = Text1Else k = i + Len(Text2) Ls = Left(Text1, i - 1) Label5 = Ls + Text3 + Mid(Text1, k)End IfEnd Sub 實(shí)驗(yàn)心得

44、體會(huì)教師簽名: 成績(jī):實(shí)驗(yàn)日期 年 月 日實(shí)驗(yàn)五 選擇結(jié)構(gòu)程序設(shè)計(jì)(續(xù))實(shí)驗(yàn)?zāi)康模?掌握情況語(yǔ)句的使用。2. 掌握情況語(yǔ)句與多分支條件語(yǔ)句的區(qū)別。3掌握分支嵌套語(yǔ)句的使用。實(shí)驗(yàn)內(nèi)容1、輸入一元二次方程ax2+bx+c=0系數(shù)a,b,c的值,計(jì)算并輸出一元二次方程的兩個(gè)根x1和x2?!咎崾尽壳蟾鶗r(shí)要對(duì)三個(gè)數(shù)分別考慮重根和無(wú)實(shí)根情況的處理。Ø 代碼編寫(xiě): 代碼遇到的主要問(wèn)題及分析:Private Sub Command1_Click()Dim a%, b%, c%, d%, x1!, x2!a = Val(InputBox("輸入a")b = Val(InputBox

45、("輸入b")c = Val(InputBox("輸入c")d = b * b - 4 * a * cIf d > 0 Then x1 = (-b + Sqr(d) / (2 * a) x2 = (-b - Sqr(d) / (2 * a)ElseIf d = 0 Then x1 = -b / (2 * a) x2 = x1Else MsgBox "無(wú)實(shí)根"End IfPrint "x1=" x1, "x2=" x2End Sub2、輸入一個(gè)字符,判斷該字符是字母、數(shù)字還是其他字符,并作相

46、應(yīng)的顯示?!疽蟆糠謩e使用兩種語(yǔ)句If ElseIf和Select Case 來(lái)完成。代碼遇到的主要問(wèn)題及分析:If ElseIf語(yǔ)句實(shí)現(xiàn)Private Sub Command2_Click()a = InputBox("輸入一個(gè)字符")If a >= "a" And a <= "z" Or a >= "A" And a <= "Z" Then MsgBox a + "是字母"ElseIf a >= "0" And a <

47、;= "9" Then MsgBox a + "是數(shù)字"Else MsgBox a + "是其他字符"End IfEnd SubSelect Case語(yǔ)句實(shí)現(xiàn)Private Sub Command1_Click()a = InputBox("輸入一個(gè)字符")Select Case a Case "a" To "z", "A" To "Z" MsgBox a + "是字母" Case "0" To

48、"9" MsgBox a + "是數(shù)字" Case Else MsgBox a + "是其他字符"End SelectEnd Sub思考:編寫(xiě)一個(gè)對(duì)文本框中輸入的字符進(jìn)行轉(zhuǎn)換的程序。窗體如上右圖所示。將小寫(xiě)字母轉(zhuǎn)換成大寫(xiě)字母,大寫(xiě)字母轉(zhuǎn)換成小寫(xiě)字母,空格不轉(zhuǎn)換,其余字符轉(zhuǎn)換成”*”。要求每輸入一個(gè)字符馬上 進(jìn)行判斷和轉(zhuǎn)換,結(jié)果顯示在Text2中。Ø 代碼編寫(xiě): 代碼遇到的主要問(wèn)題及分析:Private Sub Text1_Change()a = Right(Text1, 1)Select Case a Case "

49、a" To "z" Text2 = Text2 + UCase(a) Case "A" To "Z" Text2 = Text2 + LCase(a) Case " " Text2 = Text2 + " " Case Else Text2 = Text2 + "*"End SelectEnd Sub3、輸入一個(gè)數(shù)字(1-7),用英文顯示對(duì)應(yīng)的星期一至星期日?!咎崾尽坑肧elect Case語(yǔ)句來(lái)實(shí)現(xiàn)Ø 代碼編寫(xiě): 代碼遇到的主要問(wèn)題及分析:Private

50、 Sub Command1_Click()a = Val(InputBox("輸入星期幾")Select Case a Case 1 MsgBox "Monday" Case 2 MsgBox "Tuesday" Case 3 MsgBox "Wednesday" Case 4 MsgBox "Thursday" Case 5 MsgBox "Friday" Case 6 MsgBox "Saturday" Case 7 MsgBox "Sund

51、ay" Case Else MsgBox "輸入錯(cuò)誤"End SelectEnd Sub4、編程實(shí)現(xiàn)簡(jiǎn)單計(jì)算器功能。要求程序運(yùn)行后,分別輸入兩個(gè)操作數(shù)以及運(yùn)算符(+、-、*、/)后,單擊“計(jì)算”按鈕,則自動(dòng)計(jì)算出表達(dá)式的結(jié)果,并顯示在運(yùn)算結(jié)果對(duì)應(yīng)的文本框中。【提示】除數(shù)為0時(shí)要做適當(dāng)處理。Ø 代碼編寫(xiě): 代碼遇到的主要問(wèn)題及分析:Private Sub Command1_Click()Select Case Text2 Case "+" Text4 = Text1 + Text3 Case "-" Text4 =

52、Text1 - Text3 Case "*" Text4 = Text1 * Text3 Case "/" If Text3 = 0 Then MsgBox "除數(shù)不能為0" Else Text4 = Text1 / Text3 End If Case Else MsgBox "輸入錯(cuò)誤"End SelectEnd Sub5、密碼登錄程序。要求:建立一個(gè)登錄窗口,要求輸入帳號(hào)和密碼。設(shè)定密碼為“Basic1234”;若密碼正確,顯示“祝賀你,成功登錄!”;若密碼不正確,顯示“對(duì)不起,密碼錯(cuò)誤,無(wú)法登錄!”,并統(tǒng)計(jì)出

53、錯(cuò)次數(shù),當(dāng)輸入超過(guò)3次時(shí),則退出系統(tǒng)?!疽蟆繋ぬ?hào)為6位數(shù)字,如果輸入的不是數(shù)字或不足6位,則給出相應(yīng)提示并要求重新輸入(利用LostFocus事件及IsNumeri等函數(shù));密碼輸入時(shí)應(yīng)顯示為“*”?!咎崾尽吭擃}用分支嵌套來(lái)完成。Ø 代碼編寫(xiě): 代碼遇到的主要問(wèn)題及分析:Dim I As Integer '全局變量Private Sub Form_Load() Text1.Text = "" Text2.Text = "" Text2.PasswordChar = "*" I = 0 '全局變量付初值End

54、 SubPrivate Sub Text1_LostFocus() If Not IsNumeric(Text1.Text) Then MsgBox "賬號(hào)必須為數(shù)字", , "警告" ' 連續(xù)兩個(gè)逗號(hào)(",")缺省按鈕數(shù)目,僅有"確定"按鈕 Text1.Text = "" Text1.SetFocus End If If Len(Text1) <> 6 Then MsgBox "密碼是6位數(shù)字", , "警告" Text1.Text

55、= "" Text1.SetFocus End IfEnd SubPrivate Sub Command1_Click() If Text2.Text = "Basic1234" Then MsgBox ("祝賀你,成功登錄!") Else MsgBox ("對(duì)不起,密碼錯(cuò)誤,無(wú)法登錄!") I = I + 1 If I >= 3 Then End End If End Sub參考p65例4.26、在上周實(shí)驗(yàn)【提高題】的基礎(chǔ)上完成,輸入三角形的三條邊,根據(jù)邊長(zhǎng)判斷是否能構(gòu)成三角形的程序,若能構(gòu)成,則進(jìn)一步判斷

56、三角形類型(等邊、等腰、直角、一般)?!咎崾尽吭擃}用分支嵌套來(lái)完成。注:請(qǐng)?jiān)谏现艹绦虼a的適當(dāng)位置用紅筆來(lái)添加代碼實(shí)現(xiàn)。Private Sub Command1_Click() Dim a!, b!, c!a = Val(InputBox("輸入第1條邊長(zhǎng)")b = Val(InputBox("輸入第2條邊長(zhǎng)")c = Val(InputBox("輸入第3條邊長(zhǎng)")If a + b > c And b + c > a And a + c > b Then If a = b And b = c Then MsgBox

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論