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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

VB调试题.docx

1、VB调试题VB上机考试模拟试题一、程序调试题(改错或填空)题1 Modify.bas模块中的getanswer过程是用于计算一元二次方程的根,并将结果输出来。1.dalt0 2. dalt=0 3.Sqr(-dalt)Option Explicit Public Sub getanswer() 该过程是用于计算一元二次方程的根,并将结果输出来。 Dim dalt!, a#, b#, c# a = InputBox(输入系数a) b = InputBox(输入系数b) c = InputBox(输入系数c) dalt = b * b - 4 * a * c If -1- then dalt =

2、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 + Chr(13) + Chr(10) + Format(-b - dalt)

3、/ 2 / a, 0.00) + -i End IfEnd Sub题2 打印输出一菱形图案。1.start=space(21-i) 2.count=19-2*i 3.Form1.Print start; 4.Form1.PrintPublic Sub prt() 打印由#组成的菱形图案 # # # # # # # # #Dim i As Integer, j As Integer Dim start As String 每行起始空格数 Dim count As Integer 每行#个数 For i = 1 To 9 If i = 5 Then -1- count = 2 * i - 1 El

4、se start = Space(11 + i) -2- End If -3- For j = 1 To count Form1.Print #; Next j -4- Next iEnd Sub题3 过程pyramid用以打印一个数字金字塔,请在横线上填入必要的内容(将横线删除掉后填入正确的内容),使其完整。1.start=space(10+i) 2.num=19-2*i 3.Form1.Print Trim(Str(i); 4.Form1.PrintOption ExplicitPublic Sub pyramid() 打印数字金字塔 1 222 33333 4444444 5555555

5、55 6666666 77777 888 9 Dim i As Integer Dim j As Integer Dim start As String 每行起始空格数 Dim num As Integer 每行数字个数 For i = 1 To 9 If i = 5 Then start = Space(20 - i) num = 2 * i - 1 Else start= -1- num= -2- End If Form1.Print start; For j = 1 To num -3- Next j -4- Next iEnd Sub题4 改错。1.For i=9 To 1 step

6、1 2.For j=1 to 2*(10-i)-1 3.Form1.Print Ttrim(Str(i);Option ExplicitPublic Sub prt() 打印由数字组成的如下所示金字塔图案 9 888 77777 6666666 555555555 44444444444 3333333333333 222222222222222 111111*11 Dim i As Integer, j As Integer * 错误1 * For i = 9 To 1 Form1.Print Space(i); * 错误2 * For j = 1 To 2 * i - 1 * 错误3 *

7、Form1.Print i Next j Form1.Print Next iEnd Sub题5 计算s=7+77+777+(n个7组成的数)。1.number(i) 2.n as integer 3.number=number*10+7Public Sub total() 计算s=7+77+777+(n个7组成的数) Const n = 20 Dim s As Single Dim i As Integer For i = 1 To n s=s+ -1- Next i Form1.Print s=; sEnd SubPublic Function number( -2- ) As Singl

8、e Dim i As Integer number = 0 For i = 1 To n -3- Next iEnd Function题6 Modify.bas模块中的过程eat用于计算猴子共摘了多少个桃子。 1. 1 2. 1 3.x=(x+1)*2Option ExplicitPublic Sub eat() 该过程是用于计算猴子共摘了多少个桃子。 (小猴在一天摘了若干个桃子,当天吃掉了一半多一个; 第二天吃了剩下的一半多一个; 以后每天都吃尚存的一半零一个,到第7天早上要吃时只剩下一个了), 并将结果输出来。 Dim n%, i%, x% x = 1 for i=6 to -1- ste

9、p -2- -3- Next i Form1.Print 共有; x; 个桃子End Sub题7 Modify.bas模块中的Prime过程是求出100到200之间所有的素数,并打印出来。1.k=2 2.b=false 3.k=k+1 4.bPublic Sub prime() 打印出100到200之间所有的素数,并统计素数的个数 Dim i As Integer Dim j As Integer Dim k As Integer Dim t As Integer 统计素数的个数 Dim b As Boolean For i = 100 To 200 b = True - 1 - j = In

10、t(Sqr(i) Do While k = j And b If i Mod k = 0 Then - 2 - End If - 3 - Loop if - 4 - then t = t + 1 Form1.Print i End If Next iForm1.Print t=; tEnd sub 题8 过程even用以验证一个偶数可以分解为两个素数之和;Isprime用以判断x是否是素数。1.Do While x=4 or x mod 20 2.If isprime(i) and isprime(x-i)3.isprime=true 4.if x mod i=0 thenPublic Sub

11、 even() 从键盘输入一个大于4的偶数,将它所有的不重复的分解式求出 Dim x As Integer Dim i As Integer -1- 保证x是大于4的偶数 x = Val(InputBox(x=) Loop For i = 3 To x / 2 Step 2 在不大于x的奇数中找素数 -2- Form1.Print x; =; i; +; x - i End If Next iEnd SubPublic Function Isprime(x As Integer) As Boolean Dim i As Integer -3- For i = 2 To x - 1 -4- Is

12、prime = False Exit For End If Next iEnd Function题9 Modify.bas模块中的find过程是用于找出被3、5、7除,余数为1的最小的5个整数,并将结果输出来。1.n+1 2.n mod 3=1 and n mod 5=1 and n mod 7=1 3.While countN5Option ExplicitPublic Sub find() 该过程是用于找出被3、5、7除,余数为1的最小的5个整数,并将结果输出来。 Dim countN%, n% countN = 0 n = 1 Do n=-1- if -2- then Form1.Pri

13、nt n countN = countN + 1 End If Loop -3-End Sub题10 Modify.bas模块中的过程rn通过调用函数isLeapYear判断某年是否是闰年,若是,则打印今年是闰年,否则打印今年不是闰年。 闰年的判断方法是:凡是年份不能被4整除的都不是闰年,而且如果年份能被100整除但不能被400整除的也不是闰年。1.isleapyear(year) 2.y mod 40 3.y mod 100=0 4.y mod 4000Option ExplicitPublic Sub rn() 该过程通过调用函数isLeapYear判断某年是否是闰年,若是,则打印今年是润

14、年 否则,打印今年不是闰年。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- And -4-) Then isLeapYear = False Else isLeapYear = True End IfEnd Function题11 Modify.bas模块中的CountTo60过程是用于从一堆一分、二分、五分的硬币中取出20枚,使其总值为60分,要求输

15、出取法的数量及每一种取法的一分、二分、五分的个数。请建立工程将Modify.bas模块加入工程中进行调试。注意:只要修改标出出错位置的下面那一条语句即可,其余代码不要改动。1.For two=1 To n-one 2.If one+two*2+five*5=60 Then 3.Next two 4.Next one 从一堆一分、二分、五分的硬币中取出20枚,使其总值为60分 输出取法的数量及每一种取法的一分、二分、五分的个数 Dim one As Integer 一分硬币个数 Dim two As Integer 二分硬币个数 Dim five As Integer 五分硬币个数 Const

16、n = 20 总数20枚 Dim k As Integer 取法数量 k = 0 For one = 1 To n * 错误1 * For two = one + 1 To n five = n - one - two * 错误2 * If one + two + five = 60 Then k = k + 1 Form1.Print one=; one; two=; two; five=; five End If * 错误3 * Next one * 错误4 * Next two Form1.Print k=; kEnd Sub题12 过程same用以找出1100之间所有的同构数。所谓同构

17、数是指一个数出现在它的平方数的右端,如25在25平方625的右端,则25为同构数。利用数字转字符再取出右端字符的方法进行判断。1.Trim(Str(i) 2.Trim(Str(i2) 3.x1=Right(x2,Len(x1)Public Sub same() Dim i As Integer Dim x As String, x2 As String For i = 1 To 1000 x1= -1- 将i转字符型 x2= -2- 将i2转字符型 if -3- Then Form1.Print i; 是同构数 End If Next iEnd Sub题13 Modify.bas模块中的Arm

18、strongNumber过程是用于求出1999之间所有的Armstrong数,并打印出来。所谓Armstrong数是指一个数等于它每位上数字的立方和。1.i100 2.(I mod 100)10 3.(i mod 100) mod 10 4.i=hundred3+ten3+one3Public Sub ArmstrongNumber() Dim armstrong As Integer Dim i As Integer Dim hundred As Integer 百位上的数字 Dim ten As Integer 十位上的数字 Dim one As Integer 个位上的数字 For i

19、= 1 To 999 hundred = -1- ten = -2- one = -3- If -4- Then Form1.Print i; is armstrong number End If Next iEnd Sub题14 过程cloze用以求11000中的所有完数。所谓完数是指一个数的所有因子之和等于其自身。请在横线上填入必要的内容(将横线删除掉后填入正确的内容),使其完整。1.factor i,n 2.If i=s then 3.for i=2 to x-1 4.a(k)=iOption ExplicitDim a(50) As Integer 存放每个数分解出来的因子Public

20、 Sub cloze() 求1-100中的所有完数 Dim i As Integer, j As Integer Dim n As Integer 因子个数 Dim s As Integer 因子和 For i = 1 To 1000 n = 0 s = 0 factor -1- For j = 1 To n s = s + a(j) Next j -2- Form1.Print i End If Next iEnd SubPublic Sub factor(ByVal x As Integer, ByRef k As Integer) Dim i As Integer a(1) = 1 k

21、= 1 -3- If x Mod i = 0 Then k = k + 1 -4- End If Next iEnd Sub题15 Modify.bas模块中的Summary过程是用于计算并打印出s=1+2+22+23+,直至s超过1E+16。1.s=1 2.Do While s=1E+16 3.i=i+1Option ExplicitPublic Sub summary()该过程是用于计算s=1+2+22+23+,直至s超过1E+16 Dim s As Single Dim i As Integer -1- i = 1 -2- s = s + 2 i -3- Loop Form1.Print

22、 s=; sEnd Sub题16 Modify.bas模块中的qiuN过程是用于求出满足不等式1+2x+3x2+4x3+(n+1)xn1000的最大n值。其中x是大于等于1的实数,其值由键盘输入。1.s=1 2.Do While s=1E+16 3.i=i+1Option ExplicitPublic Sub qiuN() 该过程是用于求出满足不等式1+2x+3x2+4x3+(n+1)xn1000的最大n值, 其中x是大于等于1的实数,其值由键盘输入。 Dim x As Single, s As Single, n As Integer, s1 As Single, p As Single x

23、 = Val(InputBox(x=) s = 1: n = 1 p = x while -1- s1 = s s = s + (n + 1) * p p=p* -2- n= -3- Wend n= -4- form1.Print The Maxism of n; n, s=; s1End Sub题17 sum过程用于计算f=1-1/(2*3)+1/(3*4)-1/(4*5)+1/(19*20),请在横线上填入必要的内容。1.sign=-1 2.For i=2 To 19 3.sign= -signOption ExplicitPublic Sub sum() Dim f As Single

24、Dim i As Integer Dim sign As Integer -1- f = 1 -2- f = f + sign / (i * (i + 1) -3- Next i Form1.Print f=; fEnd Sub题18 Modify.bas模块中的JiSuan过程是用于计算1-(1/2)+(1/3)-+(1/99)-(1/100)的值并打印出来。1.Dim k as single 2.For i=1 To 100 Step 2 3.k= -1/(i+1)Public Sub JiSuan() 计算1-(1/2)+(1/3)-.+(1/99)-(1/100)的值并打印出来 Dim

25、 i As Integer * 错误1 * Dim k As Integer Dim s As Single s = 0 * 错误2 * For i = 1 To 100 k = 1 / i s = s + k * 错误3 * k = 1 / i + 1 s = s + k Next i Form1.Print s=; sEnd Sub题19 Modify.bas模块中的summary过程是用于计算1!+2!+20!,并打印出计算结果,但不完整,请在横线上填入必要的内容,使其完整。Modify.bas模块中的nFaction函数过程用于计算n!。1.temp=1 2.temp 3.nfacto

26、r(i) 4.sumPublic Function nFactor(ByVal n As Integer) As Double Dim i As Integer Dim temp As Double -1- For i = 1 To n temp = temp * i Next i nFactor = -2-End FunctionPublic Sub summary() Dim sum As Double Dim i As Integer Dim n As Integer n = 20 For i = 1 To n sum = sum + -3- Next iForm1.Print sum=

27、 & -4-End Sub题20 Modify.bas模块中的find过程是用于从1到10000中找出这样的数,该数各个位的数字的阶乘相加之和等于该数,并将结果输出。其中阶乘由fact函数计算。1.1 to Len(a) 2.n+fact(p) 3.fact=yOption ExplicitPublic Sub find() 该过程是用于从1到10000中找出这样的数, 该数各个位的数字的阶乘相加之和等于该数,并将结果输出。 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 Next kEnd Sub F

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

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