x = x * i s = s + x Next i Print s End Sub
28、 编写一个计算三角形面积的Function过程,然后调用该过程计算一个不规则五边形的面积。
Function Area(x!, y!, z!) As Single Dim c!
c = (x + y + z) / 2
Area = Sqr(c * (c - x) * (c - y) * (c - z)) End Function
Sub Form_Click()
Dim a!, b!, c!, d!, e!, f!, g!, s1!, s2!, s3!
a = InputBox(\输入a\输入b\输入c\ d = InputBox(\输入d\输入e\输入f\ g = InputBox(\输入g\ s1 = Area(a, b, c) s2 = Area(c, d, e) s3 = Area(e, f, g)
MsgBox (\多边形面积=\End Sub
29、设计一个程序,窗体如图所示,要求在“输入数据”框中输入一个数字。当单击“计算”命令按钮时,将输入的数据乘8后显示在另一个标签中;单击“退出”命令按钮时,结束程序运行。
Private Sub Command1_Click() Label1 = Val(Text1) * 8 End Sub
Private Sub Command2_Click() End End Sub
30、设计两个变量交换值的程序
Private Sub Command1_Click() X = Val(Text1) Y = Val(Text2)
TE = X: X = Y: Y = TE Text3 = X Text4 = Y End Sub
31、从键盘输入一维数组a(29)(共30个元素),编写程序求这30个数的最大数,以及这个数的数组下标。
Private Sub Command1_Click() Dim A(1 To 30) For I = 1 To 30
A(I) = Int(Rnd * 90 + 10) Next I
Max = A(1) For I = 2 To 30
If A(I) > Max Then Max = A(I): X = I Next I
Print Max, X End Sub
32、在窗体上随机打印100个小写的英文字母(a的ascii码为97)。 For i = 1 To 100
Print Chr(Int(Rnd * 26 + 97)); Next i
33、编写程序,在文本框中任意输入一个字符,在窗体上输出该字符的Ascii码。 Private Sub Command1_Click() a = Text1 Print Asc(a) End Sub
34 求1到100之间所有能被3整除而不能被7整除的整数的和与个数。 Private Sub Command1_Click() For i = 1 To 100
If i Mod 3 = 0 And i Mod 7 <> 0 Then Print i Next i
End Sub
35、在窗体上的4个文本框中各输入一个整数值,然后单击命令按纽,即可求出的最大值,并在窗体显示出来,如图所示。
Private Sub Command1_Click()
a = Text1: b = Text2: c = Text3: d = Text4 If a < b Then a = b If a < c Then a = c If a < d Then a = d Print \最大值是:\ End Sub
36、在文本框Text1和Text2中分别输入任意两个正整数M和N,单击命令按钮Command1,使Text1中显示较大的数,Text2中显示较小的数。请写出命令按钮Command1的事件过程代码。
Private Sub Command1_Click() Dim m As Integer, n As Integer m = Val(Text1.Text) n = Val(Text2.Text) If m < n Then
Text1.Text = Str(n) Text2.Text = Str(m) End If End Sub
37、在窗体上画一个图片框Picture1,运行时,按下鼠标左键,在图片框中心画一个半径为500,颜色为红色的圆;按下鼠标右键,在图片框中心画一个半径为600,颜色为黑色的圆。(提示:按下鼠标左键时,Button=1,按下鼠标右键时,Button=2,QBColor(0)为黑色,QBColor(4)为红色)。
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
X = Picture1.Height / 2 Y = Picture1.Width / 2 if button=1 then
Picture1.Circle (X, Y), 500, QBColor(4)
Endif
if button=2 then
Picture1.Circle (X, Y), 600, QBColor(0)
endif
End Sub
38、运行程序时,单击命令按钮Command1,用InputBox函数从键盘输入任意10
个实数,在标签控件Label1和Label2上分别显示这10个数的总和及平均值。
Private Sub Command1_Click()
Dim sum As Single, average As Single Dim a As Single sum = 0
For i = 1 To 10
a = Val(InputBox(\输入10个实数:\ sum = sum + a Next i
average = sum / 10 Label1.Caption = sum Label2.Caption = average End Sub
39、单击窗体,找出100~200之间所有能被5整除的整数,并显示在窗体上。 Private Sub Form_Click() Dim i As Integer For i = 100 To 200
If i Mod 5 = 0 Then Print i End If Next i End Sub
40、定义一个包含10个元素的一维数组来存储10个随机的两位整数,单击命令按钮(Command1)把它们按顺序输出到窗体上。请写出命令按钮的单击事件过程代码。 Private Sub Command1_Click() Dim a(9) As Integer Dim i As Integer For i = 0 To 9
a(i) = Int(Rnd * 90 + 10) Print a(i) Next i End Sub