VB
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、》输入长方形的长和宽,计算长方形的面积,并输出。
Private Sub command1_click()
Dim a%, b%, s%
a = Val(InputBox("a"))
b = Val(InputBox("b"))
s = a * b
Print s
End Sub
2、输入正方形的边长,计算正方形的对角线长,并输出。
Private Sub command1_click()
Dim a!,l!
a=val(inputbox("输入边长"))
l=sqr(2)*a
Print "对角线长度为:";l
End sub
3、输入圆的半径,计算圆的周长,并输出。
Private sub command1_click()
Const pi=3.14
Dim s#,i%
r=val(inputbox("请输入半径"))
s=2*pi*r
print "圆的周长为:";s
end sub
4、》计算sum=1/2!+1/4!+1/6!+...+1/10!
Private sub command1_click()
Dim i%,f#,s#
F=1:s=0
For i=1 to 10
F=f*i
If i mod 2=0 then
S=s+1/f
End if
Next i
Print "sum=1/2!+1/4!+1/6!+...+1/10!";"=";s
End sub
5、计算sum=2!+4!+6!+...+10! 《计算、sum=1!+3!+5!+...+9!》Private sub command1_click()
Dim i%,f#,s#
F=1:s=0
For i=1 to 10
F=f*i
If i mod 2=0 then
S=s+f
End if
Next i
Print "sum=2!+4!+6!+...+10!";"="s
End sub
6、计算sum=2+4+6+...+100
Private Sub Command1_Click()
Dim i%, sum%
sum = 0
For i = 2 To 100 Step 2
sum = sum + i
Next i
Text1.Text = sum
End Sub
7、计算sum=1+3+5+...+99
Private Sub command1_click()
Dim i%, sum%
For i = 1 To 99 Step 2
sum = sum + i
Next
Print sum
End Sub
8、编写程序,建立一个6×6的整型二维数组(数据由程序调用Rnd函数产生[0,15 )的随机整数数),输出数组中的最小元素。
Private Sub command1_click()
Dim a%(6, 6), i%, j%
For i = 1 To 6
For j = 1 To 6
a(i, j) = Int(Rnd * 15)
Print a(i, j);
Next j
Print
Next i
Min = a(1, 1)
For i = 1 To 6
For j = 1 To 6
If Min > a(i, j) Then Min = a(i, j)
Next j
Next i
Print "数组中最小元素为:"; Min
End Sub
9、编写一个函数,其功能是把一个二进制数串转换为十进制数串。
调用该函数,计算二进制“1110011“对应的十进制数。
Private Sub Command1_Click()
Print f(1110011)
End Sub
Public Function f(ByVal a As String) As Long
Dim i As Long
For i = 1 To Len(a)
f = f * 2 + Val(Mid(a, i, 1))
Next i
End Function
10、编写一个函数,其功能是把一个八进制数串转换为十进制数串。
调用该函数,计算八进制“1234567“对应的十进制数。
11、随机输出一个位于[0,100]的整数。
Private Sub Command1_Click()
Dim s#
S=int(rnd *101) '括号里是r n d ,不是md
Print "随机整数为:";s
End sub
12、编写程序,产生一个整型二维数组A(N ,N),(N 取5),数组元素的取值范围为[0,15 ),计算数组中每一列数据的和。
Private Sub Command1_Click()
Dim a%(5, 5)
Dim i%, j%
For i = 1 To 5
For j = 1 To 5
a(i, j) = Int(Rnd * 15)
Print a(i, j);
Next j
Print
Next i
For i = 1 To 5
s1 = s1 + a(i, 1)
Next i
Print "第一列数据之和是"; s1
For i = 1 To 5
s2 = s2 + a(i, 2)
Next i
Print "第二列数据之和是"; s2
For i = 1 To 5
s3 = s3 + a(i, 3)
Next i
Print "第三列数据之和是"; s3
For i = 1 To 5
s4 = s4 + a(i, 4)
Next i
Print "第四列数据之和是"; s4
For i = 1 To 5
s5 = s5 + a(i, 5)
Next i
Print "第五列数据之和是"; s5
End Sub
13、编写一个函数,其功能为求两个数的最小数。
Private Sub Command1_Click()
Dim x!, y!
x = InputBox("输入第一个数值")
y = InputBox("输入第二个数值")
Min = f(x, y)
End Sub
Public Function f(m!, n!)
Min = m
If Min > n Then Min = n
f = Min
Print "两数中的较小数是"; Min
End Function
14、》输入一个四位数,分别输出它的个位数字、十位数字、百位数字和千位数字。
Private Sub Command1_Click()
Dim n%, a%, b%, c%, d%
n = InputBox("输入n的值")
a = n \ 1000
b = (n - a * 1000) \ 100
c = (n - a * 1000 - b * 100) \ 10
d = n - a * 1000 - b * 100 - c * 10
Print "这个四位数的千位数字是:"; a
Print "这个四位数的百位数字是:"; b
Print "这个四位数的十位数字是:"; c
Print "这个四位数的个位数字是"; d
End Sub
16、编写一个函数,其功能为判断某个整数是不是素数。
调用该函数,计算并输出区间[1300 ,1400] 内所有素数的和。
( 提示:只能被1 和自身整除的自然数称为素数。
)
Private Sub Command1_Click()
Dim i%
For i = 1300 To 1400
If f(i) Then s = s + i
Next i
Text1.Text = s
End Sub
Public Function f(n%) As Boolean
Dim i%
For i = 2 To n - 1
If n Mod i = 0 Then Exit For
Next i
If i > n - 1 And n > 1 Then
f = True
Print n; "是素数"
Else
Print n; "不是素数"
End If
End Function
17、随机输出一个小(大)写字母。
Private Sub Command1_Click()
Dim s
s = Chr$(Int(Rnd * 26 + 97))
p = Chr$(Int(Rnd * 26 + 65))
Print "输出的随机小写字母是"; s
Print "输出的随机大写字母是"; p
End Sub
18、编写一个函数,其功能为判断某个整数是不是素数。
调用该函数,判断100001是否是素数。
或100007,100003
Public Function f(n#)
For i = 2 To n - 1
If n Mod i = 0 Then Exit For
Next i
If i > n - 1 And n > 1 Then
f = True
Print n; "是素数"
Else
Print n; "不是素数"
End If
End Function
Private Sub Command1_Click()
p = f(100001)
p = f(100007)
p = f(100003)
End Sub
19、》编程题.设n=20,x=0.5,编写程序,计算并输出下面级数的部分和。
结果取6位小数1- [x^2/2!-x^4/4!+x^6/6!- …+(-1)^(n-1)*x^(2n)/(2n)!+ …](其中,^ 表示幂运算,! 表示求阶)
Private Sub Command1_Click()
Dim f#, i%
f = 1: x = 0.5: s = 0: n = -1
For i = 1 To 40
f = f * i
If i Mod 2 = 0 Then
n = -n
s = s + (x ^ i / f)
End If
Next i
Sum = 1 - s
Print "级数的部分和是"; Format(Sum, "#.######")
End Sub
20、用Function过程求斐波那契数列的第n项,并调用该函数,显示数列的第5项。
斐波那契数列:1,1,2,3,5,8……
Private Sub Command1_Click()
Dim p%
p = f(5)
End Sub
Public Function f(n%)
Dim a#(), i%
ReDim a#(1 To n)
a(1) = 1: a(2) = 1
For i = 3 To n
a(i) = a(i - 1) + a(i - 2)
Next i
f = a(n)
Print "第"; n; "项是"; a(n)
End Function
21、输入两个数,交换他们的值,并输出。
Private Sub Command1_Click()
Dim m!, n!, t!
m = Val(InputBox(请输入第一个数值))
n = Val(InputBox(请输入第二个数值))
Print "交换前数值是"; m; n
t = m: m = n: n = t
Print "交换后数值是"; m; n
End Sub
22. 输入一个两位数,分别输出它的个位数字和十位数字。
输入的一个两位数是24
十位数是2
个位数是4
请将你解答本题所写的源程序粘贴到下面或者上载源程序Private Sub Command1_Click()
Dim a!, n!, b!
a = Val(InputBox("输入以为二位数"))
Print "输入的一个二位数是" & a
n = a Mod 10
b = a \ 10
Print "十位数是" & b
Print "个位数是" & n
End Sub
23、编写一个函数,其功能为求两个数的最大公约数。
Private Sub Command1_Click()
Dim n%, m%, r%, t%, x%, y%
m = InputBox("输入的第一个自然数")
n = InputBox("输入的第二个自然数")
If m < n Then t = m: m = n: n = t
x = m: y = n
r = m Mod n
Do While r <> 0
x = y
y = r
r = x Mod y
Loop
Print m & "和" & n & "的最大公约数是";y
End Sub
24、编写一个函数,其功能为求两个数的最小公倍数。
Private Sub Command1_Click()
Dim n%, m%, r%, t%, x%, y%
m = InputBox("输入的第一个自然数")
n = InputBox("输入的第二个自然数")
If m < n Then t = m: m = n: n = t
x = m: y = n
r = m Mod n
Do While r <> 0
x = y
y = r
r = x Mod y
Loop
Print m & "和" & n & "的最小公倍数是"; m * n / y
End Sub
25、》编写程序,计算并输出下面级数前n 项(n=20) 中奇数项的和。
1*2*3-2*3*4+3*4*5-4*5*6+ …+(-1)^(n-1)*n*(n+1)*(n+2)+ …(其中,^ 表示幂运算)
Private sub command1_click()
Dim i%,n%,sum%
n=20
for i=1 to n step 2
sum= sum+ i*(i+1)*(i+2)
Next
Print sum
End sub
26、编写一个函数,其功能为判断某个整数是不是素数。
调用该函数,计算并输出区间[3000 ,4000] 内所有素数的和。
( 提示:只能被1 和自身整除的自然数称为素数。
) Private Sub Command1_Click()
Dim i%
s = 0
For i = 3000 To 4000
If f(i) Then s = s + i
Next i
Text1.Text = s
End Sub
Public Function f(n%) As Boolean
Dim i%
For i = 2 To n - 1
If n Mod i = 0 Then Exit For
Next i
If i > n - 1 And n > 1 Then
f = True
Print n; "是素数"
Else
Print n; "不是素数"
End If
End Function
27、》输入一个两位数,分别输出它的个位数字和十位数字。
Private Sub Command1_Click()
Dim a!, n!, b!
a = Val(InputBox("输入一个两位数"))
Print "输入的一个两位数是" & a
n = a Mod 10
b = a \ 10
Print "十位数是" & b
Print "个位数是" & n
End Sub
28、》计算sum=1*2*3*...*10
private sub command1_click()
dim sum%,i%
sum=1
for i=1 to 10
sum=sum*i
next
print sum
end sub 这个编程哪里有问题,为什么运行不了?(应该dim sum#)
29、编写程序实现,从键盘输入一个十六进制数,将其转换为十进制数,并输出结果。
要求:转换过程用Function过程实现。
30、编写程序。
设n=20,x=3.4,要计算并输出S(n)的值,要求结果保留5位小数。
S(n)=lnx/x+ln2x/x^2+ln3x/x^3+...+ln(n*x)/x^n+...(其中,ln 为自然对数函数)
Private Sub Command1_Click()
Dim i%
x = 3.4: n = 20: s = 0
For i = 1 To n
s = s + Log(i * x) / x ^ i
Next i
Print Format(s, "###.#####")
End Sub
31、编写程序,编写程序,计算并输出下面级数前n (设n=50 )项中所有奇数项的和。
(偶数项的和)
1*2+2*3+3*4+4*5+…+n*(n+1)+…
Private Sub Command1_Click()
Dim i%
n = 50
For i = 1 To n step2
s = s + i * (i + 1)
Next i
Print "奇数项的和是"; s
End Sub
32、编写一个函数,其参数为一个一维整型数组,其功能为求数组中所有元素的最小值。
Public Function findmin%(b%())
Dim i%
Min = b(LBound(b))
For i = LBound(b) To UBound(b)
If Min > b(i) Then Min = b(i)
Next
findmin = Min
End Function
Private Sub Command1_Click()
Dim a%(1 To 10), i%
For i = 1 To 10
a(i) = Int(Rnd * 100)
Print a(i);
Next
Print
Print "数组最小值是"; findmin(a())
End Sub
33、编程题。
有一个数列,第一项和第二项都是1,以后的每一项都是其相邻前两项之和的0.65 倍。
试编写通用过程(函数或子程序),求数列前n 项的平均值。
要求调用该过程,计算并输
出n=49 时前n 项的平均值(保留2 位小数)。
Private Sub Command1_Click()
Print "前49项的平均值是"; f(49)
End Sub
Public Function f(n%)
Dim a#(), i%
ReDim a#(1 To n)
a(1) = 1: a(2) = 1
For i = 3 To n
a(i) = (a(i - 1) + a(i - 2)) * 0.65
Next i
For i = 1 To n
s = s + a(i)
Next
pj = s / n
f = Format(pj, "#.##")
End Function
34、编程题。
设n=20 ,编写程序,计算并输出S(n) 的值,要求结果保留5 位小数。
S(n)=(1*2)/(3*4)+(3*4)/(5*6)+(5*6)/(7*8)+…+[(2n-1)*2n]/[(2n+1)*(2n+2)]+…
Private Sub Command1_Click()
Dim i%
n = 20
For i = 1 To n
s = s + ((2 * i - 1) * (2 * i)) / ((2 * i + 1) * (2 * i + 2))
Next i
Print "前20项的和是"; Format(s, "#.#####")
End Sub。