VB实验复习参考(附详细答案)

更新时间:2024-01-06 18:44:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验复习参考

1. 在窗口中添加一个标签,设置Border Style=1属性为有边框,编写程序代码实现:单击窗体后,标签上显示如图所示的信息,标签文字字体设置为隶书,文字大小20,加粗,倾斜,下画线。Label1.fontitalic=true label1.fontunderline=true

2. 在窗体上,按下鼠标左键拖动,在窗体的标题栏中显示鼠标指针的坐标位置。Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 1 Then

Form1.Caption = X & \End If End Sub

3. 在两文本框中输入数据,单击等号命令按钮,结果显示在标签中,如图所示。

4.

添加2标签和2文本框,运行时在第一个文本框中输入一个字符,然后按回车键,对应字符的ASCII编码值显示在第二个文本框中。提示:用KeyPress事件,回车键ASCII

值为13

第 1 页 共 17 页

实验复习参考

5. 编写程序,调用InputBox函数输入存款的本金X和存款年限N,计算若干年后本金和利息的总和是多少?假设年利率固定为4%,计算公式为:总计=本金*(1+4%)N,计算的结果通过调用MsgBox函数显示。 Private Sub Command1_Click()

s = MsgBox(Val(Text1.Text) * (1 + 0.04) ^ Val(Text2.Text)) 6. Print s 7. End Sub

8. 运行时单击窗口,随机产生一个1000-9999间的整数,判断其是否是6的倍数。用Print方法把产生的随机数和判断结果显示在窗口上。(其他倍数判定、奇偶数判定)Private Sub Form_Click() 9. Form1.Cls 10. Dim i%

11. i = Int(Rnd * (9999 - 1000 + 1) + 1000) 12. Print i

13. If i Mod 6 = 0 Then 14. Print \是6的倍数\15. Else

第 2 页 共 17 页

实验复习参考

16. Print \不是6的倍数\17. End If 18. End Sub

19. 设银行的定期存款利率为:一年期2.52%,二年期3.06%,三年期3.69%,五年期4.14%。请输入存款金额,并选择存款年限,编程计算到期利息。Private Sub Command1_Click() 20. If Option1.Value = True Then 21. Text2.Text = Text1.Text * 0.025 22. End If

23. If Option2.Value = True Then …… 24. End If 25. End Sub

26. 利用Inpubox函数输入2个正整数,求其最小公倍数,结果用Msgbox函数显示。(最大公约数)

27. 利用Inpubox函数输入1个正整数,判断其是否为质数(素数),结果用Msgbox函数显示。

第 3 页 共 17 页

实验复习参考

28. 随机产生10个两位整数,放在数组中,用Print方法显示出每个元素的值;同时计算这些随机数的平均值,用Print方法显示出来。Private Sub Form_Click() 29. Dim a(10) As Integer 30. Form1.Cls 31. Dim v!, s% 32. s = 0

33. For i = 1 To 10

34. a(i) = Val(Rnd * (99 - 10 + 1) + 10) 35. s = s + a(i) 36. Print a(i) 37. Next i 38. v = s / 10

39. Print \平均值为\40. End Sub

41. 随机产生10个三位整数,放在数组中,用Print方法显示出每个元素的值;同时找出这些随机数中的最大数,用Print方法显示出来。(最小数)Private Sub Form_Click() 42. Dim i%, max% 43. Dim a(10) As Integer 44. For i = 1 To 10

45. a(i) = Int(Rnd * (999 - 100 + 1) + 100)

第 4 页 共 17 页

实验复习参考

46. Print a(i); 47. Next i 48. max = 100 49. Print 50. For i = 1 To 10 51. If a(i) > max Then 52. max = a(i) 53. End If 54. Next i

55. Print \最大值\56. Print 57. End Sub

58. 随机产生10个三位整数,放在数组中,用Print方法显示出每个元素的值;同时对这些随机数按从小到大的顺序排序,排序后用Print方法显示出来这些随机数。(选择法、冒泡法) Private Sub Form_Click() Dim a(10) As Integer Dim i%, j% For i = 1 To 10

a(i) = Int(Rnd * (999 - 100 + 1) + 100)

第 5 页 共 17 页

实验复习参考

67. 定义一个5×5的二维数组,其对角线元素为2,其余元素为5,编写程序显示出其数组元素,如图所示。

68. 编写程序求出e的值,要求精确到小数点后6位(10-7)

(类似求圆周率PI,累加,用阶乘函数实现方便)

Private Sub Form_Click() Dim ti#, s#, i% s = 1 Do i = i + 1 ti = 1 / fact(i)

第 11 页 共 17 页

实验复习参考

s = s + ti

Loop Until ti < 0.0000001 Print s End Sub

Function fact#(ByVal N%) Dim i%, s# s = 1 For i = 1 To N s = s * i Next i fact = s End Function

69. 输入一个整数,编写一函数判断该数是否是素数

70. 编写程序,统计出100到999间是8的倍数的整数的个数。

Private Sub Form_Click() Me.AutoRedraw = True Dim i%, c%

For i = 100 To 999

If i Mod 8 = 0 Then c = c + 1 Next i Print c End Sub

71. 定义一个10个元素的数组,随机产生10个两位整数存于该数组中,然后再任意输入一个数,查找数组中是否有此数。

Private Sub Form_Click() Me.AutoRedraw = True

Dim X%(1 To 10), t As Boolean, N& For i = 1 To 10

X(i) = Int(10 + Rnd * 90) Print X(i); Next i Print

N = Val(InputBox(\For i = 1 To 10

If X(i) = N Then t = True: Exit For Next i

第 12 页 共 17 页

实验复习参考

If t Then Print \End Sub

72. 定义一个10个元素的数组,随机产生10个两位数存于该数组中,显示出来,按照从大到小的顺序排序,然后再显示排序后的数组元素。(前面是从小到大)

Private Sub Form_Click() Dim X%(1 To 10), i%, j%, c%, p% For i = 1 To 10

X(i) = Int(Rnd * 90 + 10) Print X(i); Next i Print For i = 1 To 9 p = i

For j = i + 1 To 10

If X(p) < X(j) Then p = j Next j

c = X(p): X(p) = X(i): X(i) = c Next i For i = 1 To 10 Print X(i); Next i Print End Sub

73. 拖动滚动条改变标签字体大小。

Private Sub Form_Load()

第 13 页 共 17 页

实验复习参考

HScroll1.Min = 1 HScroll1.Max = 36 HScroll1.Value = 14

Label1.Caption = \重庆医科大学\ Label1.Alignment = 2 Label1.BorderStyle = 1

Label1.FontSize = HScroll1.Value Label2.Caption = HScroll1.Value End Sub

Private Sub HScroll1_Change() Label1.FontSize = HScroll1.Value Label2.Caption = HScroll1.Value End Sub

74. 滚动条控制图片框的背景色

请见课件

75. 画出2个周期的正弦波形

Option Explicit

Const PI# = 3.14159265358979 Private Sub Form_Click() Dim x#, y#

For x = -2 * PI To 2 * PI Step 0.01 y = Sin(x) Me.PSet (x, y) Next x End Sub

第 14 页 共 17 页

实验复习参考

Private Sub Form_Load()

Me.Scale (-2 * PI - 0.1, 1.1)-(2 * PI + 0.1, -1.1) Me.AutoRedraw = True

Me.Line (-2 * PI - 0.1, 0)-(2 * PI + 0.1, 0) Me.Line (0, 1.1)-(0, -1.1) End Sub

76. 题目:用公式:π=4*(1-1/3+1/5-1/7+1/9-1/11……+ti)计算π的近似值,直到最后一项ti的绝对值小于10-6为止。(见课件)

Option Explicit

Private Sub Form_Click() Dim s#, i#, f#, ti# i = -1: f = -1 Do

i = i + 2 f = -f ti = f / i s = s + ti

Loop Until Abs(ti) < 10 ^ (-6) Print 4 * s End Sub

77. 产生20个[50,100]随机数,找最值和算平均值

Option Explicit

Private Sub Form_Click()

Dim i%, N%, max%, min%, sum%, mean! max = 50: min = 100 For i = 1 To 20

N = Int(Rnd * (100 - 50 + 1) + 50) If N > max Then max = N If N < min Then min = N sum = sum + N Next i

mean = sum / 20 Print max, min, mean End Sub

78. 用时钟控件控制标签在窗口中左右来回移动

第 15 页 共 17 页

实验复习参考

Dim x!

Private Sub Form_Load() x = 500

Label1.Caption = \天气预报10-14\ Timer1.Interval = 200 End Sub

Private Sub Timer1_Timer()

If Label1.Left < Me.ScaleLeft Then x = -x

ElseIf Label1.Left + Label1.Width > Me.ScaleWidth Then x = -x End If

Label1.Left = Label1.Left + x End Sub

79. 画出5个同心矩形

Option Explicit

Private Sub Form_Click() Dim i%, x1%, y1%, x2%, y2% Me.Scale (-50, 50)-(50, -50) Me.Line (-50, 0)-(50, 0) Me.Line (0, 50)-(0, -50) For i = 1 To 5 x1 = -50 + 5 * i y1 = 50 - 5 * i x2 = 50 - 5 * i y2 = -50 + 5 * i

Me.Line (x1, y1)-(x2, y2), , B Next i End Sub

80. 画出矩形波

Private Sub Form_Load()

第 16 页 共 17 页

实验复习参考

Me.AutoRedraw = True

Me.Scale (-200, 200)-(200, -200) Dim i%

Me.CurrentX = -180 Me.CurrentY = 150 For i = 1 To 9

Me.Line -Step(20, 0) Me.Line -Step(0, -200) Me.Line -Step(20, 0) Me.Line -Step(0, 200) Next i End Sub

81. 画出8个并排的圆

Option Explicit

Private Sub Form_Click() Dim i%

For i = 0 To 7 Me.FillStyle = i

Me.Circle (500 + 800 * i, 800), 400 Next i End Sub

第 17 页 共 17 页

本文来源:https://www.bwwdw.com/article/h6gx.html

Top