ImageVerifierCode 换一换
你正在下载:

VB二级.docx

[预览]
格式:DOCX , 页数:48 ,大小:31.29KB ,
资源ID:5025720      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5025720.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VB二级.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

VB二级.docx

1、VB二级题1 aboveave过程是产生30个1-100之间的随机整数,计算这30个数的平均值然后,找出30个数中数值大于平均值的数据,并统计出这些数据的个数Option ExplicitPublic Sub aboveave() Dim x(30) As Integer Dim sum As Integer, ave As Integer 平均值取整数 Dim i As Integer Dim count As Integer 在平均值之上的数据个数 Randomize For i = 1 To 30 x(i) = Int(Rnd * 100) + 1 Next i sum = 0 For

2、i = 1 To 30 sum = -1- Next i ave = -2- 5个一行打印出原始数据,打印平均值 For i = 1 To 30 Form1.Print x(i); Space(2); If i Mod 5 = 0 Then Form1.Print Next i Form1.Print 平均值:; ave 找出并5个一行打印在平均值之上的数据,打印统计的个数 Form1.Print 在平均值之上的数据是: For i = 1 To 30 If x(i) ave Then -3- Form1.Print x(i); Space(2); If -4- Then Form1.Prin

3、t End If Next i Form1.Print Form1.Print 共有; count; 个在平均值之上.End Sub题2 rn过程通过调用函数isLeapYear判断某年是否是闰年,若是,则打印今年是润年,否则,打印今年不是闰年。Option ExplicitPublic Sub rn() Const year = 2023 If -1- Then Form1.Print 今年是闰年 Else Form1.Print 今年不是闰年 End If End Sub Function isLeapYear(y As Integer) As Boolean If -2- Or (-3-

4、 And -4-) Then isLeapYear = False Else isLeapYear = True End IfEnd Function题3 ComMulti过程是求任意两个正整数的最小公倍数,求最小公倍数的一种方法是先求出两个数的最大公约数,两个数的乘积除以最大公约数的商即为最小公倍数。Option ExplicitPublic Sub ComMulti() Dim m As Integer, n As Integer 任意两个正整数 Dim i As Integer Dim multi As Integer 最小公倍数 输入两个正整数,要求m与n都必须大于零 Do m = V

5、al(InputBox(m=) n = Val(InputBox(n=) Loop While -1- multi = -2- Form1.Print m; 和; n; 的最小公倍数是:; multiEnd SubDiv函数过程求任意两个正整数m和n的最大公约数Public Function Div(m As Integer, n As Integer) As Integer 该函数过程用于求任意两个正整数的最大公约数。 Dim i As Integer 先将两个整数中的较小数假设为最大公约数,再依次往下 寻找能同时除尽m和n的数即为最大公约数 -3- If n m Then Div = n

6、End If Do While m Mod Div 0 Or n Mod Div 0 -4- LoopEnd Function题4 find过程是用于从1到10000中找出这样的数,该数各个位的数字的阶乘相加之和等于该数,并将结果输出。Option ExplicitPublic Sub find() Dim k, a, n, i Dim p As Integer For k = 1 To 10000 a = LTrim(Str(k) n = 0 For i= -1- p = Val(Mid(a, i, 1) n= -2- Next i If n = k Then form1.Print k N

7、ext kEnd Sub Function fact(x As Integer) As Long 该函数用于计算阶乘 Dim y As Long Dim i% y = 1 For i% = 1 To x y = y * i% Next i% -3-End Function题5 ComDiv过程是求任意两个正整数的最大公约数。Option ExplicitPublic Sub ComDiv() Dim m As Integer, n As Integer 任意两个正整数 Dim i As Integer Dim div As Integer 最大公约数 输入两个正整数,要求m与n都必须大于零 D

8、o m = Val(InputBox(m=) n = Val(InputBox(n=) Loop While -1- 先将两个整数中的较小数假设为最大公约数,再依次往下 寻找能同时除尽m和n的数即为最大公约数 -2- If n m Then div = n End If Do While m Mod div 0 Or n Mod div 0 -3- Loop Form1.Print m; 和; n; 的最大公约数是:; divEnd Sub题6 该过程是用于计算e的值并将结果输出,要求精确到0.000000000000001, e的计算公式为:e=1+1/1!+1/2!+1/n!。Option

9、 ExplicitPublic Sub e()Dim n, term, t n = 0: term = 1: t = 1 Do n = n + 1 t= -1- term= -2- Loop While t 0.000000000000001 form1.print e=& -3-End Sub题7 该过程是用于计算一元二次方程的根,并将结果输出来。Option ExplicitPublic Sub getanswer()Dim dalt!, a#, b#, c# a = InputBox(输入系数a) b = InputBox(输入系数b) c = InputBox(输入系数c) dalt

10、= b * b - 4 * a * c if -1- then dalt = Sqr(dalt) MsgBox Format(-b + dalt) / 2 / a), 0.00 + Chr(13) + Chr(10) + Format(-b - dalt) / 2 / a, 0.00) elseif -2- then MsgBox Format(-b / 2 / a, 0.00) + Chr(13) + Chr(10) + Format(-b / 2 / a, 0.00) Else dalt= -3- MsgBox Format(-b + dalt) / 2 / a, 0.00) + +i +

11、 Chr(13) + Chr(10) + Format(-b - dalt) / 2 / a, 0.00) + -i End IfEnd Sub题8 该过程是用于找出被3、5、7除,余数为1的最小的5个整数,并将结果输出来。Option ExplicitPublic Sub find()Dim countN%, n% countN = 0 n = 1 Do n=-1- if -2- then Form1.Print n countN = countN + 1 End If Loop -3-End Sub题9 p过程是用于整理数组a,使其中小于零的元素移到数组的前端,大于零的元素移到数组的后端,

12、等于零的元素留在数组的中间。Public Sub p(a%() Dim i%, low%, high%, t% low = 0 i = 0 high = UBound(a) do While -1- If a(i) 0 Then t = a(i) a(i) = a(high) a(high) = t -3- Else -4- End If LoopEnd Sub题10 MoveStr过程是把字符数组移动m个位置,当Tag为True左移,则前m个字符移到字符数组尾。Public Sub MoveStr(a$(), m%, Tag As Boolean)Dim i%, j%, t$ Dim c I

13、f Tag Then For i = 1 To m c = a(0) for j=0 to -1- a(j) = a(j + 1) Next j -2- Next i Else For i = 1 To m -3- for j=Ubound(A) -4- a(j) = a(j - 1) Next j a(0) = c Next i End IfEnd Sub题11 Modify.bas模块中的Transfer过程用于将一个十六进制整数转换为十进制整数;number函数过程用于将一个十六进制符号转换为数值。Public Sub Transfer() Dim Hex As String 十六进制数

14、 Dim Dec As Double 十进制数 Dim temp As String Dim i As Integer Dim n As Integer Hex = InputBox(输入一个十六进制整数) * 错误1 * n = Val(Hex) i = 0 Do * 错误2 * temp = Mid(Hex, i, 1) * 错误3 * Dec = Dec + number * 16 i i = i + 1 Loop While i a(i) Then * 1 * Swap (a(j), a(i) End If Next j i = i + 1 * 2 * Loop While i = n

15、 Form1.Print 排序结果 For i = 1 To n Form1.Print a(i); Next iEnd SubPublic Sub GenerateData() Dim i As Integer Dim j As Integer Dim b As Boolean For i = 1 To n b = False Do While Not b a(i) = Int(20 * Rnd + 1) b = True * 3 * For j = 1 To i If a(i) = a(j) Then b = False Exit For End If Next j Loop Form1.

16、Print a(i) Next iEnd Sub* 4 *Public Sub Swap(ByVal a As Integer, ByVal b As Integer) Dim temp As Integer temp = a a = b b = tempEnd Sub题13 Modify.bas模块中的wrap过程用于判断一个字符串是否“回文”。所谓“回文”是指字符串顺读与倒读都是一样的,如“潮起潮落,落潮起潮”。Public Sub Wrap()Dim length As Integer Dim str1 As String Dim strleft As String Dim strrig

17、ht As String Dim k As Integer str1 = InputBox(请输入任意的字符串) 输入任意字符串 *错误1* length = Val(str1) k = 1 Do *错误2* strleft = Left(str1, k) 从左边起逐个取出一个字符 *错误3* strright = Right(str1, k) 从右边起逐个取出一个字符 *错误4* If strleft = strright Then Exit Do End If k = k + 1 Loop While k length / 2 Then Form1.Print str1 & 是回文 Els

18、e Form1.Print str1 & 不是回文 End IfEnd Sub题14 Modify.bas模块中的MaxLine过程用于查找一个5行4列的二维数组中行平均值最大的行,并将该行所有数据调整到第一行的位置。Modify.bas模块中的DataProduce过程用于产生原始数据;Average过程用于计算各行的平均值;PrintArraay过程用于打印二维数组和行平均值。Dim a(1 To 5, 1 To 4) As IntegerDim ave(1 To 5) As IntegerPublic Sub MaxLine() Dim i As Integer Dim j As Int

19、eger Dim temp As Integer Dim Line_no As Integer 最大平均值的行号 找出最大平均值所在行 Line_no = 1 For i = 2 To 5 * 错误1 * If ave(Line_no) = ave(i) Then * 错误2 * Line_no = ave(i) End If Next i 交换第一行与最大平均值所在行 For j = 1 To 4 temp = a(1, j) * 错误3 * a(Line_no, j) = a(1, j) a(Line_no, j) = temp Next j 交换对应行的平均值 temp = ave(1)

20、 ave(1) = ave(Line_no) ave(Line_no) = temp 打印交换后的数据 Form1.Print 交换后的数据和平均值 PrintArrayEnd SubPublic Sub DataProduce() Dim i As Integer Dim j As Integer 产生5*4数组 For i = 1 To 5 For j = 1 To 4 a(i, j) = Int(100 * Rnd) Next j Next iEnd SubPublic Sub Average() Dim i As Integer Dim j As Integer Dim sum As

21、Integer 计算各行平均值 For i = 1 To 5 sum = 0 For j = 1 To 4 * 错误4 * sum = a(i, j) Next j ave(i) = sum / 4 Next i 将数组和平均值打印出来 Form1.Print 原始数据和平均值 PrintArrayEnd SubPublic Sub PrintArray() Dim i As Integer Dim j As Integer For i = 1 To 5 For j = 1 To 4 Form1.Print a(i, j); Spc(3); Next j Form1.Print 平均值=; a

22、ve(i) Next iEnd Sub题15 Modify.bas模块中的TJ过程是将一批数据中小于零的数及它们的积打印出来,但不完整,请在横线上填入必要的内容,使其完整。Modify.bas模块中的SCSJ过程是产生数据,数据的取值范围为-1010之间的随机数。Private Const n = 10Private a(1 To n) As IntegerTJ过程是将一批数据中小于零的数及它们的积打印出来数据由SCSJ过程产生,数据的取值范围为-10 10 之间的随机整数数Public Sub TJ() Dim i As Integer Dim t As Single - 1 - For i

23、 = 1 To 10 If - 2 - Then t = t * a(i) End If Next i Form1.Print T=; tEnd SubPublic Sub SCSJ() Randomize Form1.Print 原始数据 Dim i As Integer Dim j As Integer For i = 1 To n 随机产生0或1,为0时取负,为1时取正 j = Int(Rnd * 2) If - 3 - Then J = -1 a(i) = j * Int(Rnd * (n + 1) Form1.Print a(i); Next i Form1.PrintEnd Sub

24、题16 Modify.bas模块中的calculate过程是产生100个0,99范围内的随机整数,统计个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数并打印出来.Public sub calculate()Dim a(1 to 100) as integerDim x(1 to 10) as integerDim I as integer,p as integer产生100个0,99范围内的随机整数每行10个打印出来for I=1 to 100*1*a(i)=rnd*100if a(i)10 then form1.print space(2);a(i)else form1.p

25、rint space(1);a(i);endifif I mod 10=0 then form1.printnext I统计个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数并将统计结果保存在数组x(1),x(2),x(10)中,将统计结果打印出来for I=1 to 100 *2* p=int(a(i)/10) 求个位上的数字if p=0 then p=10*3*x(p)=x(p)-1next Iform1.print “统计结果”for I=1 to 10 p=Iif I=10 then p=0*4*form1.print “个位数为”+str(p)+”共“+str(x(p)+”个”next Iend sub题17 Modify

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1