VB实习报告
更新时间:2023-12-27 04:10:01 阅读量: 教育文库 文档下载
- vb实验报告推荐度:
- 相关推荐
目 录
第一部分 实习目标和要求 …………………………………………..2
一 实习目标………………………………………2 二 实习要求………………………………………2 三、时间安排第二部分 第三部分 一、
………………………………………2
程序编写…………………………………3
实 习 1 ………………………………………………………..3 实 习 2……………………………………………………… ..3 实 习 3 ……………………………………………………….4 实 习 4……………………………………………………… .5 实 习 5……………………………………………………… .5 实 习 6………………………………………………………..6 实 习 7………………………………………………………..7 实 习 8………………………………………………………..8 实 习 9………………………………………………………..9. 实 习10……………………………………………………….9. 实 习 11………………………………………………………10 实 习 12………………………………………………………11 实 习 13………………………………………………………12 实 习 14………………………………………………………13 实 习 15…………………………………………………… …14 实 习 16……………………………………………………….16 实 习 17……………………………………………………….20
总 结…………………………………...22
……………………………………………………………..22
1
实习心得
第一部分 实习目标和要求
一、 实习目标
通过该课程设计的操作与实践,使学生在了解使用VB程序设计方法、掌握面向对象程序设计的相关理论知识和设计技巧的基础上,能够将理论教学中涉及到的知识点 贯穿起来,通过对各个实习任务的练习,应用VB实现测量数据的程序处理;从而提高面向对象程序设计的综合设计能力、应用VB来解决测量中的数据处理等问题的实践能力
二、 实习要求
1.认真努力作业。巩固所学VB语言基本知识。
2.鼓励多种形式的学习活动。如与同学展开讨论,请教老师,查阅图书资料,上网搜索信息等。
3.程序的功能要求。按个人能力可做适当的增减。有能力的,应实现更多的功能。
4.按时提交作业。课程设计作业包括全部VB软件工程文件和课程设计报告。 5.珍惜上机机会。上机期间不做与课程设计无关的事。 6.按照计划进行设计。
三、时间安排
周数 第 十五 周 时间 第一天 第二天 第三天 第四天 第五天 实习内容 实习任务的安排、组织学生、资料收集(实习1—2) 实习(实习3—实习6) 实习(实习7—实习11) 实习(实习12—实习16) 实习17 、成果整理 指导教师 赵淑湘 赵淑湘 赵淑湘 赵淑湘 赵淑湘
2
第二部分 程序编写
1、判断闰年:年号(intyear)能被4整除,但不能被100 整除;或能被400整除 程序代码:
'函数\的功能是判断年号intyear是否为闰年,rn—闰年 Function rn(intyear As Integer)
If intyear Mod 4 = 0 And intyear Mod 100 <> 0 Then rn = \闰年\
ElseIf intyear Mod 400 = 0 Then rn = \闰年\ Else rn = \End If
End Function 运行情况如图1:
图1 函数rn()的运行界面
2.一元二次议程ax2+bx+c=0存在实根的条件:a不等于0,且b2-4ac大于等于0。
程序代码:
'函数\的功能是判断一元二次方程ax2+bx+c=0是否实根; 'ryycfc --一元二次方程 Function ryycfc(a, b, c)
If a <> 0 And b ^ 2 - 4 * a * c >= 0 Then ryycfc = \有实根\ Else
ryycfc = \无实根\ End If
End Function 运行情况如图2:
3
图2 函数ryycfc()的运行界面
3.输入三个数a,b,c,输出三者之中最大数 程序编码:
'函数dxbj的功能是三个数的大小比较,输出最大的数,dxbj的意思是大小比较
Function dxbj(a, b, c) If a > b And b > c Then dxbj = a End If
If a > b And c > b Then dxbj = a End If
If b > a And a > c Then dxbj = b End If
If b > a And c > a Then dxbj = b End If
If c > b And b > a Then dxbj = c End If
If c > b And a > b Then dxbj = c End If
End Function
运行情况: 如图3
图3函数dxbj()的运行界面
4
4.公民缉拿所得税,假定按规定超过800元起征收2%,800——1600元之间征收3%,1600——5000元之间征收4%,5000——20000元之间征收6%,20000——200000元之间征收10%,超过200000征收25%。输入收入,计算出所得税。 程序编码:
'函数ns的功能是计算所得税,ns的意思是个人要缴纳的金额 Function ns(a) If a <= 800 Then ns = a * 0.02 End If
If a > 800 And a <= 1600 Then
ns = 800 * 0.02 + (a - 800) * 0.03 End If
If a > 1600 And a <= 5000 Then
ns = 800 * 0.02 + (a - 1600) * 0.04 + (a - 2400) * 0.03 End If
If a > 5000 And a <= 20000 Then
ns = 800 * 0.02 + (a - 1600) * 0.04 + (a - 2400) * 0.03 + (a - 5000) * 0.06 End If
If a > 20000 And a <= 200000 Then
ns = 800 * 0.02 + (a - 1600) * 0.04 + (a - 2400) * 0.03 + (a - 5000) * 0.06 + (a - 20000) * 0.1 End If
If a > 200000 Then
ns = 800 * 0.02 + (a - 1600) * 0.04 + (a - 2400) * 0.03 + (a - 5000) * 0.06 + (a - 20000) * 0.1 + (a - 200000) * 0.25 End If
End Function 运行情况:如图4
图4函数ns()的运行界面
5.小猴在一天摘了若干个桃子,当天吃掉一半多一个;第二天接着吃了剩下的桃子的一半多一个,以后每天都吃剩下的桃子的一半多一个,到第7天早上要吃时发现只剩下一个,问小猴那天共摘了多少个桃子? 程序编码:
5
'函数tz的功能是计算小猴那天共摘了多少个桃子 Function tz() m = 1
For i = 1 To 6 n = (m + 1) * 2 m = n Next i tz = n
End Function 运行情况:如图5
图5函数tz()的运行界面
6.已知XYZ+YZZ=532,其中X,Y和Z为0~9的数字,编程求出X、Y和Z。 程序编码:
'函数xyz的功能是满足式子XYZ+YZZ=532的成立 Function xyz() For x = 1 To 9 For y = 1 To 9 For z = 0 To 9
If (100 * x + 10 * y + z) + (100 * y + 10 * z + z) = 532 Then xyz = \ End If Next z Next y Next x
End Function 运行情况:如图6
6
图6函数xyz()的运行界面
7.某次大奖赛,有7个评委打分,满分为100分。对一名参赛者,输入7个评委的打分分数,去掉一个最高分、一个最低分后,求出平均分为该参赛者得分。编写程序输入评委的打分,输出参赛者得分。 程序编码:
'函数js_Click的功能是计算参赛者得分。 Option Base 1
Private Sub js_Click() Dim pf(7) As Single
Dim su, ma, mi, aver As Single Dim i As Integer pf(1) = Val(p1.Text) pf(2) = Val(p2.Text) pf(3) = Val(p3.Text) pf(4) = Val(p4.Text) pf(5) = Val(p5.Text) pf(6) = Val(p6.Text) pf(7) = Val(p7.Text) ma = pf(1) mi = pf(1) For i = 1 To 7 su = su + pf(i) If ma < pf(i) Then ma = pf(i) End If
If mi > pf(i) Then mi = pf(i) End If Next i
aver = (su - ma - mi) / 5 zd.Text = Trim(Str(mi)) pj.Text = Trim(Str(aver)) End Sub
Private Sub qc_Click() p1.Text = \ p2.Text = \ p3.Text = \
7
p4.Text = \ p5.Text = \ p6.Text = \ p7.Text = \ zg.Text = \ zd.Text = \ pj.Text = \End Sub
Private Sub tc_Click() Unload xsdf End Sub
运行情况:如图7
图7函数js_Click()的运行界面
8.求S=1-1/2+1/3-1/4+…+1/99-1/100的值。 程序编码:
'函数s的功能是计算S=1-1/2+1/3-1/4+…+1/99-1/100的值 Function s()
Dim n As Integer Dim su As Double su = 0
For n = 1 To 100
su = su + (-1) ^ (n + 1) / n Next n s = su End Function 运行情况:如图8
图8函数s()的运行界面
8
9.求所有的水仙花数。所谓水仙花数是指一个三位数,它的各位数字的立方和等于该数本身。例如:因为153=13+53+33,所以153是水仙花数。 程序代码:
'函数sxh的功能是统计水仙花数,sxh –水仙花。 Function sxh For X=0 to 9 For Y=0 to 9 For Z=0 to 9
If 100*X+10*Y+Z=X^3+Y^3+Z^3 then Sxh=sxh&” ”& 100*X+10*Y+Z End if Next Z Next Y Next X
End function 运行情况如图9
图9 函数sxh的运行界面 10、让用户输入5个数字,然后按照大小顺序输出。 程序编码: Function px() Const n = 5
Dim a(n) As Integer Dim t, j, i As Integer
a(1) = 25: a(2) = 8: a(3) = 9: a(4) = 20: a(5) = 6 For i = 1 To n
For j = i + 1 To n If a(i) < a(j) Then t = a(i) a(i) = a(j) a(j) = t End If Next j Next i
For i = 1 To n
9
px = a(1) & \ Next i End Function
运行情况如图10:
图10 函数px的运行界面
11、编一程序,先将10位评委对10位参赛歌手的评分(10分制)存入一个二维实型数组score(i,j)中,(其中i代表歌手,j代表评委),对每一位歌手,分别去掉它的最高分和一个最低分,计算并输出其余8个 分数的平均值。 程序编码: Option Base 1
Private Sub js_Click() Dim pf(10) As Single
Dim su, ma, mi, aver As Single Dim i As Integer pf(1) = Val(p1.Text) pf(2) = Val(p2.Text) pf(3) = Val(p3.Text) pf(4) = Val(p4.Text) pf(5) = Val(p5.Text) pf(6) = Val(p6.Text) pf(7) = Val(p7.Text) pf(8) = Val(p8.Text) pf(9) = Val(p9.Text) pf(10) = Val(p10.Text) ma = pf(1) mi = pf(1)
For i = 1 To 10 su = su + pf(i) If ma < pf(i) Then ma = pf(i) End If
If mi > pf(i) Then
10
mi = pf(i) End If Next i
aver = (su - ma - mi) / 8 zgf.Text = Trim(Str(ma)) zdf.Text = Trim(Str(mi)) df.Text = Trim(Str(aver)) End Sub
Private Sub qc_Click() p1.Text = \ p2.Text = \ p3.Text = \ p4.Text = \ p5.Text = \ p6.Text = \ p7.Text = \ p8.Text = \ p9.Text = \ p10.Text = \ zgf.Text = \ zdf.Text = \ df.Text = \End Sub
Private Sub tc_Click() Unload xsdf End Sub
运行情况如图11
图11 函数js_Click()的运行界面
12、随机产生10个1~100的正整数放入数组,显示产生的数,求最大值、最小值及平均值。 程序编码:
Function px()
11
Const n = 5
Dim a(n) As Integer Dim t, j, i As Integer
a(1) = 25: a(2) = 8: a(3) = 9: a(4) = 20: a(5) = 6 For i = 1 To n For j = i + 1 To n If a(i) < a(j) Then t = a(i) a(i) = a(j) a(j) = t End If Next j Next i
For i = 1 To n
px = a(1) & \ \ \ \ \ Next i
End Function
运行情况如图:
图12为函数px的运行界面 13、度转度分秒。 程序代码:
Option Explicit
Const pi As Double = 3.14159265358979
'dzdfm--含义为\度转度分秒\功能是将度转换为度分秒输出. Function dzdfm(jd As Double) As Variant Dim fh As Integer
Dim d, f, m As Variant fh = Sgn(jd) jd = Abs(jd) d = Int(jd)
f = Int((jd - d) * 60)
12
m = ((jd - d) * 60 - f) * 60
dzdfm = (d + f / 100 + m / 10000) * fh End Function
运行情况如图13所示
图13 dzdfm函数运行界面
14、度分秒转度。 程序代码:
Option Explicit
Const pi As Double = 3.14159265358979
'dfmzd--含义为\度分秒转度\功能是将度分秒转换为度输出. Function dfmzd(dfm As Double) As Double Dim fh As Integer Dim d As Integer Dim f As Integer Dim m As Double fh = Sgn(dfm) dfm = Abs(dfm) d = Int(dfm)
f = Int((dfm - d) * 100)
m = ((dfm - d) * 100 - f) * 100
dfmzd = (d + f / 60 + m / 3600) * fh End Function 运行情况如图14
图14 dfmzd函数运行界面
13
15、支导线计算。 程序代码:
Private Function zdxjs(dh As Range, gcj As Range, bc As Range, yzzb As Range, Optional zyj As Integer = 0, Optional jd As Integer = 3) As Variant Dim js(-1 To 50, 1 To 8) As Variant Dim yzb(1 To 4) As Variant Dim dhi As Variant Dim GCJi As Variant Dim bci As Variant Dim yzzbi As Variant Dim AH As Double Dim bcsum As Variant Dim gcjsum As Double Dim n As Integer Dim i As Integer js(-1, 1) = \点号\
js(-1, 2) = \观测角\° ' \ js(-1, 3) = \坐标方位角\° js(-1, 4) = \边长D\ js(-1, 5) = \ΔX\ js(-1, 6) = \ΔY\ js(-1, 7) = \ js(-1, 8) = \ js(0, 1) = 1 js(0, 2) = 2 js(0, 3) = 3 js(0, 4) = 4 js(0, 5) = 5 js(0, 6) = 6 js(0, 7) = 7 js(0, 8) = 8 i = 0
For Each dhi In dh i = i + 1
js(i, 1) = dhi.Value Next dhi n = i i = 1
For Each GCJi In gcj i = i + 1
js(i, 2) = GCJi.Value Next GCJi i = 1
For Each bci In bc
14
' \
i = i + 1
js(i, 4) = bci.Value Next bci i = 0
For Each yzzbi In yzzb i = i + 1
yzb(i) = yzzbi.Value Next yzzbi
js(1, 7) = yzb(1) js(1, 8) = yzb(2) js(2, 7) = yzb(3) js(2, 8) = yzb(4)
js(1, 3) = zbfsfwj(js(1, 7), js(1, 8), js(2, 7), js(2, 8)) For i = 2 To n - 1 AH = js(i - 1, 3)
js(i, 3) = FWJTS(AH, DFMZHD(js(i, 2)), zyj)r Next i
For i = 2 To n - 1
js(i, 5) = Round(js(i, 4) * Cos(js(i, 3)), jd) js(i, 6) = Round(js(i, 4) * Sin(js(i, 3)), jd) Next i
For i = 3 To n
js(i, 7) = js(i - 1, 7) + js(i - 1, 5) js(i, 8) = js(i - 1, 8) + js(i - 1, 6) Next i
For i = 2 To n - 1
js(i, 2) = DFMKG(js(i, 2)) js(i, 3) = HDZDFMKG(js(i, 3)) Next i
js(1, 3) = HDZDFMKG(js(1, 3)) For i = 2 To 6 js(n, i) = \ Next i
js(1, 2) = \ For i = 4 To 6 js(1, i) = \ Next i zdxjs = js End Function
运行情况如图15所示
15
图15 支导线函数运行界面 16、复合导线计算。 程序代码:
Private Function dxjs(dh As Range, gcj As Range, bc As Range, yzzb1 As Range, yzzb2 As Range, Optional zyj As Integer = 0, Optional jd As Integer = 3) As Variant
Dim js(-1 To 50, 1 To 11) As Variant Dim yzzbsz1(1 To 4) As Variant Dim yzzbsz2(1 To 4) As Variant Dim dhi As Variant Dim GCJi As Variant Dim bci As Variant Dim yzzb1i As Variant Dim yzzb2i As Variant Dim gcjsum As Variant Dim vbsum As Variant Dim vxsum As Double Dim vysum As Double Dim fb As Double Dim YZFWJ2 As Double Dim fx As Integer Dim fy As Integer Dim n As Integer Dim i As Integer js(-1, 1) = \点号\
js(-1, 2) = \观测角\° ' \ js(-1, 3) = \改正角\
16
js(-1, 4) = \坐标方位角\° ' \ js(-1, 5) = \边长D\ js(-1, 6) = \ΔX\ js(-1, 7) = \ js(-1, 8) = \ΔY\ js(-1, 9) = \ js(-1, 10) = \ js(-1, 11) = \ js(0, 1) = 1 js(0, 2) = 2 js(0, 3) = 3 js(0, 4) = 4 js(0, 5) = 5 js(0, 6) = 6 js(0, 7) = 7 js(0, 8) = 8 js(0, 9) = 9 js(0, 10) = 10 js(0, 11) = 11 i = 0
For Each dhi In dh i = i + 1
js(i, 1) = dhi.Value Next dhi n = i i = 1
For Each GCJi In gcj i = i + 1
js(i, 2) = GCJi.Value Next GCJi i = 1
For Each bci In bc i = i + 1
js(i, 5) = bci.Value Next bci i = 0
For Each yzzb1i In yzzb1 i = i + 1
yzzbsz1(i) = yzzb1i.Value Next yzzb1i zzb2i In yzzb2 i = i + 1
yzzbsz2(i) = yzzb2i.Value Next yzzb2i
17
js(1, 10) = yzzbsz1(1) js(1, 11) = yzzbsz1(2) js(2, 10) = yzzbsz1(3) js(2, 11) = yzzbsz1(4) js(n - 1, 10) = yzzbsz2(1) js(n - 1, 11) = yzzbsz2(2) js(n, 10) = yzzbsz2(3) js(n, 11) = yzzbsz2(4)
js(1, 4) = zbfsfwj(yzzbsz1(1), yzzbsz1(2), yzzbsz1(3), yzzbsz1(4)) js(n - 1, 4) = zbfsfwj(yzzbsz2(1), yzzbsz2(2), yzzbsz2(3), yzzbsz2(4))。 YZFWJ2 = js(n - 1, 4) gcjsum = 0
For i = 2 To n - 1 AH = js(i - 1, 4)
gcjsum = gcjsum + DFMZJD(js(i, 2))
js(i, 4) = FWJTS(AH, DFMZHD(js(i, 2)), zyj) Next i
fb = (js(n - 1, 4) - YZFWJ2) * 180 / PI * 3600 fb = Sgn(fb) * Round(Abs(fb), 0) js(n - 1, 4) = YZFWJ2 ' If zyj = 0 Then fb = -fb End If
js(n + 1, 3) = fb vbsum = 0
For i = 2 To n - 2
js(i, 3) = Sgn(fb) * Int(Abs(fb) / (n - 2)) vbsum = vbsum + js(i, 3) Next i
js(n - 1, 3) = fb - vbsum For i = 2 To n - 1 AH = js(i - 1, 4)
js(i, 4) = FWJTS(AH, DFMZHD(js(i, 2)) + js(i, 3) / (180 / PI * 3600), zyj) Next
vxsum = 0 vysum = 0 bcsum = 0
For i = 2 To n - 2
js(i, 6) = Round(js(i, 5) * Cos(js(i, 4)), jd) vxsum = vxsum + js(i, 6)
js(i, 8) = Round(js(i, 5) * Sin(js(i, 4)), jd) vysum = vysum + js(i, 8) bcsum = bcsum + js(i, 5)
18
Next
js(n + 1, 6) = vxsum js(n + 1, 8) = vysum
fx = Int((vxsum - (js(n - 1, 10) - js(2, 10))) * 1000) fy = Int((vysum - (js(n - 1, 11) - js(2, 11))) * 1000) vxsum = 0 vysum = 0
For i = 2 To n - 3
js(i, 7) = -1 * Sgn(fx) * Int(Abs(fx) * js(i, 5) / bcsum) vxsum = vxsum + js(i, 7)
js(i, 9) = -1 * Sgn(fy) * Int(Abs(fy) * js(i, 5) / bcsum) vysum = vysum + js(i, 9) Next i
js(n - 2, 7) = -fx - vxsum js(n - 2, 9) = -fy - vysum For i = 3 To n - 2
js(i, 10) = js(i - 1, 10) + js(i - 1, 6) + js(i - 1, 7) / 1000 js(i, 11) = js(i - 1, 11) + js(i - 1, 8) + js(i - 1, 9) / 1000 Next i
js(n + 1, 1) = \Σ\ js(n + 1, 5) = bcsum js(n + 1, 7) = -fx js(n + 1, 9) = -fy
js(n + 1, 2) = DZDFMKG(gcjsum) js(n + 1, 3) = fb For i = 2 To 9 js(n, i) = \ Next i
For i = 5 To 9
js(n - 1, i) = \ Next i
For i = 2 To 9 If i <> 4 Then js(1, i) = \ End If Next i
js(n + 1, 4) = \ js(n + 1, 10) = \ js(n + 1, 11) = \
js(n + 2, 1) = \辅肋\计算\
js(n + 2, 2) = \容≤±\+ Str$(Round(12 * Sqr(n - 1), 0)) + \+ \+ Space$(5) + \+ Str$(fy) + \+ Space(5) + Chr(10) + \+ Str$(Round(Sqr(fx ^ 2 + fy ^ 2), 1)) _
19
+ \2 + fy ^ 2) * 1000)) For i = 2 To n - 1
js(i, 2) = DFMKG(js(i, 2)) js(i, 4) = HDZDFMKG(js(i, 4)) Next i
js(1, 4) = HDZDFMKG(js(1, 4)) dxjs = js End Function
运行情况如图16所示
图 16 附合导线函数运行界面 17、取位函数。
程序编码:
Private Sub cmd_qw_Click()
Dim numysz, numqwrsz As Double Dim qwz As Integer Dim n, fh As Integer
numysz = Val(txt_ysz.Text) fh = Sgn(numysz) If numysz < 0 Then numysz = Abs(numysz) End If
n = Val(txt_qws)
If (Int(numysz * 10 ^ n) + 0.6) * 10 <= Int(numysz * 10 ^ (n + 1)) Then
numqwrsz = (Int(numysz * 10 ^ n) + 1) / 10 ^ n
ElseIf (Int(numysz * 10 ^ n) + 0.5) * 10 = Int(numysz * 10 ^ (n + 1)) Then
qwz = (Int(numysz * 10 ^ n) / 10 - Int(numysz * 10 ^ (n - 1))) * 10
20
正在阅读:
VB实习报告12-27
现代心理和教育统计学课后题12-07
《寻找仇家》阅读答案.docx04-06
操作系统 习题201411-02
八年级历史上册第四单元新时代的曙光第12课新文化运动课时训练新03-28
2016-2017学年度牛津版英语八年级上册Units5-8测试题含答案11-20
金蝶SQL二次开发10-23
单片机课程设计报告数字电压表 - 图文05-12
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 实习报告
- 锻造工艺学复习知识点
- 2018-2024年中国高温电阻炉行业市场发展现状研究及投资战略咨询报告
- 西安市国家行政机关及其公务员公共服务行为规范暂行规定市政发%E3%80
- 和平幼儿园语言文字工作评估汇报材料
- 桂林攻略
- 部编版人教版一年级语文上册集体备课教案(表格式)(可直接打印)
- 关于2003年机关事业单位工人技术等级 - 图文
- 安徽省地方税务局关于明确建筑业中设备与材料范围划分问题的通知
- 小学语文总复习资料
- 高一上期地理问题探究《月球基地应该是什么样子》优秀学案(无答案)
- 庭审旁听报告
- 中国木材防腐行业市场前景分析预测年度报告(目录) - 图文
- 铁路线路工初级练习题
- 2019年最新部编版(统编版)三年级上册语文精品教案 20 美丽的小兴安岭
- 上海市教育委员会、上海市统计局、上海市财政局关于2017年上海市
- 2018广西公需科目考试“一带一路”答案解析100分6月29日试题库
- 普通大学微观经济学复习题
- 2019-2025年中国蛋鸡养殖行业市场前景预测及投资战略研究报告 - 图文
- 人文英语3-Unit1 - 8自测
- 建筑节能计算相关公式及参数