当前位置:文档之家› 重庆医科大学 重庆医科大学 VB1

重庆医科大学 重庆医科大学 VB1


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

新建工程,在form1中添加一个标签,在属性窗口将其caption属性改为空串,BorderStyle属性为1.
Private Sub Form_Click()
Label1.Caption = "Visual Basic 6.0 程序设计"
Label1.FontName = "隶书"
Label1.FontSize = 20
Label1.FontBold = True
Label1.FontItalic = True
Label1.FontUnderline = True
End Sub
2. 在窗体上,按下鼠标右键拖动,在窗体的标题栏中显示鼠标指针的坐标位置。完成后保存文件
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then
Form1.Caption = X & "," & Y
End If
End sub
3. 在窗体上,按下鼠标左键,窗体的背景色变为绿色,并显示“按下鼠标键,触发 MouseDown 事件”;松开鼠标左键,窗体的背景色变为红色,并显示“松开鼠标键,触发 MouseUp 事件”。完成后保存文件
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Form1.BackColor = RGB(0, 255, 0)
Label1.Caption = "按下鼠标键,触发 MouseDown 事件"
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Form1.BackColor = RGB(255, 0, 0)
Label1.Caption = "松开鼠标键,触发 MouseUp 事件"
End Sub
4. 运行程序时,按下某个键,在窗体上显示其Ascii值和对应的按下的键名。如在键盘上依次按下“A”、“Y”、“7” 、“,”和“<”键的运行结果如图。
(keyascii值,按下的键名)
Private Sub Form_KeyPress(KeyAscii As Integer)
Print KeyAscii, Chr(KeyAscii)
End Sub
Private Sub Form_Load()
Me.AutoRedraw = True
Me.FontBold = True
Me.FontSize = 11
Me.Print "keyascii值", "按下键名"
End Sub
5. 在两文本框中输入数据,单击等号命令按钮,结果显示在标签中,如图所示。完成后保存文件
(一个数加上一个数等于一个数)
新建工程,在form1中添加两个文本框和两个标签一个命令按钮。
Private Sub Command1_Click()
X1 = Val(Text1.Text)
X2 = Val(Text2.Text)
s = X1 + X2
Label2.Caption = s
End Sub
6. 编写程序实现窗体一出现时(Load事件过程),用Print语句在窗体第六行20列处开始打印显示“Hello,World!” 。完成后保存文件
Private Sub Form_Load()
Dim i%
For i = 1 To 5
Print
Next i
i = 6
Print Tab(20); "Hello,World"
End Sub
(注意:要将窗体的AutoRedraw属性值设置为ture,让窗体事件发生在print事件之前)
7. 编写一个时钟的程序。要求单击窗体显示当前的年月日及时间,如图4-6所示。注意:使用Now函数来实现。
新建工程,在form1中添加一个标签

,将Alingnment属性设置为2.
Private Sub Form_Click()
Label1.Caption = Now
End Sub
8. 如图所示,编写程序代码实现单击命令按钮两文本框中内容的互换。
新建工程,在form1中添加两个标签和两个文本框一个命令按钮。
Private Sub Command1_Click()
Dim a
a = Text1.Text
Text1.Text = Text2.Text
Text2.Text = a
End Sub
9. 添加2标签和2文本框,运行时在第一个文本框中输入一个字符,然后按回车键,对应字符的ASCII编码值显示在第二个文本框中。
提示:用KeyPress事件,回车键ASCII值为13
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Text2.Text = Asc(Text1.Text)
End If
End Sub
10. 编写程序,调用InputBox函数输入存款的本金X和存款年限N,计算若干年后本金和利息的总和是多少?假设年利率固定为4%,计算公式为:总计=本金*(1+4%)N,计算的结果通过调用MsgBox函数显示。
Private Sub Form_Load()
Dim X, N, Y, Z
X = Val(InputBox("输入存款的本金"))
N = Val(InputBox("存款年限"))
Y = X * (1 + 0.04) ^N
MsgBox "本金和利息的总和为" & Y
End Sub
11. 编写程序,单击命令按钮显示一个[100,300]之间的随机整数和一个随机大写英文字母。在显示这些信息之前,清除掉旧信息。
Private Sub Command1_Click()
m = Int(Rnd * (201) + 100)
n = Chr(Int(Rnd * 26 + 65))
Print m, n
End Sub

12. 运行时单击窗口,调用Inputbox函数输入一个数,判断其是否为正整数,如果为正整数判断其奇偶性,把结果信息显示在MsgBox对话框.
Private Sub Form_Click()
Dim x
x = Val(InputBox("请输入一个数"))
If Int(x) = Abs(x) Then

If x Mod 2 = 0 Then
MsgBox "x是偶数"
Else
MsgBox "x是奇数"
End If
Else
MsgBox "x不是正整数"
End If
End Sub
13. 运行时单击窗口,随机产生一个1000-9999间的整数,判断其是否是6的倍数。用Print方法把产生的随奇数和判断结果显示在窗口上。
Private Sub Form_Click()
Dim x%
x = Int(9000 * Rnd + 1000)
If x Mod 6 = 0 Then
Form1.Print x & "是6的倍数"
Else
Form1.Print x & "不是6的倍数"
End If
End Sub
14. 实验5-4:为医院计算公费医疗报销费。程序界面如图5-4所示,报销比例是分段计算,具体报销比例为:医疗费600元以内,不报销;医疗费大于600元并在2000元以内,报销70%;医疗费大于2000元并在10000元以内,报销80%;医疗费大于10000元并在30000元以内,报销90%;医疗费大于50000元并参加大病保险,报销100%。程序功能:在文本框(Text1)中输入医疗费,单击“计算”按钮(Command1),则可根据医疗费计算应报销的费用,并将计算结果显示在标签框(Label1)内,如果医疗费大于50000元,系统会提示是否参加大病保险,如果参加则多于50000的费用全部报
Private Sub Command1_Click()
x = Val(Text1.Text)
m7

= (2000 - 600) * 0.7
m8 = (10000 - 2000) * 0.8
m9 = (30000 - 10000) * 0.9
Select Case x
Case Is <= 600
m = 0
Case Is <= 2000
m = (x - 600) * 0.7
Case Is <= 10000
m = (x - 2000) * 0.8 + m7
Case Is <= 30000
m = (x - 10000) * 0.9 + m8 + m7
Case Is <= 50000
m = m7 + m8 + m9
Case Else
f = MsgBox("参加大保险与否?", 4)
If f = 6 Then
m = (x - 50000) + m7 + m8 + m9
Else
m = m7 + m8 + m9
End If
End Select
Label1.Caption = m
End Sub
Private Sub Text1_Click()
Text1.Text = ""
Label1.Caption = ""
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If keyscii = 13 Then
Command1.SetFocus
End If
End Sub
15. 利用一种循环语句计算12的阶乘。
Private Sub Form_Click()
Dim k%, m%, f As Long, s As Long
For k = 1 To 12
f = 1
For m = 1 To k
f = f * m
Next m
s = f
Next k
Print "s="; s
End Sub

16. 利用Inpubox函数输入2个正整数,求其最小公倍数,结果用Msgbox函数显示。
Private Sub Form_Load()
Dim x%, y%, t%, r%
x = Val(InputBox("第一个数为"))
y = Val(InputBox("第二个数为"))
If x < y Then t = x: x = y: y = t
t = x * y
Do
r = x Mod y
x = y
y = r
Loop Until r = 0
MsgBox "它们的最小公倍数是" & t / x
End Sub
17. 利用Inpubox函数输入1个正整数,判断其是否为素数,结果用Msgbox函数显示。利用循环语句和Print方法,产生如图所示的星号图形。保存窗体分别为sy6-5、sy6-6、sy6-7,工程
(1).Private Sub Form_Click()
Dim i%, j%
FontSize = 15
For i = 1 To 9
Print Tab(i);
For j = 1 To 8
Print "*";
Next j
Next i
End Sub
(2).Private Sub Form_Click()
Dim i%, j%
For i = 1 To 9
Print Tab(i * 2 - 1);
For j = 1 To 19 - 2 * i
Print "*";
Next j
Next i
End Sub

18. 编程计算下列公式的值,其中n (<15)为从键盘输入的正整数。
S=2!+4!+6!+……+(2*n)!
(2至2n偶数的阶乘和)
Private Sub Form_Click()
n = Val(InputBox("输入的正整数为"))
if n<15 then
For k = 2 To n * 2 Step 2
f = 1
For j = 1 To k
f = f * j
Next j
s = s + f
Next k
Print "s="; s
Else
Msgbox “输入有误”
End Sub
19. 随机产生8个三位整数,放在数组中,用Print方法显示出每个元素的值;同时找出这些随机数中的最小数,用Print方法显示出来。
Private Sub Form_Click()
Dim i%, a(1 To 8) As Integer
For i = 1 To 8
a(i) = Int(900 * Rnd + 100)
Print a(i);
Next i
Min = a(1)
For i = 2 To 8
If a(i) < Min Then Min = a(i)
Next i
Print "最小值为:"; Min
End Sub
20. 随机产生10个三位整数,放在数组中,用Print方法显示出每个元素的值;同时对这些随机数按从小到大的顺序排序,排序后用Print方法显示出来这些随机数。
Private Sub Command1_Click()
Dim i As Integer, k As Integer
Dim p As Integer, t As Integer 'p记录为最值位置,t为两两交换的中间变量
Dim a(1 To 10) As Integer
Print "未

排序的数列是:"
For i = 1 To 10
a(i) = Int(Rnd * 900 + 100)
Print a(i); "";
Next i
For i = 1 To 9
p = i
For k = i + 1 To 10
If a(p) > a(k) Then p = k
Next k
If p <> i Then
t = a(i)
a(i) = a(p)
a(p) = t
End If
Next i
Print
Print "已排序的数列是:"
For i = 1 To 10
Print a(i); "";
Next i
End Sub
21. 利用双重循环,实现如图。
(3的倍数呈宝塔状)
Private Sub Form_Click()
x = 0
For n = 1 To 4
For m = 1 To 2 * n - 1
x = x + 3
Print Tab(16 - n * 5 + m * 5); x;
Next m
Print
Next n
End Sub
22. 输入一个整数,编写一函数判断该数是否是偶数
Private Sub Form_Load()
Dim x%
x = Val(InputBox("输入x的值为"))
If x Mod 2 = 0 Then
MsgBox "x是偶数"
Else
MsgBox "x不是偶数"
End If
End Sub
23. 输入一个整数,编写一函数判断该数是否同时是2和7的倍数
Private Sub Form_Load()
Dim x%
x = Val(InputBox("输入x的值为"))
If x Mod 2 = 0 And x Mod 7 = 0 Then
MsgBox "x同时是2和7的倍数"
Else
MsgBox "x不同时是2和7的倍数"
End If
End Sub
24. 输入一个整数,编写一函数判断该数是否是素数
25.编程计算下列公式的值,其中n (<15)为从键盘输入的正整数。
S=1!+3!+5!+……+(2*n-1)!
(1至2n-1奇数的阶乘和)
Private Sub Form_Click()
n = Val(InputBox("输入的正整数为"))
If n < 15 Then
For k = 1 To n * 2 - 1 Step 2
f = 1
For j = 1 To k
f = f * j
Next j
s = s + f
Next k
Print "s="; s
Else
MsgBox "输入有误", vbAbortRetryIgnore
End If
End Sub
26.用For …Next语句编程,双击窗体后,在屏幕上显示如图:
(2至10呈平行四边形)
Private Sub Form_DblClick()
Dim i, j
For i = 1 To 3
Print Tab(10 - 3 * i);
For j = 2 To 10 Step 2
Print j;
Next j
Next i
End Sub
27.画出如图所示的图形

(坐标轴上的同心矩形)
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
31.用时钟控件控制标签在窗口中左右来回移动。
Private Sub Form_Load()
Timer1.Enabled = True
Timer1.Interval = 100
Label1.Caption = "重庆医科大学"

End Sub

Private Sub Timer1_Timer()
Static b As Boolean
If Label1.Left <= Or Label1.Left + Label1.Width >= Me.Width Then b = Not b
Label1.Left = Label1.Left + IIf(b, -75, 75)

End Sub














相关主题
文本预览
相关文档 最新文档