程序调试自己_第1页
程序调试自己_第2页
程序调试自己_第3页
程序调试自己_第4页
程序调试自己_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、VB 语言调试题目如下,单击“回答”按钮,进行考试。1、在考生目录下的Paper目录中,已有模块文件modify.bas。2、程序功能Modify.Bas模块中的Findat过程是用于在一个字符串变量中查找”at”,并用消息框给出查找结果的报告:没有找到或找到的个数。3、要求新建工程Modify.vbp,将Modify.bas模块加入到该工程中进行调试。4、注意只需要将横线位置的内容删除后填入合适的内容即可,其他代码不要改动。试题一Public Sub Findat()该过程是用于在一个字符串变量中查找”at”,并用消息框给出查找结果的报告:没有找到或找到的个数。 Dim str1 As St

2、ring Dim length As Integer 字符串长度 Dim sum As Integer 查到的个数 Dim i As Integer str1 = InputBox(请输入一个字符串) length = -1- i = 1 sum = 0 Do While i a(j) Then - 2 - End If Next j Form1.Print a(i) Next i Form1.print - 3 -End SubPublic Sub Swap(a As Integer, b As Integer) 该过程是用于交换两个变量的值。 Dim temp As Integer tem

3、p = a a = b b = tempEnd Sub解题过程:1、 Modify.Bas(相当于界面中的回答功能,如果自己操作就双击该文件)。2、 题目要求,将工程名称改为Modify3、 添加窗体Form14、 在窗体中设计Click事件过程,以便调试。Click事件过程:SortData上述四个过程对所有试题都是一样的。-1-= For j = i+1 To 10-2-= Swap a(i),a(j)-3-= a(i)VB 语言调试题目如下,单击“回答”按钮,进行考试。1、在考生目录下的Paper目录中,已有模块文件modify.bas。2、程序功能Modify.Bas模块中的过程Com

4、Div是求任意两个正整数的最大公约数。3、要求新建工程Modify.vbp,将Modify.bas模块加入到该工程中进行调试。4、注意只需要将横线位置的内容删除后填入合适的内容即可,其他代码不要改动。试题四Option ExplicitPublic Sub ComDiv() 该过程是求任意两个正整数的最大公约数 Dim m As Integer, n As Integer 任意两个正整数 Dim i As Integer Dim div As Integer 最大公约数 输入两个正整数,要求m与n都必须大于零 Do m = Val(InputBox(m=) n = Val(InputBox(n

5、=) 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解题过程:1、 Modify.Bas(相当于界面中的回答功能,如果自己操作就双击该文件)。2、 目要求,将工程名称改为Modify3、 添加窗体Form14、 在窗体中设计Click事件过程,以便调试。Click事件过程:ComDiv上述

6、四个过程对所有试题都是一样的。-1-= n=0 or m=i-2-= a(i,j)=1-3-= Form1.Print a(i, j);VB 语言调试题目如下,单击“回答”按钮,进行考试。1、在考生目录下的Paper目录中,已有模块文件modify.bas。2、程序功能Modify.Bas模块中的过程aboveave是先计算出30个1-100之间的随机整数的平均值,再找出这30个数中数值在平均值之上的数据,并统计出这些数据的个数。3、要求新建工程Modify.vbp,将Modify.bas模块加入到该工程中进行调试。4、注意只需将横线位置的内容删除后填入合适的内容即可,其余代码不要改动。试题九

7、Option ExplicitPublic Sub aboveave() 该过程是产生30个1-100之间的随机整数 计算这30个数的平均值 找出30个数中数值大于平均值的数据,并统计出这些数据的个数 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 i = 1 To 30 sum

8、 = -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.Print End If Next i

9、 Form1.Print Form1.Print 共有; count; 个在平均值之上.End SubClick事件过程:PrintArray-1-= j=i-2-= a(i,j)=1-3-= Form1.Print a(i, j);试题十VB 语言调试题目如下,单击“回答”按钮,进行考试。1、在考生目录下的Paper目录中,已有模块文件modify.bas。2、程序功能Modify.Bas模块中的Combination过程是用于计算在m个数据中取出n个数据的排列组合值,计算公式为Cmn=m!/(n!*(m-n)!)。Modify.Bas模块中的nFactor函数过程用于计算n!。3、要求新建

10、工程Modify.vbp,将Modify.bas模块加入到该工程中进行调试。4、注意只要修改标出出错位置的下面那一条语句即可,其余代码不要改动。Public Sub Combination() 该过程是用于计算在m个数据中取出n个数据的排列组合值,计算公式为Cmn=m!/(n!*(m-n)!)。 Dim m As Integer Dim n As Integer Dim Cmn As Long Do m = Val(InputBox(请输入一个整数m) n = Val(InputBox(请输入一个整数n(n=m) Loop While m =n * 错误1 * Cmn = nFactor(m)

11、 / nFactor(n) * nFactor(m - n) Form1.Print 排列组合数为; CmnEnd SubPublic Function nFactor(ByVal n As Integer) As Double 该函数过程用于计算n!。 Dim i As Integer Dim temp As Double temp = 1 For i = 1 To n temp = temp * i Next i *错误 2 * nFactor(n) = temp * 错误3 *End SubClick事件过程:Combination* 错误1 *= Cmn = nFactor(m) /

12、(nFactor(n) * nFactor(m - n)* 错误2 *= nFactor = temp* 错误3 *= End Function试题十一VB 语言调试题目如下,单击“回答”按钮,进行考试。1、在考生目录下的Paper目录中,已有模块文件modify.bas。2、程序功能Modify.Bas模块中的FindMax过程是用于查找一批数据中的最大数,并输出最大数的值及最大数在数组中的下标值。Modify.Bas模块中的GenerateData过程用于产生30个1-500之间的随机整数并5个一行打印出来。3、要求新建工程Modify.vbp,将Modify.bas模块加入到该工程中进行

13、调试。4、注意只需要将横线位置的内容删除后填入合适的内容即可,其他代码不要改动。Dim a(30) As IntegerPublic Sub FindMax() 该过程是用于查找一批数据中的最大数,并输出最大数的值及最大数在数组中的下标值。 Dim Position As Integer 最大数在数组中的下标 Dim max As Integer 最大数 Dim i As Integer GenerateData max = -1- Position = -2- For i = 2 To 30 If a(i) max Then max = -3- Position = -4- End If N

14、ext i Form1.Print 最大值= & Str(max) Form1.Print 最大值的下标= & Str(Position)End SubPublic Sub GenerateData() Dim i As Integer For i = 1 To 30 a(i) = Int(500 * Rnd() + 1) Form1.Print a(i), If i Mod 5 = 0 Then Form1.Print Next iEnd SubClick事件过程:FindMax-1-= a(1)-2-= 1-3-= a(i)-4-= iVB 语言调试题目如下,单击“回答”按钮,进行考试。1

15、、在考生目录下的Paper目录中,已有模块文件modify.bas。2、程序功能Modify.Bas模块中DToB过程是将一个十进制正整数转换成为一个二进制数。3、要求新建工程Modify.vbp,将Modify.bas模块加入到该工程中进行调试。4、注意只需将横线位置的内容删除后填入合适的内容即可,其余代码不要改动。试题十二Option ExplicitPublic Sub DToB() 该过程是将一个十进制正整数转换成为一个二进制数。 采用连除2取余数的方法,将一个十进制数转换为二进制数。 Dim Dec As Integer Dim Bin As String Dim res As In

16、teger Dim i As Integer Dec = Val(InputBox(x=) 输入一个十进制数 Form1.Print 十进制数:; Dec Do res = -1- 求出除以2的余数 Bin = Trim(Str(res) & -2- Dec = -3- Loop While -4- Form1.Print 转换为二进制数为:; BinEnd SubClick事件过程:DToB-1-= Dec Mod 2-2-= Bin-3-= Dec 2-4-= Dec0VB 语言调试题目如下,单击“回答”按钮,进行考试。1、在考生目录下的Paper目录中,已有模块文件modify.bas。

17、2、程序功能Modify.Bas模块中的total过程是计算s=7+77+777+(n个7组成的数),并输出。Modify.Bas模块中的number函数是求出n个7所组成的数。3、要求新建工程Modify.vbp,将Modify.bas模块加入到该工程中进行调试。4、注意只需将横线位置的内容删除后填入合适的内容即可,其余代码不要改动。试题十三Option ExplicitPublic Sub total() 该过程是计算s=7+77+777+(n个7组成的数),并输出。 Const n = 20 Dim s As Single Dim i As Integer For i = 1 To n

18、s = s + -1- Next i Form1.Print s=; sEnd SubPublic Function number( -2- ) As Single 该函数是求出n个7所组成的数。 Dim k As Integer number = 0 For k = 1 To n -3- Next kEnd FunctionClick事件过程:total-1-= number(i)-2-= ByVal n As Integer-3-= number = number + 7*10(k-1)VB 语言调试题目如下,单击“回答”按钮,进行考试。1、在考生目录下的Paper目录中,已有模块文件mo

19、dify.bas。2、程序功能Modify.Bas模块中的 MaxLine 过程用于查找一个5行4列的二维数组中行平均值最大的行,并将该行所有数据调整到第一行的位置。Modify.Bas模块中的DataProduce 过程用于产生原始数据;Average 过程用于计算各行的平均值;PrintArray过程用于打印二维数组和行平均值。3、要求新建工程Modify.vbp,将Modify.bas模块加入到该工程中进行调试。4、注意只要修改标出出错位置的下面那一条语句即可,其余代码不要改动。试题十四Dim a(1 To 5, 1 To 4) As IntegerDim ave(1 To 5) As

20、IntegerPublic Sub MaxLine() 该过程用于查找一个5行4列的二维数组中行平均值最大的行,并将该行所有数据调整到第一行的位置。 Dim i As Integer, j As Integer, 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

21、temp = a(1, j) * 错误3 * a(Line_no, j) = a(1, j) a(Line_no, j) = temp Next j 交换对应行的平均值 temp = ave(1) 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

22、a(i, j) = Int(100 * Rnd) Next j Next iEnd SubPublic Sub Average() 该过程用于计算各行的平均值。 Dim i As Integer Dim j As Integer Dim sum As 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 PrintA

23、rray() 该过程用于打印二维数组和行平均值。 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 平均值=; ave(i) Next iEnd SubClick事件过程:DataProduceAverageMaxLine* 错误1 *= ave(Line_no) ave(i)* 错误2 *= Line_no = i* 错误3 *= a(1, j) = a(Line_no, j)* 错误4 *= sum = sum + a

24、(i, j)VB 语言调试题目如下,单击“回答”按钮,进行考试。1、在考生目录下的Paper目录中,已有模块文件modify.bas。2、程序功能Modify.Bas模块中的Del过程从一个含有10个数组元素的数组中删除一个指定的数据,若该数据不存在,则给出提示。3、要求新建工程Modify.vbp,将Modify.bas模块加入到该工程中进行调试。4、注意只需将横线位置的内容删除后填入合适的内容即可,其余代码不要改动。试题十五Option ExplicitPublic Sub Del() 该过程从一个含有10个数组元素的数组中删除一个指定的数据,若该数据不存在,则给出提示。 先产生10个1,

25、100的随机整数 从键盘上输入一个数,将该数从数组中删除 Randomize Dim x As Integer Dim a() As Integer Dim i As Integer, pos As Integer ReDim a(10) As Integer For i = 1 To 10 a(i) = Int(Rnd * 100) + 1 Next i Form1.Print 原始数据: For i = 1 To 10 Form1.Print a(i); ; Next i Form1.Print x = Val(InputBox(输入删除的数x=) pos = 0 For i = 1 To

26、 10 If x = a(i) Then -1- Exit For End If Next i If pos 0 Then For i = -2- To 9 -3- Next i ReDim Preserve a(9) 保留原数组中的9个数 Form1.Print 删除后数据: For i = 1 To 9 Form1.Print a(i); ; Next i Form1.Print Else MsgBox 数组中未找到 & Str(x) & ,删除不成功 End IfEnd SubClick事件过程:Del-1-= pos = i-2-= pos-3-= a(pos) = a(pos+1)V

27、B 语言调试题目如下,单击“回答”按钮,进行考试。1、在考生目录下的Paper目录中,已有模块文件modify.bas。2、程序功能Modify.Bas模块中的 Guess 过程是猜数游戏,由计算机产生一个1,100的任意整数,输入猜数后计算机给出提示,如果5次后还没有猜中就结束游戏并公布正确答案。3、要求新建工程Modify.vbp,将Modify.bas模块加入到该工程中进行调试。4、注意只要修改标出出错位置的下面那一条语句即可,其余代码不要改动试题十六Public Sub Guess() 该过程是猜数游戏,由计算机产生一个1,100的任意整数, 输入猜数后计算机给出提示,如果5次后还没有

28、猜中就结束游戏并公布正确答案。 Dim R As Integer Dim X As Integer Dim times As Integer Randomize R = Int(Rnd * 100) + 1 产生一个在区间1,100 的任意整数 times = 1 Do X = Val(InputBox(输入猜数X) Select Case X Case R Form1.Print 猜中了 Exit Do * 错误1 * Case Is 5 If times 5 Then Form1.Print 猜数失败,游戏结束! * 错误3 * Form1.Print 正确答案为 & Str(X) End

29、 IfEnd SubClick事件过程:Guess* 错误1 *= Case Is R* 错误2 *= Loop While times a(i) Then * 1 * Swap (a(j), a(i) End If Next j i = i + 1 * 2 * Loop While i = n 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.Print a(i) Next iEnd Sub* 4 *Public Sub Swap(ByVal a As Integer, ByVal b As Integer) D

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论