收藏 分享(赏)

程序改错.doc

上传人:11xg27ws 文档编号:7840901 上传时间:2019-05-27 格式:DOC 页数:34 大小:239.50KB
下载 相关 举报
程序改错.doc_第1页
第1页 / 共34页
程序改错.doc_第2页
第2页 / 共34页
程序改错.doc_第3页
第3页 / 共34页
程序改错.doc_第4页
第4页 / 共34页
程序改错.doc_第5页
第5页 / 共34页
点击查看更多>>
资源描述

1、1Visual Basic 程序改错【程序改错】462?-题目:请修改程序中错误,保证程序最后输出效果如图 1 所示。-注意:不可增加或删除程序行,也不可以更改程序结构-Option ExplicitPrivate Sub Form_Click()Dim i As IntegerFor i = 1 To 7*FOUND*Print Spc(7);*FOUND*If i = 1 ThenPrint “*“Else*FOUND*Print “*“; Spc(2 * (i - 1); “*“End IfNext iEnd Sub1 Space2.3.space2Visual Basic 程序改错【程

2、序改错】463-题目:以下程序功能是输入三个数,由大到小排序。-注意:不可增加或删除程序行,也不可以更改程序结构-Option ExplicitDim A As IntegerDim B As IntegerDim C As IntegerPrivate Sub Form_Click()Dim nTemp As IntegerA = Val(InputBox(“Please input first integer“, “输入正整数 “)B = Val(InputBox(“Please input second integer“, “输入正整数 “)C = Val(InputBox(“Pleas

3、e input third integer“, “输入正整数“)*FOUND*If A = A Then2 If A = A Then3 If B = B Then3Visual Basic 程序改错【程序改错】464?-题目:歌德巴赫猜想:任何一个大于或等于六的偶数都可 以分解成两个素数之和,请修正下面程序的错误。-注意:不可增加或删除程序行,也不可以更改程序结构-Private Sub Command1_Click()Dim i As Integer, j As Integer, k As Integer, m As IntegerDim n As Integer, m1 As Integ

4、er, m2 As Integer, numnum = Val(InputBox(“请输入要验证的整数范围最大值(MAX)“)For i = 6 To num Step 2For j = 3 To i*FOUND*k = Sqr(j)For m = 2 To k*FOUND*If j Mod m = 0 Then EndNext mIf m k Thenn = i - jm1 = Int(Sqr(n)For m2 = 2 To m1If n Mod m2 = 0 Then Exit ForNext m2*FOUND*If m2 m1 Then Print i; “=“; j; “+“; n;

5、,4Visual Basic 程序改错【程序改错】465?-题目:用 InputBox 函数输入一个字符串,编写程序按与 输入的字符相反的次序用 Msgbox 函数输出这个字 符串。如输入字符串为“abcdefgh“,则输出为“h gfedcba“,输出效果如图 1。-注意:不可增加或删除程序行,也不可以更改程序结构-Private Sub Command1_Click()Dim pristr As String, outstr As StringDim i As Integerpristr = InputBox(“please input a string“)*FOUND*For i = 0

6、 To Len(pristr)*FOUND*outstr = outstr + Mid(pristr, Len(pristr) - i)Next i*FOUND*MsgBox outstr, , “The Output Result “End Sub-图片数目:0 张文件数目:2 张答 案:1 For i = 0 To Len(pristr) - 12 outstr = outstr + Mid(pristr, Len(pristr) - i, 1)3 MsgBox outstr, vbQuestion, “The Output Result “5Visual Basic 程序改错【程序改错】

7、466-题目:下边是一个小动画程序,在窗体上放一个标签 Label1, 每过 1 秒钟标签 Label1 的背景颜色由红到蓝,由蓝到绿, 再由绿到红循环变化,并自动修改标签 Label1 的 Left, Top 值使其从左上角沿窗体的对角线移动到窗体的右下角, 如此往复从而实现动画。-注意:不可增加或删除程序行,也不可以更改程序结构-Private flag As IntegerPrivate Sub Form_click()Timer1.Enabled = TrueEnd SubPrivate Sub Form_Load()Timer1.Interval = 1000Label1.Left

8、= 0Label1.Top = 0Label1.BackColor = vbBlackTimer1.Enabled = FalseEnd SubPrivate Sub Timer1_Timer()If Label1.Left y ThenA = xx = yy = AEnd If*FOUND*If y = z ThenPrint y*FOUND*ElseIf x = z ThenPrint zElsePrint xEnd IfEnd SubPrivate Sub Form_Click()FindMidNumEnd Sub-图片数目:0 张文件数目:2 张答 案:1 If x x Then2 I

9、f y = z Then 或 If z = z Then 或 ElseIf z “ ThenSearchstr = InputBox(“Please input the string seach“)Text1.Text = StringClear(Text1.Text, Searchstr)End IfEnd Sub-图片数目:0 张文件数目:2 张答 案:1 res = sSource2 Do While InStr(res, sSearch)3 res = Left(res, j - 1) Next ICmdend.Enabled = TrueCmdstart.Enabled = Fals

10、eEnd SubPrivate Sub Cmdend_click()EndEnd Sub-图片数目:0 张文件数目:3 张答 案:1 Cmdend.Enabled = False2 For I = 1 To n - 13 If a(p) 0 Then*FOUND*List1.RemoveItemText2.Text = Str(List1.ListCount)End IfEnd SubPrivate Sub Command3_Click()*FOUND*List1.RemoveItemText2.Text = CStr(List1.ListCount)End SubPrivate Sub Co

11、mmand4_click()EndEnd Sub-图片数目:0 张文件数目:2 张答 案:1 If sy = 0 Then 或 If 0 = 0 And a Int(Sqr(t1) Then*FOUND*If Flag = False Then Count = Count + 1*FOUND*Write #1, t2End IfNext t1Form1.Print “素数个数“; CountClose #1End Sub-图片数目:0 张文件数目:2 张答 案:1 Open “dataout.txt“ For Output As #1 或 Open “dataout.txt“ For Outp

12、ut As 12 If Flag Then Count = Count + 1 或 If Flag Then Count = 1 + Count3 Write #1, t1 或 Write 1, t115Visual Basic 程序改错【程序改错】476?-题目:由输入对话框输入 n(设 n 为大于零且小于 30 的自然数) , 计算如图 1 所示的表达式,并在标签框 Label1 上显示。-注意:不可增加或删除程序行,也不可以更改程序结构-Private Sub Form_Click()Dim n As Integer, sum As Double, k As Integern = Val

13、(InputBox(“n=“, “请输入自然数 n(n0 且 n 0 Or n nLabel1.Caption = “Sum=“ + Str(sum)End Sub-图片数目:0 张文件数目:2 张答 案:1 Do While n = 30 或 Do While n= 302 k = k + 1 或 k = 1 + k3 Loop Until k = n 或 Loop Until n 10 Then*FOUND*y = Str(x) + Sin(x)Else*FOUND*y = 2 * x 3 + 6End IfPrint yEnd Sub-图片数目:0 张文件数目:2 张答 案:1 Else

14、If x 10 Then 或 ElseIf 10 0 Then Exit SubIf strPws = “12345“ Then*FOUND*MsgBox “恭喜,密码正确“, 验证ElseMsgBox “很遗憾,密码错误“, “验证“End IfEnd SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)*FOUND*If Not (KeyAscii = 49 And KeyAscii = 48 And KeyAscii 47 And KeyAscii = a(i) Thena1 = a(i)a(i) = a(j)*FOUND*a(j) = a

15、(i)End IfNext jNext iFor i = 0 To 9Print a(i)Next iEnd Sub-图片数目:0 张文件数目:2 张答 案:1 For j = i + 1 To 9 或 For j = 1 + i To 92 If a(i) = a(j) Then3 a(j) = a119Visual Basic 程序改错【程序改错】480-题目:下面函数的功能是:求变量 s(s=a+aa+aaa+aaaa+) 的值。其中,a 是一个 0-9 的数字,总共累加 a 项。列如, 当 a=3 时,s=3+33+333 (共累加 3 项)。-注意:不可增加或删除程序行,也不可以更改

16、程序结构-Public Function Calc(a As Integer)Dim s As LongDim t As LongDim i As Integers = a*FOUND*t = 1For i = 2 To a*FOUND*t = t + as = s + tNext iCalc = sPrint sEnd FunctionPrivate Sub Command1_Click()Dim i As Integeri = InputBox(“请输入数字(0-9):“)*FOUND*Calc (i)End Sub-图片数目:0 张文件数目:2 张答 案:1 t = a2 t = t *

17、 10 + a 或 t =t * 10+ a 或 t =t*10+a3 Calc i 或 Call Calc(i)20Visual Basic 程序改错【程序改错】481-题目:下面程序的功能是将一个整数转化为数值字符串, 列如 123,转化为“+123“,-123 转化为“-123”-注意:不可增加或删除程序行,也不可以更改程序结构-Private Function NtoC(ByVal n As Single)Dim sign As Boolean, i%, a%, count%, temp%(100)Dim strc As Stringsign = False*FOUND*If n 0*

18、FOUND*a = n / 10n = n 10*FOUND*count = 1temp(count) = aLoopIf sign Then strc = “- “ Else strc = “+“For i = count To 1 Step -1strc = strc + Chr(Asc(“0“) + temp(i)Next iNtoC = strcEnd FunctionPrivate Sub Command1_Click()Print NtoC(-123)End Sub-图片数目:0 张文件数目:2 张答 案:1 If n “ ThenList1.AddItem Text1.Text

19、将文本框中的内容加到列表框中Text1.Text = “ElseMsgBox “请在文本框中输入信息!“End IfEnd SubPrivate Sub Command2_Click()*FOUND*If List1.ListIndex = 0 Then Exit SubList1.RemoveItem List1.ListIndex 删除选定的项目End SubPrivate Sub Command3_Click()If Command3.Caption = “修改“ ThenText1.Text = List1.TextText1.SetFocusCommand1.Enabled = Fa

20、lseCommand2.Enabled = False*FOUND*Command3.Caption = “修改“ElseList1.List(List1.ListIndex) = Text1.TextCommand1.Enabled = TrueCommand2.Enabled = TrueText1.Text = “*FOUND*Command3.Caption = “修改确认“End IfEnd Sub-图片数目:0 张文件数目:2 张答 案:1 If List1.ListIndex = -1 Then Exit Sub2 Command3.Caption = “修改确认“3 Comma

21、nd3.Caption = “修改“23Visual Basic 程序改错【程序改错】484-题目:使用顺序文件读写方式编写一个简单的记事本应用程序, 基本逻辑是:假设在考生目录中有一个名为 exam.txt 的文 本文件。当点击“打开“按钮(Command1)时,程序将 exam.Txt 文件中的内容显示在文本框(Text1)中,当点击“新建“按钮 (Command2)时,清空 Text1 中的内容;用户可以在 Text1 中进行 编辑操作,当点击“保存 “按钮(Command3)时,将 Text1 中的内容 保存在 exam.txt 文件中。当点击“ 退出“按钮(Command4)时关闭本

22、窗体。-注意:不可增加或删除程序行,也不可以更改程序结构-Private Sub Command1_Click()Dim A As StringText1 = “Open “exam.txt“ For Input As #1Do While Not EOF(1)*FOUND*Input #0, AText1 = Text1 + ALoop*FOUND*Close #0End SubPrivate Sub Command2_Click()Text1 = “End SubPrivate Sub Command3_Click()Open “exam.Txt“ For Output As #1*FOU

23、ND*Input #1, Text1Close #1End SubPrivate Sub Command4_Click()Unload MeEnd Sub-图片数目:0 张文件数目:3 张答 案:1 Input #1, A 或 Input 1, A2 Close #1 或 Close 13 Write #1, Text1 或 Write 1, Text124Visual Basic 程序改错【程序改错】485?-题目:创建一个绘图程序。当程序运行时,单击“绘图“按钮, 在窗体的 Picture 控件上画出-pi, 即-3.14,3.14 区间的余弦曲线。要求将图片框的坐标系定义为左上角 为(-

24、4,2) ,右下角为(4,-2) ,并在图片框中画出 坐标的 x 轴和 y 轴。程序运行界面如图 1 所示。-注意:不可增加或删除程序行,也不可以更改程序结构-Private Sub Command1_Click()*FOUND*Dim i As Integer*FOUND*Picture1.Scale (4, 2)-(4, 2) 定义窗体坐标Picture1.Line (-4, 0)-(4, 0) 画 x 轴Picture1.Line (0, 2)-(0, -2) 画 y 轴Picture1.CurrentX = 0.2Picture1.CurrentY = -0.1Picture1.Pri

25、nt “0“ 标记原点Picture1.CurrentX = -3.2Picture1.CurrentY = -0.1Picture1.Print “-“ 标记“-“Picture1.CurrentX = 3.3Picture1.CurrentY = -0.1Picture1.Print “Picture1.CurrentX = 0.2Picture1.CurrentY = 0.9Picture1.Print “1“ 标记“1“Picture1.CurrentX = 0.2Picture1.CurrentY = -0.8Picture1.Print “-1“ 标记“-1“For i = -3.

26、141 To 3.141 Step 0.001*FOUND*Picture1.PSet (i, Sin(i)Next iEnd SubPrivate Sub Command2_Click()EndEnd Sub-图片数目:0 张文件数目:2 张答 案:1 Dim i As Single2 Picture1.Scale (-4, 2)-(4, -2)3 Picture1.PSet (i, Cos(i)25Visual Basic 程序改错【程序改错】486-题目:窗体的左上角坐标(8,6) ,右下角坐标为(8, 6) 。 以厘米为单位,以坐标原点为圆心画圆,程序运行界面如图 1 所示。-注意:不

27、可增加或删除程序行,也不可以更改程序结构-Private Sub Form_Click()*FOUND*ScaleMode = 2Scale (8, 6)-(8, 6)*FOUND*自定义坐标系Line (8, 0)-(8, 0)*FOUND*Line (0, 6)-(0, 6)CurrentX = 0.1: CurrentY = -0.1: Print “0“ 标记坐标原点CurrentX = 7.5: CurrentY = -0.2: Print “x“CurrentX = 0.2: CurrentY = 5.5: Print “y“DrawWidth = 3Circle (0, 0),

28、4, vbBlueCircle (0, 0), 4, vbGreen, , , 2.5End Sub-图片数目:1 张文件数目:2 张答 案:1 ScaleMode = 72 Line (-8, 0)-(8, 0)3 Line (0, 6)-(0, -6)26Visual Basic 程序改错【程序改错】487-题目:设窗体中有图片框 Pic1,现要求在其中绘制 10 个同心圆, 然后将此图以 Test.BMP 作文件名存入磁盘。-注意:不可增加或删除程序行,也不可以更改程序结构-Private Sub Command1_Click()Dim X As IntegerDim Y As Inte

29、gerDim I As Integer*FOUND*Dim rad(10) As IntegerX = Pic1.ScaleWidth / 2Y = Pic1.ScaleHeight / 2For I = 0 To 9rad(I) = 500 * RndNext II = 9*FOUND*Do Until I = Form1.Width Then3 Label1.Left = -Label1.Width28Visual Basic 程序改错【程序改错】489-题目:给定三角形的三条边,计算三角形的面积。要求 程序首先判断给定的三条边能否构成三角形。-注意:不可增加或删除程序行,也不可以更改程序

30、结构-Private Sub Form_Click()Dim a As Single, b As Single, c As SingleDim s As Single, t As Single start:a = InputBox(“输入 1 边长:“)b = InputBox(“输入 2 边长: “)c = InputBox(“输入 3 边长:“)*FOUND*If a + b “#“*FOUND*If t = “a“ And t = “a“ And t 0 Or year Mod 400 = 0 And month = 3 Then days = days + 1Print “该日期是该年

31、中的第“; days; “天“End Sub-图片数目:0 张文件数目:2 张答 案:1 Dim a(1 To 12) As Integer2 days = days + a(i - 1)3 days = days + day31Visual Basic 程序改错【程序改错】492-题目:输入两个正整数 m 和 n,求其最大公约数。-注意:不可增加或删除程序行,也不可以更改程序结构-Private Sub Form_Click()Dim m As Integer, n As Integer, r As Integerm = InputBox(“输入 m 的值:“)n = InputBox(“输

32、入 n 的值 :“)Do While n 0*FOUND*r = m / nm = n*FOUND*n = mLoop*FOUND*Print “两数的最大公因子为:“; nEnd -图片数目:0 张文件数目:2 张答 案:1 r = m Mod n2 n = r3 Print “两数的最大公因子为:“; m33Visual Basic 程序改错【程序改错】494-题目:有 5 个人坐在一起,问第 5 个人多少岁? 他说比第 4 个 人大 2 岁。问第 4 个人岁数,他说比第 3 个人大 2 岁。 问第 3 个人,又说比第 2 个人大 2 岁。问第 2 个人,说 比第 1 个人大 2 岁。最后

33、问第 1 个人,他说是 10 岁。 请问第 5 个人有多人岁数。-注意:不可增加或删除程序行,也不可以更改程序结构-Function Age(ByVal N As Integer)*FOUND*If N = 5 ThenAge = 10Else*FOUND*Age = Age(N) + 2End IfEnd FunctionPrivate Sub Form_Click()*FOUND*Print Age(1)End Sub-图片数目:0 张文件数目:2 张答 案:1 If N = 1 Then 或 If 1 = N Then2 Age = Age(N - 1) + 23 Print Age(5

34、)34Visual Basic 程序改错【程序改错】495-题目:移动数组元素,将数组中某个位置的元素移动到指定位置.-注意:不可增加或删除程序行,也不可以更改程序结构-Function fMove(a%(), L1%, L2%)Dim N As Integer, i As Integer, T As Integer*FOUND*N = LBound(a)If L2 = N + 1 Then*FOUND*a(N) = a(L1)For i = L1 To Na(i) = a(i + 1)Next iElseT = a(L1)a(L1) = a(L2)*FOUND*a(L1) = TEnd IfEnd FunctionPrivate Sub Form_Click()Dim a%(1 To 5)Dim i As IntegerFor i = 1 To 5a(i) = iNextfMove a, 1, 5For i = 1 To 5

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报