VB程序設計實驗報告.doc_第1頁
VB程序設計實驗報告.doc_第2頁
VB程序設計實驗報告.doc_第3頁
VB程序設計實驗報告.doc_第4頁
VB程序設計實驗報告.doc_第5頁
已閱讀5頁,還剩24頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

湖北文理學院VB程序設計課程實驗報告學 院 物電學院 專 業 自動化 班 級 1211 學 號 2012118064 姓 名 王亮 任課教師 王福林 實驗一、VB控制結構一、實驗目的 1. 掌握選擇語句的使用2. 掌握循環語句的使用二、實驗內容 1、選擇語句程序1:創建應用程序。要求:單擊窗體可彈出輸入框,任意輸入三個數,然后按從小到大的順序輸出到窗體上。程序2:創建應用程序。要求:單擊窗體可彈出一輸入框,任意輸入一個正整數,在窗體上顯示該整數是否為素數的字樣。2、循環語句程序3:創建應用程序。要求:單擊窗體可顯示一個由“*”組成的平行四邊形圖案。 程序4:創建應用程序,其功能是顯示所有的水仙花數。三、實驗記錄程序1如下:Private Sub Command1_Click()Dim a As Integer, b As Integer, c As Integer, t As Integer 定義a,b,c,t為整形變量Cls 清屏a = Val(InputBox(請輸入第1個數:) 給a賦值b = Val(InputBox(請輸入第2個數:) 給b賦值c = Val(InputBox(請輸入第3個數:) 給c賦值If a b Then t = a: a = b: b = t 如果ab,把a的值賦給t,b的值賦給a,t的值賦給bIf b c Then 嵌套,如果bct = b: b = c: c = t 把b的值賦給t,b的值賦給c,t的值賦給cIf a b Then 再次嵌套,如果abt = a 把a的值賦給ta = b b的值賦給ab = t t的值賦給bEnd IfEnd IfPrint a; 、; b; 、; c 輸出 a 、b;、; cEnd SubPrivate Sub Command2_Click()End 退出程序End Sub程序2如下:Private Sub Command1_Click()Dim i As Integer, k As Integer, n As Integer 定義整形變量i,k,nn = Val(InputBox(任意輸入一個整數:) 給n輸入值i = 2 i初始值為2k = Int(n / 2) 為整形的二分之一n的值賦給kDo While i k Then Print n; 是素數 Else Print n; 不是素數 如果i大于k,輸出n的值是素數,否則輸出n的值不是素數End SubPrivate Sub Command2_Click()End 退出程序End Sub程序3如下:Private Sub Form_Click() Dim m As Integer, n As Integer 定義整形變量m,n Cls 清屏 Print For m = 1 To 6 m賦初始值為1,當m大于6停止 Print Tab(15 - m); 第15 - m列開始輸出 For n = 1 To 8 n賦初始值為1,當n大于6停止 Print *; 輸出* Next n Print 輸出空格 Next mEnd Sub程序4如下:Private Sub Command1_Click() Dim i As Integer, m As Integer, n As Integer, k As Integer, sxh As Intege 定義整形變量i,m,n,k,sxk For i = 100 To 999 i賦初始值為100,當i大于999,停止循環 m = i 100 i除以100,結果賦給m n = (i Mod 100) 10 i模除100后的值再除以10,最后結果賦給n k = i Mod 10 i模除10后的值賦給k sxh = m 3 + n 3 + k 3 sxh作算術運算 If sxh = i Then 如果sxh等于i Print i, 輸出i的值 End If Next iEnd SubPrivate Sub Command2_Click() End 程序結束End Sub4、 實驗總結實驗二、窗體和標準控件一、實驗目的 1.掌握命令按鈕、標簽及文本框控件的使用方法2.掌握復選框、單選按鈕及框架控件的使用方法3.掌握列表框和組合框控件的使用方法4.掌握滾動條和定時器控件的使用方法二、實驗內容 1、命令按鈕、標簽及文本框控件的使用方法程序1:在窗體上建立兩個標簽、兩個文本框和兩個命令按鈕,運行界面如左圖所示。要求在運行時,兩個文本框中的內容均不允許用戶編輯;如果用戶在“原文”的文本框中選定所需的內容,單擊“復制”命令按鈕,則在“輸出”文本框中輸出選定的內容;如果單擊“結束”命令按鈕,則結束程序的運行。程序2:建立如下圖所示的窗體,要求程序能對輸入的“性別”和“郵政編碼”、“電話號碼”進行校驗(性別只允許輸入“男”或“女”,郵政編碼必須是6位數字,電話號碼必須是8位數字)。如果輸入的數據不符號要求,則清空相應的文本框,并將插入點置于該框中。所有的校驗工作可以在單擊“退出”按鈕后進行,此時,程序檢查所有文本框,如有空白或內容錯誤,要求繼續輸入,否則結束程序。2、復選框、單選按鈕及框架控件的使用程序3:在窗體中有一個標簽,內有若干文字,要求通過窗體中的復選框或單選按鈕確定標簽中文字的字體(宋體或黑體)、字號(10號或12號)和字形(是否粗體、是否斜體),請建立應用程序。3、列表框和組合框控件的使用程序4:編寫程序。要求:程序運行初期,在窗體左邊的列表框中生成10個由小到大排列的10到100之間的隨機整數,單擊窗體中“右移”按鈕,則左邊列表框的10個數移動到右邊的列表框中,并由大到小排列,此時“左移”按鈕變為有效。單擊“左移”按鈕,右邊列表框中的數又被移到左邊的列表框中。單擊“退出”按鈕或按ESC鍵,可退出程序。窗體示意圖如下。程序5:建立應用程序,窗體如下圖所示,有一個簡單組合框、三個命令按鈕、一個文本框和一個標簽。要求:l 單擊“添加”按鈕可將輸入的內容添加到組合框中l 單擊“刪除”按鈕可刪除組合框中選定的項目l 單擊“統計人數”按鈕,可將組合框中的項目總數輸出到右邊的文本框l 單擊“退出”或按ESC鍵退出程序 4、滾動條和定時器控件的使用程序6:編寫程序,運行時的界面如下圖所示。要求:無論是拖動滾動條上的滾動框,還是單擊滾動箭頭(數值遞增或遞減1)或滾動條(數值遞增或遞減10),均可以在相應的標簽中反映當前數值,并動態計算出均值;單擊“Reset”按鈕,可將各滾動條上的滾動框復位。 程序7:利用定時器控件設計一個數字式時鐘應用程序。三、實驗記錄程序1如下:Private Sub Form_Load() Text1.Text = 文本框是一個多功能控件,可以顯示或者接收用戶輸入的文本信息。 給文本框指定內容End SubPrivate Sub Command1_Click() Text2.Text = Text1.SelText 在Text1中選定文本賦給Text2End SubPrivate Sub Command2_Click() End 程序結束End Sub程序2如下:Private Sub Command1_Click() If Text1 = Then 如果Text1沒有輸入,當前的激活文本區(焦點)在Text1 Text1.SetFocus Exit Sub 退出過程 End If If Text2 = Then 如果Text2沒有輸入,當前的激活文本區(焦點)在Text2 Text2.SetFocus Exit Sub 退出過程 End If If Text3 = Then 如果Text3沒有輸入,當前的激活文本區(焦點)在Text3 Text3.SetFocus Exit Sub 退出過程 End If If Text4 = Then 如果Text4沒有輸入,當前的激活文本區(焦點)在Text4 Text4.SetFocus Exit Sub 退出過程 End If If Text5 = Then 如果Text5沒有輸入,當前的激活文本區(焦點)在Text5 Text5.SetFocus Exit Sub 退出過程 End If End 退出程序End SubPrivate Sub Text2_LostFocus() If Text2.Text Then 如果Text2有輸入If Text2.Text 男 And Text2.Text 女 Then 如果Text2輸入的內容不是“男”和“女” Text2.Text = 則Text2不輸出 Text2.SetFocus 當前的激活文本區(焦點)在Text2 End If End IfEnd SubPrivate Sub Text4_LostFocus() If Text4.Text Then 如果Text4有輸入If Len(Text4.Text) 6 Or Not IsNumeric(Text4.Text) Then 如果Text4輸入的內容不是數值或者字符串的長度不為6 Text4.Text= 則Text4不輸出 Text4.SetFocus 當前的激活文本區(焦點)在Text4 End If End IfEnd SubPrivate Sub Text5_LostFocus() If Text5.Text Then 如果Text5有輸入If Len(Text5.Text) 8 Or Not IsNumeric(Text5.Text) Then 如果Text5輸入的內容不是數值或者字符串的長度不為8 Text5.Text= 則Text5不輸出 Text5.SetFocus 當前的激活文本區(焦點)在Text5 End If End IfEnd Sub程序3界面設計(程序設計界面和運行結果界面):程序3如下:Private Sub Option1_Click()Text1.FontName = 宋體 Text1中的內容為宋體End SubPrivate Sub Option2_Click()Text1.FontName = 黑體 Text1中的內容為黑體End SubPrivate Sub Option3_Click()Text1.FontSize = 10 Text1中的內容為字號大小為10號End SubPrivate Sub Option4_Click()Text1.FontSize = 12 Text1中的內容為字號大小為12號End SubPrivate Sub Check1_Click()If Check1.Value = 1 Then 如果Check1被選中Text1.FontBold = True Text1中的內容變為粗體ElseText1.FontBold = False Text1中的內容不變End IfEnd SubPrivate Sub Check2_Click()If Check2.Value = 1 Then 如果Check2被選中Text1.FontItalic = True Text1中的內容變為斜體ElseText1.FontItalic = False Text1中的內容不變End IfEnd Sub程序4如下:Private Sub Command1_Click() Dim i As Integer, Last As Integer 定義i和Last為整型變量 Last = List1.ListCount - 1 將List1.ListCount - 1 中被選中的內容賦給Last For i = 0 To Last 統計i大于Last 時停止循環List2.AddItem List1.List(Last - i) 將List2中被選中的內容添加到List1中 List1.RemoveItem Last - i 將List1中被選中的內容刪除Last - i個 Next i Command1.Enabled = False Command1按鈕無效 Command2.Enabled = True Command2按鈕有效End SubPrivate Sub Command2_Click() Dim i As Integer, Last As Integer 定義i和Last為整型變量Last = List2.ListCount - 1 將List2.ListCount - 1 中被選中的內容賦給LastFor i = 0 To Last 統計i大于Last 時停止循環List1.AddItem List2.List(Last - i) 將List1中被選中的內容添加到List2List2.RemoveItem Last - i 將List2中被選中的內容刪除Last - i個 Next i Command1.Enabled = True Command1按鈕有效 Command2.Enabled = False Command2按鈕無效End SubPrivate Sub Command3_Click() Unload Me 程序退出End SubPrivate Sub Form_Load() Dim i As Integer For i = 0 To 9 統計i大于9 時停止循環 Randomize List1.AddItem Int(90 * Rnd) + 10) 給List1中添加內容 Next iEnd Sub程序5如下:Private Sub Combo1_Change() If Combo1.Text Then 如果Combo1輸入內容不為空 Command1.Enabled = True Command1按鈕點擊有效 Command1.Default = True Command1為默認按鈕Else Command1.Enabled = False 否則,Command1按鈕點擊無效,成灰色狀態 End IfEnd SubPrivate Sub Combo1_Click() Command2.Enabled = True Command2按鈕點擊有效 Command2.Default = True Command2為默認按鈕 Combo1.SetFocus 賦焦點光標在停放Combo1里End SubPrivate Sub Command1_Click() Combo1.AddItem Combo1.Text 添加內容到Combo1中 Combo1.Text = Combo1輸入內容為空 Combo1.SetFocus 賦焦點光標在停放Combo1里End SubPrivate Sub Command2_Click() x = Combo1.ListIndex 將Combo1中的內容賦給x Combo1.RemoveItem x 將Combo1中的內容中的x刪除 If x 0 Then 否則,如果x大于0 Combo1.ListIndex = x - 1 x-1賦給Combo1 Else Command2.Enabled = False 否則,Command2按鈕點擊無效 Command2.Default = False Command2不為默認按鈕 End If End If Text1.SetFocus 賦焦點光標在停放text1里End SubPrivate Sub Command3_Click() Text1.Text = Combo1.ListCount 將Combo1中的內容賦給Text1 Combo1.SetFocus 賦焦點光標在停放Combo1里End SubPrivate Sub Command4_Click() End 程序結束End Sub程序6如下:Private Sub Command1_Click() HScroll1.Value = 0 將數值0賦給滾動條HScroll1 HScroll2.Value = 0 將數值0賦給滾動條HScroll2 HScroll3.Value = 0 將數值0賦給滾動條HScroll3End SubPrivate Sub HScroll1_Change() Label5.Caption = HScroll1.Value 滾動條HScroll的數值顯示在標簽Label5上 Average 求其平均值End SubPrivate Sub HScroll2_Change() Label6.Caption = HScroll2.Value 滾動條HScrol2的數值顯示在標簽Label6上 Average 求其平均值End SubPrivate Sub HScroll3_Change() Label7.Caption = HScroll3.Value 滾動條HScrol3的數值顯示在標簽Label7上 Average 求其平均值End SubPrivate Sub Average() Dim Temp As Double 定義雙精度變量Temp Temp = (HScroll1.Value + HScroll2.Value + HScroll3.Value) / 3 將滾動條HScroll,HScroll2,HScroll3的平均值之和除以3,結果賦給Temp Label8.Caption = CStr(Temp) Temp的均值顯示在標簽Label8上End Sub程序7如下:Private Sub Form_Load() Label1.Caption = Time 在窗體上,將現在的時間賦給標簽Label1End SubPrivate Sub Timer1_Timer() Label1.Caption = Time 在時間控件Time1把現在的時間顯示在標簽Label1上End Sub4、 實驗總結實驗三、過程一、實驗目的 1掌握過程的定義和調用的方法2掌握典型問題的算法求解二、實驗內容 1、過程的定義和調用程序1:創建應用程序,要求對輸入的非負整數m和n,如果m=n,則顯示組合數的值,否則顯示數據出錯。二、典型問題的算法程序2:利用下列兩式求得圓周率的近似值,忽略級數式中絕對值小于0.000001的項。以及程序3:如下圖所示,求2-200之間的所有素數,要求每輸出五個數據換一行。程序4:利用隨機函數產生20個-500到500的隨機整數(包括-500和500),單擊窗體時,在窗體上輸出這20個數,同時在窗體上顯示輸出從大到小排好序的這些數。要求以每行5個數的格式顯示,如下圖所示。三、實驗記錄程序1如下:Private Sub Command1_Click() If Text1.Text = Or Not IsNumeric(Text1.Text) Then 如果Text1沒有輸入或者不是字符串 MsgBox 請輸入一個非負整數!, , 提示 彈出消息框標題為“提示”,內容為請輸入一個非負整數! Exit Sub 退出過程 End If If Text2.Text = Or Not IsNumeric(Text2.Text) Then 如果Text2沒有輸入或者不是字符串 MsgBox 請輸入一個非負整數!, , 提示 彈出消息框標題為“提示”,內容為請輸入一個非負整數! Text2.SetFocus 此刻焦點指在Text2 Exit Sub 退出過程 End If If CInt(Text1.Text) CInt(Text2.Text) Then 如果輸入Text1的整形函數值大于Text2的整形函數值 MsgBox 數據出錯,請重新輸入!, , 警告 彈出消息框標題為“警告”,內容為數據出錯。請重新輸入! Text1.Text= Text1不輸出 Text2.Text= Text1不輸出 Text1.SetFocus 此刻焦點指在Text1 Exit Sub 退出過程 End If n=CInt(Text1.Text) Text1的整形函數值賦給n m=CInt(Text2.Text) Text2的整形函數值賦給m Text3.Text = CStr(Fac(m) / Fac(n) / Fac(m - n) 組合數做運算,利用階乘End SubPrivate Function Fac(ByVal n As Integer) As Double 函數的調用,定義雙精度變量Fac(),整形變量n Dim i As Integer, Temp As Double 定義整形變量i, Temp Temp=1 Temp初值為1 For i = 1 To n 做循環 Temp = Temp * i 做乘積運算 Next i Fac = Temp 把Temp的值賦給FacEnd Function 結束函數Private Sub Command2_Click() End 結束程序End Sub程序2如下:Private Sub Form_Click() Dim Pi As Double 定義雙精度變量Pi Pi = 6 * Arctan(1 / Sqr(3) Pi的等式 Print Pi 輸出PiEnd SubPrivate Function Arctan(ByVal x As Double) As Double 函數的調用,定義雙精度變量 Arctan(),雙精度變量x Dim m As Long, Temp As Double, s As Double 定義長整形變量m,雙精度變量Temp,s Temp = 0 Temp初值賦為0 s = x 把x的值賦給s m = 1 m的初值賦為1 Do While Abs(s) = 0.000001 做循環,級數式中絕對值大于等于0.000001的項,小于則停止循環。 Temp = Temp + s Temp二次賦值 m = m + 2 m加2 s = -1 * x * x * s / m * (m - 2) s是的方程式運算 Loop Arctan = Temp 把temp的值賦給 ArctanEnd Function程序3如下:Private Sub Form_Click() Dim I As Integer, M As Integer 定義整形變量I、M M = 0 M的初值賦為0 For I = 2 To 200 I的初值賦為2,做加法循環,超出200則停止循環 If Prime(I) Then 用Prime判斷I是否是素數,如果I是素數 Print I, 輸出I M = M + 1 M加1 If M Mod 5 = 0 Then Print 如果M模除5,余數為0,則換行 End If Next IEnd SubPrivate Function Prime(x) As Boolean 函數過程的調用 Dim I As Integer 定義整形變量I Prime = True x為素數,返回True For I = 2 To Int(Sqr(x) I的初值賦為2,做加法循環,超出Sqr(x)則停止循環 If x Mod I = 0 Then 如果x模除I,余數為0 Prime = False 則x不是素數,返回False Exit For 退出循環 End If Next IEnd Function程序4如下:Private Sub Form_Click() Dim x(20) As Integer, M As Integer, Temp As Integer 定義整形變量x(20)、M、 Temp Dim I As Integer, J As Integer 定義整形變量I、J M = 0 M的初值賦為0 For I = 1 To 20 做循環 Randomize 隨機化x(I) = Int(Rnd * 1001 - 500) 隨機函數產生20個-500到500的隨機整數賦給x(I) Print x(I), 輸出x(I) M = M + 1 M加1 If M Mod 5 = 0 Then Print 如果M模除5,余數為0,則換行 Next I For I = 1 To 19 再做循環,I超出19則停止循環 For J = 1 To 20 - I 內循環,J = 1 ,當J超過20 - I停止循環 If x(J + 1) x(J) Then 如果x(J + 1) 小于 x(J) Temp = x(J): x(J) = x(J + 1): x(J + 1) = Temp 交換值 End If Next J Next I Print 輸出空格 For I = 1 To 20 做循環,I超出20則停止循環 Print x(I), 輸出x(I) M = M + 1 M加1 If M Mod 5 = 0 Then Print 如果M模除5,余數為0,則換行 Next IEnd Sub四、實驗總結實驗四、圖形方法和圖形控件一、實驗目的 1 掌握使用圖形方法繪制典型的圖形2 了解圖片框和圖像控件的區別3 掌握圖片框和圖像控件的使用方法4 掌握直線控件和形狀控件的使用方法5 了解圖像處理的基本方法二、實驗內容 1、圖形方法的應用程序1:在窗體上繪制-到的正弦曲線,如下圖所示。2、圖片框控件和圖像控件的使用程序2:在窗體上左右各放置一個大小相同的圖片框和圖像框,修改它們的邊框式樣(BordeStyle屬性),使它們的邊框一欄。通過Picture屬性裝入一個同樣的位圖文件(.bmp),觀察兩個控件的變化以及其中圖形的差異。若裝入的是圖元文件(.wmf),則圖片框和圖像控件中的圖形又會怎樣?程序3:創建應用程序,利用圖片框瀏覽大幅面圖形。在窗體放置兩個圖片框,一個垂直滾動條和一個水平滾動條,如下圖所示。在第二個圖片框中裝入一個大圖形,利用兩個滾動條改變第二個圖片框在第一個圖片框中的位置,實現對整幅圖形的瀏覽。程序4:創建一個測試圖像控件特性的應用程序:單擊窗體上的“放大”、“縮小”按鈕,能使圖像框中的圖形放大或縮小。3、直線控件和形狀控件的使用程序5:建立如下圖所示的應用程序,通過命令按鈕控制直線控件的旋轉和形狀控件的形狀、位置等的變化,掌握直線和形狀控件的特點和使用方法。4、圖像處理程序6:創建應用程序:通過使輸出的文本產生微移后疊加,在圖片框中輸出有立體效果的文本,如下圖所示。三、實驗記錄程序1如下:Private Sub Form_Click() Const Pi = 3.1415926 Cls 清屏 Form1.ScaleTop = 1.5 窗體左上角y軸的坐標值為1.5 Form1.ScaleLeft = -1.5 * Pi 窗體左上角x軸的坐標值為-1.5*Pi Form1.ScaleHeight = -3 y軸刻度總數為-3 Form1.ScaleWidth = 3 * Pi x軸刻度總數為3 * Pi For t = -Pi To Pi Step 0.001 t的初始值為-Pi,步長為0.001,當t大于Pi時,停止循環 x = t 將t賦給x y = Sin(t) 將Sin(t)賦給y PSet (x, y) 在(x, y處畫點 Next tEnd Sub程序2如下:Private Sub Form_Click()Image1.Picture = LoadPicture(C:作業用圖1.jpg) 給圖像框裝入圖片Picture1.Picture = LoadPicture(C:作業用圖1.jpg) 給圖片框裝入圖片End Sub程序3如下:Private Sub Form_Load() 窗體的初始化 frmwidth = Form1.ScaleWidth frmheight = Form1.ScaleHeight Picture1.Move 0, 0, frmwidth - VScroll1.Width, frmheight - HScroll1.Height Picture2.Move 0, 0 HScroll1.Top = Picture1.Height HScroll1.Left = 0 HScroll1.Width = Picture1.Width HScroll1.Max = Picture2.Width - Picture1.Width HScroll1.SmallChange = HScroll1.Max / 50 HScroll1.LargeChange = Picture1.Width HScroll1.Visible = (Picture1.Height Picture2.Height) VScroll1.Top = 0 VScroll1.Left = Picture1.Width VScroll1.Height = Picture1.Height VScroll1.Max = Picture2.Height - Picture1.Height VScroll1.SmallChange = VScroll1.Max / 50 VScroll1.LargeChange = Picture1.Height VScroll1.Value = (Pi

溫馨提示

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

評論

0/150

提交評論