《vb 基本控制結(jié)構(gòu)》由會員分享,可在線閱讀,更多相關(guān)《vb 基本控制結(jié)構(gòu)(17頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、
信 息 工 程 學(xué) 院實驗報告的內(nèi)容與格式按任課教師的要求書寫。
程序設(shè)計基礎(chǔ)(VB) 實驗/實習(xí)報告
學(xué)院:創(chuàng)新實驗學(xué)院
班級:生科創(chuàng)新123
姓名:李欣蒞
學(xué)號:2012010422
成績:A
實習(xí)三 基本控制結(jié)構(gòu)
一、 實驗/實習(xí)過程
一、實習(xí)目的
1. 掌握三種控制結(jié)構(gòu)的編程思路
2. 掌握為程序提供數(shù)據(jù)的方法,特別是從數(shù)據(jù)文件中獲得數(shù)據(jù)的方法
3. 掌握程序結(jié)果輸出的幾種方法,特別是將數(shù)據(jù)輸出到數(shù)據(jù)文件的方法
4. 掌握源程序的縮進書寫格式
5. 理解累加、累積、判斷素數(shù)、求極值、輸出數(shù)列、最大公約數(shù)與最小公倍數(shù)等常用算法及程序?qū)崿F(xiàn)方
2、法。
二、實習(xí)內(nèi)容
1. 完成教材順序結(jié)構(gòu)例題驗證,掌握程序的基本組成部分,理解順序結(jié)構(gòu)程序設(shè)計的基本方法,掌握數(shù)據(jù)輸入、輸出的方法和途徑。
2. 完成教材編程題1小題。
3. 完成教材選擇結(jié)構(gòu)例題驗證,理解選擇結(jié)構(gòu)程序設(shè)計的基本方法,理解選擇語句用法,掌握實現(xiàn)選擇功能的基本算法。
4. 完成教材編程題2、3、4、5、6小題。
5. 完成教材循環(huán)結(jié)構(gòu)例題驗證,理解選擇循環(huán)程序設(shè)計的基本方法,理解循環(huán)語句用法,掌握實現(xiàn)循環(huán)功能的基本算法。
6. 完成教材編程題有關(guān)循環(huán)部分的習(xí)題。
二、 實驗/實習(xí)總結(jié)
三、程序設(shè)計及代碼
1. 順序結(jié)構(gòu):
習(xí)題1
3、
Private Sub Command1_Click()
Dim a As Single, b As Single, c As Single, d As Single
x = Val(InputBox("請輸入x變量的值"))
a = Sqr(x)
b = (x) ^ 2
c = (x) ^ 3
d = (x) ^ (1 / 3)
Print "平方根為:" & round(a, 3), "平方為:" & round(b, 3), "立方為:" & round(c, 3), "立方根為:" & round(d,
4、3)
End Sub
2. 選擇結(jié)構(gòu):
習(xí)題二
Private?Sub?Command1_Click()
???Dim?a?As?Single,?b?As?Single,?c?As?Single
???a?=?Val(Text1.Text)
???b?=?Val(Text2.Text)
???c?=?Val(Text3.Text)
???If?a?>?b?Then
????If?a?>?c?And?b?>?c?Then
??????Print?"最大值為"?&?a;?",最小值為"?&?c
????ElseIf?a?>?c?And?c?>?b?Then
?
5、?????Print?"最大值為"?&?a;?",最小值為"?&?b
????ElseIf?c?>?a?Then
????Print?"最大值為"?&?c;?"最小值為"?&?b
??????End?If
???Else
????If?b?>?c?And?a?>?c?Then
??????Print?"最大值為"?&?b;?",最小值為"?&?c
????ElseIf?b?>?c?And?c?>?a?Then
??????Print?"最大值為"?&?b;?",最小值為"?&?a
????ElseIf?c?>?b?Then
????Print?"最大值為"?&?c;?"最小
6、值為"?&?a
????End?If
?End?If
End?Sub
習(xí)題三
Private?Sub?Command1_Click()
????Dim?x$
????x?=?Val(InputBox("請輸入一個年份"))
????If?x?Mod?4?=?0?Then
????????If?x?Mod?100?=?0?Then
???????????Print?"不是閏年"
????????Else
???????????Print?"閏年"
????????End?If
????ElseIf?x?Mod?400?=?0?Then
???????Prin
7、t?"閏年"
????Else
???????Print?"不是閏年"
????End?If
End?Sub
習(xí)題4
Private Sub Command1_Click()
Dim x As Integer
x = Val(InputBox("請輸入一個數(shù)"))
If x Mod 5 = 0 Then
MsgBox x & "能被5整除"
Else
MsgBox x & "不能被5整除"
End If
End Sub
習(xí)題5
Private Sub Command1_Cl
8、ick()
Dim a!, b!
a = InputBox("請輸入您的收入:")
If a < 300 Then Print "免征。"
ElseIf a <= 500 Then
b = (a - 300) * 0.002
ElseIf a <= 5000 Then
b = (a - 500) * 0.003 + 200 * 0.002
ElseIf a > 5000 Then
b = (a - 5000) * 0.004 + 4500 * 0.003 + 200 *0.002
End If
MsgBox "您需要納稅的金額為:" & b
End Sub
9、
習(xí)題6
Private Sub Command1_Click()
n = 0
Dim a As Integer
For a = 100 To 200
If a Mod 3 = 0 Then
Else
Print a;
n = n + 1
If n Mod 8 = 0 Then
Print
End If
End If
Next a
End Sub
3. 循環(huán)結(jié)構(gòu):
習(xí)題7
Privat
10、e Sub Command1_Click()
n = 0
Dim m%, i%
For m = 1000 To 1100
For i = 2 To m - 1
If m / i = m \ i Then
Exit For
End If
Next i
If i = m Then
Print m;
n = n + 1
If n Mod 6 = 0 Then
Print
End If
End If
Next m
End Su
11、b
習(xí)題 8
Private Sub Command1_Click()
Dim b As Integer, n As Integer, a As Integer
a = Rnd() * 100
n = 1
Do
b = Val(InputBox("請輸入一個數(shù)"))
If b > a Then
Print "大了點"
Else
If b < a Then
Print "小了點"
Else
12、 Print "猜中了"
Exit do
End If
End If
n = n + 1
Loop Until n > 8
If N>8 then MsgBox "正確答案" & a
End Sub
習(xí)題9
Private Sub Command1_Click()
Dim x As Integer
n = 0
For x = 100 To 999
If Left(x, 1) = Right(x, 1) Or Left(x
13、, 1) = Mid(x, 1) = Right(x, 1) Then
Print x;
n = n + 1
If n Mod 8 = 0 Then
Print
End If
End If
Next x
End Sub
習(xí)題10
Private Sub Command1_Click()
Dim a As Integer, e As Single, b As Double
e = 1
b = 1
For a = 1 To 10
14、0
b = b * a
e = e + (1 / b)
If b < 10 ^ (-4) Then
Exit For
End If
Next a
Print "e≈1+1/1!+…=" & e
End Sub
習(xí)題11
Private Sub Command1_Click()
Dim n As Integer, m As Integer, y As Integer
m = Val(InputBox("請輸入m變量的值"))
n = 2
y = 1
Do
y = y + (n) ^ 3
If
15、 y >= m Then
Print n
Else
n = n + 1
End If
Loop Until y >= m
End Sub
習(xí)題12
Private Sub Command1_Click()
Dim n As Integer, a As Integer
For n = 1 To 6
Print Tab(50 - n);
For a = 1 To 2 * n
Print "0";
Next a
Print
Next
16、 n
End Sub
習(xí)題13
Private Sub Command1_Click()
n = Val(InputBox("請輸入要轉(zhuǎn)換的十進制數(shù)整數(shù)"))
m = n
x = ""
Do
a = n Mod 16
n = n \ 16
x = a & x
Loop Until n = 0
MsgBox m & "換成十六進制數(shù)是:" & x
End Sub
習(xí)題14
Private Sub Command1_Click()
Dim a As Integer, b As Integer, c As Integer, d As Integer
17、 For a = 1 To 9
For b = 0 To 9
For c = 1 To 9
For d = 0 To 9
If (a * 1000 + b * 100 + c * 10 + d) - (c * 100 + d * 10 + c) = a * 100 + b * 10 + c Then
Print "a =" & a, "b=" & b, "c=" & c, "d= " & d,
End If
Next d
18、 Next c
Next b
Next a
End Sub
習(xí)題15
Private Sub Command1_Click()
Dim n As Integer, a As Integer
a = 1
For n = 1 To 9
a = (a + 1) * 2
Next n
Print a
End Sub
四、實習(xí)總結(jié)
1.任務(wù)完成情況
本次實習(xí)主要掌握了三種控制結(jié)構(gòu)的編輯,特別是從數(shù)據(jù)文件中獲得數(shù)據(jù)的方法,例如,先提前建立一個文件,然后輸入
19、數(shù)據(jù)后保存在一個目錄下,然后再錄入程序的過程中將其插入,便可實現(xiàn)從數(shù)據(jù)文件中獲得數(shù)據(jù)的方法。還掌握了縮進的書寫格式,按住tab鍵就可以了?;菊莆樟巳N控制結(jié)構(gòu)的使用方法。本次實習(xí)完成了課后的15道習(xí)題和例題,使我學(xué)習(xí)到了很多東西。
2.知識掌握
本次實習(xí)學(xué)習(xí)到了很多更加有用的編程,例如,三種控制結(jié)構(gòu),順序,循環(huán)和選擇,對其進行了理解和運用,還有利用文本框的TEXT屬性和消息對話框的MSGBOX函數(shù)來運算結(jié)果,還有學(xué)習(xí)到了幾個常用的公式,Ucase函數(shù),將小寫轉(zhuǎn)換成大寫,還有sqr()函數(shù),對第二章出現(xiàn)的各種函數(shù)有了更深的理解和應(yīng)用。還有學(xué)會了利用IF語句進行換行,每行保留幾個字符號的用法
20、,還有學(xué)習(xí)到了將數(shù)據(jù)輸出到數(shù)據(jù)文件的方法,在程序中寫入語句來創(chuàng)建數(shù)據(jù)文件,同理,也可從數(shù)據(jù)文件中獲得數(shù)據(jù)等等的內(nèi)容。
編程以
3.存在的問題
實習(xí)中存在很多的問題,比如,從數(shù)據(jù)文件中獲得數(shù)據(jù)的時候出現(xiàn)了小問題,由于我忘記建立文件,因此程序無法運行,后來進行對照例題發(fā)現(xiàn)了問題,成功運行了程序。還有,在做例題的時候出現(xiàn)了一些問題,在習(xí)題1的實習(xí)過程中,不會保留小數(shù)位數(shù),在進行了查找和詢問之后,學(xué)會了使用round()函數(shù)來保留小數(shù)。還有就是使用嵌套的循環(huán)結(jié)構(gòu)的時候不太會進行思考,不會逆向思維,編程思路不清晰,還要多加練習(xí)才可以。
4.實習(xí)收獲
雖然實習(xí)過程中遇到了不少問題,但是最后都一一解決了,我也學(xué)到了很多東西,三種結(jié)構(gòu)的編程,函數(shù)的應(yīng)用,數(shù)據(jù)的引用和輸出,一些控制結(jié)構(gòu)的其他用法。讓我了解到了更多的編程語言知識和技巧。
很好,繼續(xù)努力!
2013-06-04