VB程序设计教程第版课后实验答案

上传人:仙*** 文档编号:72664642 上传时间:2022-04-09 格式:DOC 页数:37 大小:130.50KB
收藏 版权申诉 举报 下载
VB程序设计教程第版课后实验答案_第1页
第1页 / 共37页
VB程序设计教程第版课后实验答案_第2页
第2页 / 共37页
VB程序设计教程第版课后实验答案_第3页
第3页 / 共37页
资源描述:

《VB程序设计教程第版课后实验答案》由会员分享,可在线阅读,更多相关《VB程序设计教程第版课后实验答案(37页珍藏版)》请在装配图网上搜索。

1、实验AA1Private Sub Command1_Click() Label3 = Text1End SubA2Private Sub Form_Load() Timer1.Interval = 0End SubPrivate Sub Command1_Click() 自动 Timer1.Interval = 200End SubPrivate Sub Command2_Click() 手动 Timer1.Interval = 0 Call MyMoveEnd SubPrivate Sub Timer1_Timer() Call MyMoveEnd SubSub MyMove() Label

2、1.Move Label1.Left - 50 If Label1.Left 0 Then Label1.Left = Form1.WidthEnd SubA3Private Sub Form_Click() Text1 = Val(Text1) + 1End SubPrivate Sub Form_Load() Text1 = 0End SubA4Private Sub Form_Click() Caption = 单击窗体,改变图片 Picture = LoadPicture(App.Path + n_015.bmp) Print 欢迎使用VBEnd SubPrivate Sub Form

3、_DblClick() Cls Caption = 双击窗体,卸去图片 Picture = LoadPicture() End SubPrivate Sub Form_Load() Caption = 装入窗体 Picture = LoadPicture(App.Path + n_016.bmp) Print 装入图End SubPrivate Sub Form_Resize() 该事件的作用窗体始终与图一样大 Caption = 窗体大小不变 Form1.Width = 260 * 16 260是Tongji-2.bmp图的宽度,象素单位 Form1.Height = 260 * 16 +

4、200 260是图的高度,象素单位,200是窗体的标题栏高度End SubA5Sub Command1_Click() Text1.FontName = 隶书 Text1.FontSize = 25End SubSub Command2_Click() Text2.Text = Text1.SelText Text2.FontName = Text1.FontName Text2.FontSize = Text1.FontSizeEnd Sub实验BB1Private Sub Command1_Click() Text2 = Format(5 / 9 * (Val(Text1) - 32),

5、0.00)End SubPrivate Sub Command2_Click() Text1 = Format(9 / 5 * Val(Text2) + 32, 0.00)End Sub或Private Sub Command1_Click() Dim f!, c! 声明两个变量 f = Val(Text1) c = 5 / 9 * (f - 32) Text2 = Format(c, 0.00) 保留两位小数End SubPrivate Sub Command2_Click() Dim ff!, cc! 声明两个变量 cc = Val(Text2) ff = 9 / 5 * cc + 32

6、Text1 = Format(ff, 0.00) 保留两位小数End SubB2Private Sub Command1_Click() Label2 = Format(Val(Text1) * Val(Text1) * 3.14, 0.00)End SubPrivate Sub Command2_Click() Label3 = Format(Val(Text1) * 3.14 * 2, 0.00)End SubPrivate Sub Text1_LostFocus() If Not IsNumeric(Text1.Text) Then MsgBox 输入有非数字字符,请重新输入, , 警告

7、 Text1.Text = Text1.SetFocus End IfEnd Sub或Private Sub Command1_Click() Label2 = Format(Val(Text1) * Val(Text1) * 3.14, 0.00)End SubPrivate Sub Command2_Click() Label3 = Format(Val(Text1) * 3.14 * 2, 0.00)End SubPrivate Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If Not IsNumeric(T

8、ext1.Text) Then Text1.Text = End If End IfEnd SubB3Private Sub Command1_Click() n = Int(Log(2) / Log(1.008) + 1) Label1 = n & 年后人数超过26亿End SubB4Private Sub Command1_Click() Dim x, dx, cd x = Text1.Text dx = UCase(x) cd = Len(x) Print 大写字母为:; dx Print 字符串长度为:; cdEnd SubB5Private Sub Command1_Click()

9、Text1 = Int(Rnd * 900 + 100)End SubPrivate Sub Command2_Click() Dim x%, x1%, x2%, x3% x = Val(Text1) x1 = x Mod 10 分离出的个位数 x2 = (x Mod 100) 10 分离出的十位数 x3 = x 100 分离出的百位数 Label1 = x1 * 100 + x2 * 10 + x3End SubB6Private Sub Form_Click() Label1 = Left(Text1, 11) Label2 = Mid(Text1, 12, 6) Label3 = Rig

10、ht(Text1, 5)End SubB7Private Sub Command1_Click() Print For i = 1 To 5 Print Tab(15 - i * 2); String(2 * i - 1, ); Spc(18 - 4 * (i - 1); String(2 * i - 1, ) Next iEnd SubPrivate Sub Command2_Click() ClsEnd Sub进一步要求:Private Sub Command1_Click() Print For i = 1 To 5 Print Tab(15 - i * 2); String(2 * i

11、 - 1, ); String(10 - (2 * i - 1), ); String(2 * i - 1, ) Next iEnd SubPrivate Sub Command2_Click() ClsEnd SubB8Private Sub Form_Click()x = Val(InputBox(输入一正实数, 计算, 0)pf = Format(x * x, 0.000)pfg = Format(Sqr(x), 0.000)lf = Format(x * x * x, 0.000)lfg = Format(x (1 / 3), 0.000)Print 平方为:; pf; Space(5

12、); 平方根为:; pfg; Space(5); 立方为:; lf; Space(5); 立方根为:; lfgEnd Sub实验CC1Private Sub Form_Click()Dim x!, y!x = Val(InputBox(输入x的值)If x 1000 Theny = xElseIf x 2000 Theny = 0.9 * xElseIf x 3000 Theny = 0.8 * xElsey = 0.7 * xEnd IfPrint yEnd SubC2Private Sub Form_Click()Dim x!, y!x = Val(InputBox(输入上网时间)If x

13、 10 Theny = 30ElseIf x 150 Theny = 150End IfPrint yEnd SubC3Private Sub Command1_Click() Dim x!, y!, z! x = InputBox(input x) y = InputBox(input y) z = InputBox(input z) Print x y z Print 排序前; x; ; y; ; z If x y Then t = x: x = y: y = t If x z Then t = x: x = z: z = t If y z Then t = y: y = z: z = t

14、 Print 排序后 & x & & y & & zEnd SubPrivate Sub Command2_Click() Dim x!, y!, z! x = InputBox(input x) y = InputBox(input y) z = InputBox(input z) Print x y z Print 排序前; x; ; y; ; z If x y Then t = x: x = y: y = t If y z Then t = y: y = z: z = t If x a(i + 1) Thenz = a(i + 1)a(i + 1) = a(i)a(i) = zEnd I

15、fNext iPicture2.Print a(0)Picture2.Print a(1)Picture2.Print a(2)End SubC5Private Sub Text2_LostFocus() Dim m%, n%, y% m = Val(Text1) n = Val(Text2) If n Mod 2 0 Then MsgBox (脚数必定为偶数) Text2 = Text2.SetFocus Else y = n / 2 - m If y 0 Then Text4 = Format(-b + Sqr(de) / t, 0.00) Text5 = Format(-b - Sqr(

16、de) / t, 0.00)Else Text4 = Format(-b / t, 0.00) & + & Format(Sqr(Abs(de) / t, 0.00) & i Text5 = Format(-b / t, 0.00) & - & Format(Sqr(Abs(de) / t, 0.00) & iEnd IfEnd SubPrivate Sub Command2_Click()Text1 = Text2 = Text3 = Text4 = Text5 = End SubC7Private Sub Text3_LostFocus() Select Case Trim(Text3)

17、Case + Text4 = Val(Text1) + Val(Text2) Case - Text4 = Val(Text1) - Val(Text2) Case * Text4 = Val(Text1) * Val(Text2) Case / If Val(Text2) = 0 Then MsgBox 分母为零,重新输入 Text2 = Text2.SetFocus Else Text4 = Val(Text1) / Val(Text2) End If End SelectEnd SubC8Private Sub Text1_LostFocus() Select Case Trim(Tex

18、t1) Case 1 Text2 = Monday Case 2 Text2 = Tuesday Case 3 Text2 = Wednesday Case 4 Text2 = Thursday Case 5 Text2 = Friday Case 6 Text2 = Saturday Case 7 Text2 = Sunday Case Is 7, Is 7 Or Text1 1 Then MsgBox 数字为17,重新输入 Text1 = Text1.SetFocusElse Text2 = Choose(Text1, Monday, Tuesday, Wednesday, Thursda

19、y, Friday, Saturday, Sunday)End IfEnd Sub实验DD1Private Sub Form_Click() For i = 1 To 9 Print Tab(10 - i); String(2 * i - 1, Trim(Str(i) Next iEnd SubD2Private Sub Form_Click() For i = 1 To 10 Step 1 Print Tab(i); String(20 - 2 * i), Chr(64 + i) Next iEnd SubD3Private Sub Command1_Click()Dim s!, t!, i

20、&s = 1t = 1For i = 1 To 100000t = t + is = s + 1 / tIf 1 / t 0.00001 Then Exit ForNext iPrint For结构; s, i; 项End SubD4Private Sub Command1_Click()Dim n&, pi#, i&n = InputBox(输入n值)pi = 2For i = 1 To n pi = pi * (2 * i) / (2 * i - 1) * (2 * i) / (2 * i + 1)Next iPrint 当n= & n & 时,pi=; piEnd SubD5Privat

21、e Sub Form_Click() Dim s!, t!, i!, a%, n% a = Int(Rnd * 9 + 1) n = Int(Rnd * 6 + 5) t = 0: s = 0 Print a=; a, n=; n For i = 1 To n t = t * 10 + a s = s + t Print t; Next i Print Print s=; sEnd SubD6Private Sub Command1_Click()Dim s As Integers = 0For i = 1 To 9 For j = 0 To 9 For k = 0 To 9 s = i *

22、100 + j * 10 + k If s = i 3 + j 3 + k 3 Then Print s End If Next k Next jNext iEnd SubPrivate Sub Command3_Click()formd6.Hidemain.ShowEnd SubD7Private Sub Command1_Click() Dim a!, x0!, x1! a = 27 x0 = 2 i = 0 Do i = i + 1 x1 = 2 * x0 / 3 + a / (3 * x0 * x0) If Abs(x1 - x0) Max Then Max = a(i) If a(i

23、) Min Then Min = a(i) Avg = Avg + a(i) Next i Avg = Avg / 10 Print Print Max=; Max; Min=; Min; Avg=; AvgEnd SubE2Private Sub Form_Click() Dim a a = Array(56, 78, 98, 88, 76, 78) For i = 0 To 5 Print String(a(i) 5, ); a(i) Print Next iEnd SubE3Dim a%(19)Private Sub Command1_Click()Picture1.Cls For i

24、= 0 To 19 a(i) = Int(Rnd * 101) Picture1.Print a(i); ; If (i + 1) Mod 4 = 0 Then Picture1.Print Next iEnd SubPrivate Sub Command2_Click()Picture2.ClsDim s(5 To 9) For i = 0 To 19 k = a(i) 10 Select Case k Case 0 To 5 s(5) = s(5) + 1 Case 9 To 10 90100分的人数 s(9) = s(9) + 1 Case 6 To 8 存放其他三个分数段的下标有规律,

25、根据K获得 s(k) = s(k) + 1 End SelectNext i For i = 5 To 9 If s(i) 0 Then Picture2.Print s(; i; )的人数有 ; Format(s(i), 0); 个 Next iEnd SubE4Private Sub Command1_Click()Picture1.ClsDim d%(1 To 10)For i3 = 1 To 10Randomized(i3) = Int(Rnd * 91 + 10)Next i3For i = 1 To 10For j = 1 To 10 - iIf d(j) = 5 Then Msg

26、Box (超过5门课程,不能再选) Exit Sub Else List2.AddItem List1.Text List1.RemoveItem List1.ListIndex End IfEnd SubE8Sub Combo1_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 48 To 57, 13 Case Else KeyAscii = 0 End Select If KeyAscii = 13 Then Combo1.AddItem Combo1.Text Combo1.Text = End IfEnd SubPriva

27、te Sub Command1_Click() Dim min%, max% min = Val(Combo1.List(0) max = Val(Combo1.List(0) imin = 0 imax = 0 For i = 1 To Combo1.ListCount - 1 If Val(Combo1.List(i) max Then imax = i max = Combo1.List(i) ElseIf Val(Combo1.List(i) min Then imin = i min = Combo1.List(i) End If Next i t = Combo1.List(0)

28、Combo1.List(0) = Combo1.List(imin) Combo1.List(imin) = t t = Combo1.List(Combo1.ListCount - 1) Combo1.List(Combo1.ListCount - 1) = Combo1.List(imax) Combo1.List(imax) = tEnd SubE9Private Sub Form_Click() For i = 0 To Screen.FontCount - 1 If Asc(Left(Screen.Fonts(i), 1) = 5 Then MsgBox (输入人数超过数组声明的个数

29、)Else With a(n) .number = Text1 .name = Text2 .salary = Text3 Picture1.Print a(n).number, a(n).name, a(n).salary Print End With n = n + 1 Text1 = Text2 = Text3 = End IfEnd Sub Private Sub Command2_Click()Dim t As clerk, i%, j%For i = 0 To n - 1 For j = i To n - 1 If a(i).salary a(j + 1).salary Then

30、t = a(i): a(i) = a(j + 1): a(j + 1) = t End If Next jNext iPicture1.ClsPicture1.Print 工号 姓名 工资For i = 0 To n - 1 Picture1.Print a(i).number, a(i).name, a(i).salary PrintNext iEnd Sub实验FF1Private Sub Form_Click() Dim a(1 To 10), amin, i% For i = 1 To 10 a(i) = -Int(Rnd * 101 + 300) Print a(i); Next i

31、 Call s(a(), amin) Print Print min=; aminEnd SubSub s(b(), min) Dim i% min = b(LBound(b) For i = LBound(b) + 1 To UBound(b) If b(i) min Then min = b(i) Next iEnd SubF2Private Sub Command1_Click() Dim mm%, nn% mm = Val(Text1) nn = Val(Text2) Picture1.Print mm; Tab(6); nn; Tab(12); gcd(mm, nn)End SubF

32、unction gcd%(ByVal m%, ByVal n%) If m n Then t = m: m = n: n = t r = m Mod n Do While (r 0) m = n: n = r: r = m Mod n Loop gcd = nEnd FunctionF3Dim x!Private Sub Command1_Click()Print 调用标准函数Sin的结果; Sin(x)End SubPrivate Sub Command2_Click()Print 调用自定义函数 MySin的结果; MySin(x)End SubFunction MySin(x!) As

33、Double Dim i%, t!, s! t = x s = t i = 1 Do While Abs(t) 0.00001 t = -1 * t * x * x / (i + 1) * (i + 2) s = s + t i = i + 2 Loop MySin = sEnd FunctionPrivate Sub Command3_Click()x = InputBox(输入要计算正弦函数的角度值x)x = x * 3.14 / 180End SubF4Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 The

34、n If Not IsNumeric(Text1) Then MsgBox 输入非数字串,重新输入 Text1.Text = Text1.SetFocus Else If IsH(Text1) Then Picture1.Print Text1; Else Picture1.Print Text1 End If Text1 = End If End IfEnd SubFunction IsH(ss As String) As Boolean Dim i%, Ls% IsH = True ss = Trim(ss) Ls = Len(ss) For i = 1 To Ls 2 If Mid(ss

35、, i, 1) Mid(ss, Ls + 1 - i, 1) Then IsH = False Exit Function End If Next iEnd FunctionF5Function prime(ByVal m As Integer) As Booleanprime = TrueDim i%For i = 2 To m - 1If (m Mod i) = 0 Then prime = False: Exit Function 注意冒号和exit的范围Next iEnd FunctionPrivate Sub Command1_Click()n = 0For i = 6 To 100

36、 Step 2For j = 3 To i 2If prime(j) ThenIf prime(i - j) ThenList1.AddItem i & = & j & + & i - jn = n + 1End IfEnd IfNext jNext iPicture1.Print 6和100之间共有; n; 对素数和End SubF6Dim a%()Private Sub Form_Click() Print 1000以内的完数为: For i = 1 To 1000 If IsWs(i) Then Print i; =1; For j = 1 To UBound(a) Print +; a

37、(j); Next j Print End If Next iEnd SubFunction IsWs(m) As Boolean Dim s% s = 0 For i = 1 To m 2 If m Mod i = 0 Then ReDim Preserve a(j) a(j) = i j = j + 1 s = s + i End If Next i If m = s Then IsWs = TrueEnd FunctionF7Private Sub DeleStr(s1 As String, ByVal s2 As String) Dim i% ls2 = Len(s2) i = InS

38、tr(s1, s2) Do While i 0 s1 = Left(s1, i - 1) + Mid(s1, i + ls2) 在s1中去除s2子串 i = InStr(s1, s2) LoopEnd SubPrivate Sub Command1_Click() 调用DeleStr子过程 Dim ss1 As String ss1 = Text1 Call DeleStr(ss1, Text2) Text3 = ss1End SubPrivate Sub Command2_Click()End SubF8Private Sub Command1_Click()Dim maxw$maxlen

39、Text1 & , maxwText2 = maxwEnd SubSub maxlen(s$, maxw$) Dim word$ maxw = Do While s i = InStr(s, ) word = Left(s, i - 1) If Len(word) Len(maxw) Then maxw = word s = Mid(s, i + 1) LoopEnd Sub实验GG1Private Sub Command1_Click() List1.Clear List1.AddItem Combo1 If Option1 Then List1.AddItem Pentium II If

40、Option2 Then List1.AddItem Pentium I If Option3 Then List1.AddItem Celeron List1.AddItem Text1 If Check1 Then List1.AddItem 声卡 If Check2 Then List1.AddItem Modem If Check3 Then List1.AddItem 网络适配器End SubPrivate Sub Text1_LostFocus()st = UCase(Trim(Text1)le = Len(st)If Not IsNumeric(Left(st, le - 2)

41、Or Right(st, 2) MB Then MsgBox 有不合法字符! Text1 = Text1.SetFocusEnd IfEnd SubG2Private Sub Check1_Click()Picture1.Font.Bold = Not Picture1.Font.BoldEnd SubPrivate Sub Check2_Click()Picture1.Font.Italic = Not Picture1.Font.BoldEnd SubPrivate Sub Command1_Click()Picture1.ClsIf Option1 ThenPicture1.Print

42、Sin(Val(Text1)ElseIf Option2 ThenPicture1.Print Exp(Val(Text1)ElseIf Option3 ThenPicture1.Print Sqr(Val(Text1)End IfEnd SubPrivate Sub return_Click(Index As Integer)Form6.ShowUnload Form2End SubG3Private Sub HScroll1_Change() Text1 = VScroll1.Value Text2 = HScroll1.Value Text3 = HScroll2.Value Text4

43、 = Format(Val(Text1) * (Text3 / 100) * (Text2 / 12), 0.00) Text5 = Format(Val(Text4) + Val(Text1), 0.00)End SubPrivate Sub HScroll2_Change() Text1 = VScroll1.Value Text2 = HScroll1.Value Text3 = HScroll2.Value Text4 = Format(Val(Text1) * (Text3 / 100) * (Text2 / 12), 0.00) Text5 = Format(Val(Text4) + Val(Text1), 0.00)End SubPrivate Sub VScroll1_Change() Text1 = VScroll1.Value Text2 = HScroll1.Value Text3 = HScroll2.Value Text4 = F

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!