VB题库.docx
- 文档编号:24901025
- 上传时间:2023-06-02
- 格式:DOCX
- 页数:11
- 大小:18.16KB
VB题库.docx
《VB题库.docx》由会员分享,可在线阅读,更多相关《VB题库.docx(11页珍藏版)》请在冰豆网上搜索。
VB题库
1楼
1编写程序,计算并输出下面级数前n项(n=50)中偶数项的和。
(要求用循环做,非循环不给分。
)
1*2+2*3+3*4+4*5+……+n*(n+1)+…
Private Sub Form_Activate()
s = 0
For I = 2 To 50 Step 2
s = s + I * (I + 1)
Next I
Print s
End Sub
2勾股定理中三个数的关系是:
a^2 + b^2 =c^2 编写程序,输出100以内满足上述关系的整数组合,例如3,4,5就是一个整数组合。
Private Sub Form_Activate()
For a = 1 To 100
For b = a + 1 To 100
For c = b + 1 To 100
If a ^ 2 + b ^ 2 = c ^ 2 Then Print a, b, c
Next c, b, a
End Sub
3编写程序,随机生成100个两位整数,并统计出其中小于等于40、大于40小于等于70及大于70的数据个数。
Private Sub Form_Activate()
Randomize
a = 0:
b = 0:
c = 0
For I = 1 To 100
Next I x = Int(Rnd * 90 + 10)
Select Case x
Case Is <= 40
a = a + 1
Case Is <= 70
b = b + 1
Case Else
c = c + 1
End Select
Print a, b, c
End Sub
4编写程序,单击窗体时在窗体上输出如下所示的图形。
*
***
*****
*******
*********
*******
*****
***
*
要求:
用循环做,非循环不给分。
Private Sub Form_Activate()
For I = 1 To 5
Print Tab(20 - I); String(2 * I - 1, "*"):
Next I
For I = 4 To 1 Step -1
Print Tab(20 - I); String(2 * I - 1, "*"):
Next I
End Sub
5编写程序,计算并输出下面级数前n项中(n=50)偶数项的和。
(要求用循环做,非循环不给分。
)
1*2*3+2*3*4+3*4*5+……+n*(n+1)*(n+2)+…
Private Sub Form_Activate()
s = 0
For i = 1 To 50
If i Mod 2 = 0 Then
s = s + i * (i + 1) * (i + 2)
End If
Next i
Print s
End Sub
6输入一串数字,求其中偶数数字的个数及其和。
(输入:
123456789),运算得:
4 20
Private Sub Form_Activate()
x = InputBox("输入一串数字")
s = 0:
t = 0
For i = 1 To Len(x)
a = Mid(x, i, 1)
If a Mod 2 = 0 Then s = s + 1:
t = t + a
Next i
Print s, t
End Sub
7编写程序,用普通迭代法求方程f(x)=x+lnx-2.5=0的近似实根r,迭代初值为1.5,精确到0.0001。
〔提示:
必须把方程f(x)=0化成其等价形式x=g(x)〕。
(允许使用其他迭代法)
x=1.87264704036406
Private Sub Form_Activate()
Dim x0, x1, fx0, f1x0
x1 = 1.5
Do
x0 = x1
fx0 = x0 + log(x0) - 2.5
f1x0 = 1 + 1 / x0
x1 = x0 - fx0 / f1x0
Loop Until Abs(x1 - x0) <= 0.0001
Print "x="; x1
End Sub
8编写程序,给出行3,6,9,12的值和列15,16,17,18的值,得到如下的乘积表:
(要求用循环做,非循环不给分。
)
* 3 6 9 12
15 45 90 135 180
16 48 96 144 192
17 51 102 153 204
18 54 108 162 216
PrivateSubForm_Activate()
a="!
@@@@@@"
Fori=0To12Step3
Ifi=0Then
PrintFormat("*",a);
Else
PrintFormat(i,a);
EndIf
Nexti
Fori=15To18
PrintFormat(i,a);
Forj=3To12Step3
PrintFormat(i*j,a);
Nextj
Nexti
EndSub
9把一百元钱人民币全兑换成硬币(一元的、五角的、一角的),有多少种兑换方法?
(15分)
∙2009-1-418:
04
∙回复
2楼
Private Sub Form_Activate()
s = 0
For i = 0 To 100
For j = 0 To 200
For k = 0 To 1000
If i + j * 0.5 + k * 0.1 = 100 Then s = s + 1
Next k, j, i
Print s
End Sub
10编写程序,计算下面级数前n项(n=20)的部分和,并输出该级数最后两项之差的绝对值。
(要求用循环做,非循环不给分。
)
1*2*3+2*3*4+3*4*5+……+n*(n+1)*(n+2)+…(15分)
Private Sub Form_Activate()
s = 0
For i = 1 To 20
t = i * (i + 1) * (i + 2)
s = s + t
If i = 19 Then k = t
If i = 20 Then k = Abs(t - k)
Next i
Print s, k
End Sub
11编写程序,用普通迭代法求方程f(x)=x+lnx-2.5=0的近似实根r,迭代初值为1.5,精确到0.0001。
〔提示:
必须把方程f(x)=0化成其等价形式x=g(x)〕。
(允许使用其他迭代法)(15分)
x=1.87264704036406
Private Sub Form_Activate()
Dim x0, x1, fx0, f1x0
x1 = 1.5
Do
x0 = x1
fx0 = x0 + log(x0) - 2.5
f1x0 = 1 + 1 / x0
x1 = x0 - fx0 / f1x0
Loop Until Abs(x1 - x0) <= 0.0001
Print "x="; x1
End Sub
12求公式:
e=1/1!
+1/2!
+1/3!
+……+1/n!
直到最后一项小于10^(-6)时e的值。
(保留小数点后9位)
(注:
程序代码写在命令按钮Command1的Click事件中。
)
程序:
Private Sub Command1_Click()
s = 0:
t = 1
i = 1
Do
t = t * i
s = s + 1 / t
i = i + 1
Loop Until 1 / t <= 0.000001
Print Format(s, "0.#########")
End Sub
13求公式:
e=1/1!
+1/2!
+1/3!
+……+1/n!
直到n=50时的e值。
(保留小数点后9位)
程序:
Private Sub Command1_Click()
s = 0:
t = 1
For i = 1 To 50
t = t * i
s = s + 1 / t
Next i
Print Round(s, 9)
End Sub
14有一分数序列:
1 , 1/2 , 2/3 , 3/5 , 5/8 , 8/13 , 13/21 ……
求出这个数列的前20项之和。
程序:
Private Sub Form_Activate()
f1 = 1:
f2 = 1:
s = 0
For i = 1 To 20
s = s + f1 / f2
f = f1 + f2
f1 = f2
f2 = f
Next i
Print s
End Sub
15输入一串数字,求其中偶数位数字之和。
例如输入234567,则求3+5+7。
程序:
Private Sub Form_Click()
s = 0
x = InputBox("x=")
If IsNumeric(x) Then
For i = 1 To Len(x)
If i Mod 2 = 0 Then s = s + Mid(x, i, 1)
Next i
Print x, s
End If
End Sub
16编程求函数SUMX(X),当-1 +X*5/5! +...+X*21/21! 当X>1或X<-1时,函数值为0。 X由键盘输入。 程序: Private Sub Form_Click() x = Val(InputBox("x=")) If -1 < x And x < 1 Then s = 1 For i = 3 To 21 Step 2 t = 1 For j = 1 To i t = t * j Next j s = s + x * i / t Next i End If If x < -1 Or x > 1 Then s = 0 Print s End Sub 17编写程序,用牛顿切线法求方程f(x)= x+lgx-1.7=0的近似实根r,迭代初值自选,精确到0.0001。 〔提示: 计算公式为x=x-f(x)/f'(x)〕 注意: Private Sub Form_Activate() x1 = 2 Do x0 = x1 f = x0 + Log(x0) / Log(10) - 1.7 f1 = 1 + 1 / (x0 * Log(10)) x1 = x0 - f / f1 Loop Until Abs(x1 - x0) <= 0.0001 Print "x="; x1 End Sub 18编写程序,用牛顿切线法求方程f(x)= x+lnx-1.7=0的近似实根r,迭代初值自选,精确到0.0001。 〔提示: 计算公式为x=x-f(x)/f'(x)〕 程序: Private Sub Form_Activate() Dim x0, x1, fx0, f1x0 x1 = 1.5 Do x0 = x1 f = x0 + Log(x0) - 1.7 f1 = 1 + 1 / x0 x1 = x0 - f / f1 Loop Until Abs(x1 - x0) <= 0.0001 Print "x="; x1 End Sub Private Sub Form_Activate() For i = 1 To 5 Print Tab(20 - 2 * i); String(2 * i - 1, "*") Next i For i = 4 To 1 Step -1 Print Tab(20 - 2 * i); String(2 * i - 1, "*") Next i End Sub 19牛顿: 三要素: 迭代初值,原方程,导数方程 X1=a‘初始化迭代初值 Do X0=X1‘为下一次迭代做准备 F (x)=‘原方程在X处的值 F’ (x)=‘原方程在X处的导数值 X1=X0-F(x)/F’(x)‘计算下一次的迭代值 Loop Until Abs(X1-X0) ‘X1 即为结果 其中 Precision为要求的精度. 20输入半径求圆周长和圆面积: PrivateSubCommand1_Click() Dimr#,s# r=Text1 s=r^2*3.1415926 Text2=Round(s,5) EndSub PrivateSubCommand2_Click() Dimr#,l# r=Text1 l=2^r*3.1415926 Text3=Round(l,5) 21输入字符串判断Yes和No '当字符串中的第3个字符是“c”时, '利用msgbox函数显示“Yes”,否则显示“No”。 PrivateSubText1_KeyPress(KeyAsciiAsInteger) Dimx$ IfKeyAscii=13Then IfInStr(3,LCase(Text1.Text),"c")=3Then 'IfLCase(Text1)Like"? ? c*"Then'(P60) MsgBox"Yes" Else MsgBox"No" EndIf Text1="" Text1.SetFocus EndIf EndSub 22计算分段函数X和Y PrivateSubCommand1_Click() Dima#,b# x=InputBox("x=") SelectCasex CaseIs<10 y=1/x+Abs(x) CaseIs<=20 y=Sqr(3*x-2) CaseElse y=3*x+2 EndSelect Print"x=";x,"y=";y EndSub 23计算分段函数..... PrivateSubCommand1_Click() Dima#,b# x=InputBox("x=") Ifx<10Theny=1/x+Abs(x) Ifx>=10Andx<=20Theny=Sqr(3*x-2) Ifx>20Theny=3*x+2 Print"x=";x,"y=";y EndSub 24数列() PrivateSubCommand1_Click() Cls a=Int(Rnd*877+123) b=Right(a,1)+Mid(a,2,1)+Left(a,1) Printa,b EndSub 25梯形法求定积分. DimI#,h! a%,b% PrivateSubForm_Activate() Dimi1#,i2#,e# e=10^(-Val(InputBox("输入误差精度位数(<14): "))) n=100: b=5: a=2 I=((a+1)/Log(a)+(b+1)/Log(b))/2 Calld_integral(n,1) i1=4*I*h Do n=2*n Calld_integral(n,2) i2=4*I*h IfAbs(i2-i1)<=eThen Printi2: ExitSub Else i1=i2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 题库
![提示](https://static.bdocx.com/images/bang_tan.gif)