首页 VBinformation调试

VBinformation调试

举报
开通vip

VBinformation调试1.计算1!+2!+。。。。。20! Public Function nFactor(ByVal n As Integer) As Double '该过程用于计算n!。 Dim i As Integer Dim temp As Double ----1---- ‘temp = 1 For i = 1 To n temp = temp * i Next i...

VBinformation调试
1.计算1!+2!+。。。。。20! Public Function nFactor(ByVal n As Integer) As Double '该过程用于计算n!。 Dim i As Integer Dim temp As Double ----1---- ‘temp = 1 For i = 1 To n temp = temp * i Next i nFactor = ----2---- ‘temp End Function Public Sub summary() '该过程用于计算1!+2!+...+20!,并打印出计算结果。 Dim sum As Double Dim i As Integer Dim n As Integer n = 20 For i = 1 To n sum = sum + ----3---- ‘nFactor(i) Next i Form1.Print "sum=" & ----4---- ‘sum End Sub 2.求出1-999之间的ARMSTRONG数,并输入 Public Sub ArmstrongNumber() '该过程是用于求出1--999之间所有的Armstrong数,并输出。 '所谓Armstrong数是指一个数等于它每位上数字的立方和。例如:371=3^3+7^3+1^3,那么371就是一个Armstrong数。 Dim armstrong As Integer Dim i As Integer Dim hundred As Integer '百位上的数字 Dim ten As Integer '十位上的数字 Dim one As Integer '个位上的数字 For i = 1 To 999 hundred = ----1---- ‘I\100 ten = Int((i Mod 100) \ 10) one = ----2---- ‘i mod 10 If ----3---- Then ‘I=hundred^3+ten^3+one^3 Form1.Print i; "is armstrong number" End If Next i End Sub 模块中的counteven过程是用于统计在税基产生的10个两位证书中的偶数的个数并用消息框输出 Option Explicit Public Sub countEven() '该过程是用于统计在随机产生的10个两位整数中的偶数的个数并用消息框输出。 Dim a(9) As Integer Dim count As Integer Dim I As Integer, n As Integer Randomize '******错误1******‘错误1:For I = 1 To 10 改为:For I = 0 To 9 For I = 1 To 10 '*****错误2*****‘错误2:n = Int(Rnd * 90) 改为:n = Int(Rnd * 90) + 10 n = Int(Rnd * 90) a(I) = n Form1.Print a(I) If a(I) Mod 2 = 0 Then count = count + 1 End If Next I '*****错误3*****错误3:msgbox("偶数个数:",count)改为:msgbox("偶数个数:" & count) msgbox("偶数个数:",count) End Sub 模块中的COMPOSITOR过程是用于产生20个不大于1000的自然数,并从小到大顺序输出 Option Explicit Public Sub compositor() '该过程是用于产生20个不大于1000的自然数, '并使用选择分类法按从小到大的顺序输出,相同数不输出。 Const n = 20 Dim a(n), i, p, j, t For i = 1 To n a(i)= ---1--- ‘int(rnd*1000) + 1 Next i For i = 1 To n - 1 p = i For j = i To n if a(p)>a(j) then ---2--- ‘p = j Next j if ---3---- then t=a(i):a(i)=a(p):a(p)=t ‘P <> i Next i Form1.Print a(1) For i = 2 To n if ----4---- then Form1.print a(i) ‘a(i) <> a(i - 1) Next i Form1.Print End Sub 模块中的过程RN通过调用ISLEAPYEAR判断某年是否闰年,是-打印“今年是闰年” 否-打印“今年不是闰年” 方法:被4整出,被100都整出 Option ExplicitPublic Sub rn() '该过程通过调用函数isLeapYear判断某年是否是闰年,若是,则打印"今年是润年" '否则,打印"今年不是闰年"。 Const year = 2023 If ----1---- Then ‘isLeapYear(Year) Form1.Print "今年是闰年" Else Form1.Print "今年不是闰年" End If End Sub Function isLeapYear(y As Integer) As Boolean If ----2---- Or (----3---- And ----4----) Then‘y mod 4 <> 0‘y mod 400 <> 0’ y mod 100 = 0 isLeapYear = False Else isLeapYear = True End If End Function 模块中的TOTAL过程是计算S=7+77+777+……+(N个7),并输出 number是求出N个7uo组成的数 Option Explicit Public 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------- ‘number(i) Next i Form1.Print "s="; s End Sub Public Function number( -----2------ ) As Single ‘n as integer '该函数是求出n个7所组成的数。 Dim k As Integer number = 0 For k = 1 To n --------3--------- ‘number = number + 7*10^(k-1) Next k End Function 模块中fabonia过程是对一下数列进行计算0.1.2.从第四个数起,每个数都是前面数之和求出地17个数,并求出第几个数起都超过1E+8 Option Explicit Public Sub Fabonia() '该过程是对以下数列进行运算: '有一个数列,它的前三个数是0,1,2, '从第四个数起,每个数都是它前面的两个数之和 '求出该数列的第17个数是多少 '求出该数列的第几个数起每个数都超过1E+8 Dim last_one As Long Dim last_two As Long Dim this_one As Long Dim i As Integer last_one = 1 '数列的第二个数 last_two = 2 '数列的第三个数 i = 4 '从数列的第四个数求起 Do this_one = last_one + last_two last_one = ------1------- ‘last_two last_two = ------2------- ‘this_one If i = 17 Then Form1.Print "No:17="; this_one End If ------3------- ‘I=I+1 Loop While this_one <= 100000000# Form1.Print "No:";------4------; "is > 1E+8" ‘I-1 End Sub 1.printarray过程 5行5列数字方阵两对角线上的元素为1,其余为2 两列之间空3格,两行之间空2格 Public Sub PrintArray() '下面程序用于显示5行5列的数字方阵'使两对角线上元素均为1,其余均为2’要’求显示的数字方阵两列数字之间空3格,两行之间空一行'只要修改标出出错位置的下面那一条语句 Dim a(5, 5) As Integer Dim i As Integer, j As Integer For i = 1 To 5 For j = 1 To 5 错误1‘错误1:If i <> j Or i <> 6 - j Then改为:If i <> j and i + j <> 6 Then If i <> j Or i <> 6 - j Then a(i, j) = 2 Else a(i, j) = 1 End If '******** 错误2 ********* ‘改为:Form1.Print a(i, j) & Space(3); Form1.Print a(i, j) + Space(3); Next j '******* 错误3 ******* ‘改为:Form1.Print: Form1.Print Form1.Print: Form1.Cls Next i End Sub 2.bubblesort过程是冒泡排序法 Genteratedate过程产生10(1,20)之间互不相同的随机整数 Swap过程交换两个变量的数值 Private Const n = 10 Private a(1 To n) As Integer 'BubbleSort过程是冒泡排序 'Swap过程交换两个变量数 'GenerateData过程产生10个[1,20]之间互不相同的随机整数 Public Sub BubbleSort() Dim i As Integer, j As Integer i = 1 Do For j = i + 1 To n If a(j) > a(i) Then '******* 1 ********* ‘改为:Swap a(j), a(i) Swap (a(j), a(i)) End If Next j i = i + 1 '******* 2 ******* ‘改为:Loop While i < n Loop While i = n Form1.Print "排序结果" For i = 1 To n Form1.Print a(i); Next i End Sub Public 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 - 1 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 i End Sub '******** 4 ******** ‘改为:Public Sub Swap( a As Integer, b As Integer) Public Sub Swap(ByVal a As Integer, ByVal b As Integer) Dim temp As Integer temp = a a = b b = temp 模块中maxline过程用于查找一个5行4列的二维数组中行平均值最大的行并调整至第一行 Dataproduce产生原始数据Average计算各行平均值Printarray打印二维数组和行平均值 Dim a(1 To 5, 1 To 4) As Integer Dim ave(1 To 5) As Integer Public 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 If ave(Line_no) >= ave(i) Then '****** 错误2 ******* ‘改为:Line_no = i Line_no = ave(i) End If Next I '交换第一行与最大平均值所在行 For j = 1 To 4 temp = a(1, j) '****** 错误3 ****** ‘改为:a(1, j) = a(Line_no, j) 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 "交换后的数据和平均值" PrintArray End Sub Public 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 i End Sub Public 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 = sum + a(i, j) sum = a(i, j) Next j ave(i) = sum / 4 Next i '将数组和平均值打印出来 Form1.Print "原始数据和平均值" PrintArray End Sub Public 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 "平均值="; ave(i) Next i End Sub guess是猜数游戏,有计算机产生一个(1,100)的任意整数,输入猜数后计算机给出提示,如果5次没猜中就结束游戏公布正确 答案 八年级地理上册填图题岩土工程勘察试题省略号的作用及举例应急救援安全知识车间5s试题及答案 Public Sub Guess() '该过程是猜数游戏,由计算机产生一个[1,100]的任意整数, '输入猜数后计算机给出提示,如果5次后还没有猜中就结束游戏并公布正确答案。 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 > R Case Is < R Form1.Print "太大了,继续猜!" Case Else Form1.Print "太小了,继续猜!" End Select times = times + 1 '****** 错误2 ****** ‘改为:Loop While times <= 5 Loop While times > 5 If times > 5 Then Form1.Print "猜数失败,游戏结束!" '****** 错误3 ****** ‘改为:Form1.Print "正确答案为" & Str(R) Form1.Print "正确答案为" & Str(X) 1.E=1+1/1!+1/2!+…..+1/N! 精确到0.000000000000001 Option Explicit Public Sub e() '该过程是用于计算e的值并将结果输出,要求精确到0.000000000000001, 'e的计算公式为:e=1+1/1!+1/2!+…+1/n!。 Dim n, term, t n = 0: term = 1: t = 1 Do n = n + 1 t= ---1--- ‘t/n term= ---2----- ‘term+t Loop While t > 0.000000000000001 form1.print "e="& ---3---- ‘str(term) End Sub 2.find过程用于找出1到10000中各个位数的数字的阶乘相加之和等于该数,并输出 Option Explicit Public 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----- ‘1 to len(a) p = Val(Mid(a, i, 1)) n= -----2---- ‘n + fact(p) Next i If n = k Then form1.Print k Next k End 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---- ‘fact = y End Function 1.被3.5.7.除,余数为1的最小5个整数 Option Explicit Public Sub find() '该过程是用于找出被3、5、7除,余数为1的最小的5个整数,并将结果输出来。 Dim countN%, n% countN = 0 n = 1 Do n=----1---- ‘n+7 if -----2---- then ‘(n mod 3=1) and (n mod 5=1) Form1.Print n countN = countN + 1 End If Loop ----3----- ‘while countN<5 End Sub 2.猴子摘桃子 猴子一天摘录若干个桃子,当天吃掉一半多一个,第二天吃了剩下的一半多一个……………………….到第七天早上要吃时剩下几个 输出结果 Option Explicit Public Sub eat() '该过程是用于计算猴子共摘了多少个桃子。 '(小猴在一天摘了若干个桃子,当天吃掉了一半多一个; '第二天吃了剩下的一半多一个; '以后每天都吃尚存的一半零一个,到第7天早上要吃时只剩下一个了), '并将结果输出来。 Dim n%, i%, x% x = 1 for i=6 to ---1---- step ----2---- ‘1 ‘-1 -----3---- ‘x=2*(x+1) Next i Form1.Print "共有"; x; "个桃子" End Sub
本文档为【VBinformation调试】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_671270
暂无简介~
格式:doc
大小:80KB
软件:Word
页数:9
分类:计算机考试
上传时间:2018-09-05
浏览量:9