- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
07年春上机vb02
江苏高等学校非计算机专业学生
计算机基础知识和应用能力等级考试上机试卷(2007春)
二级 Visual Basic语言(试卷代号VB02)
(本试卷完成时间 70分钟)
【考试须知】
1. 改错题的界面不作要求,主要用来调试程序,若题目中有参考界面,则仅作参考;
2.?考试结束后,文件必须存放在指定位置,否则适当扣分;考试盘中若无指定文件,则不予评分;
3. 程序代码书写应呈锯齿形。
一、改错题(14分)
【题目】从10个各不相同的正整数中,剔除若干个数。使得保留下来的数中,任意两个数的和都不是平方数(所谓平方数就是该数等于某一个数的平方,例如4就是一个平方数)。
Option Explicit
Option Base 1
Private Sub Command1_Click()
Dim a(10) As Integer, i As Integer, j As Integer, p As Integer, k As Integer
Do While p 10
k = Int(20 * Rnd) + 1
For j = 1 To p
If k = a(j) Then Exit For
Next j
If j p Then
p = p + 1
a(p) = k
Text1 = Text1 Str(k)
End If
Loop
Call delete(a, p)
For i = 1 To p
Text2 = Text2 Str(a(i))
Next i
End Sub
Private Sub delete(a() As Integer, p As Integer)
Dim idx As Integer, j As Integer, sum As Integer
idx = 2
Do While idx p
For j = 1 To idx - 1
sum = a(idx) + a(j)
If Int(Sqr(sum)) = Sqr(sum) Then Exit For
Next j
If j = idx - 1 Then
a(idx) = a(p)
p = p - 1
Else
idx = idx + 1
End If
Loop
End Sub
【要求】
1.?????? 新建工程,输入上述代码,改正程序中的错误;
2.?????? 改错时,不得增加或删除语句,但可适当调整语句位置;
3.?????? 将窗体文件和工程文件分别命名为F1和P1,并保存到软盘A的根目录下.
二、编程题(26分)
【题目】编写程序,生成n组22选5的彩票码组(每组由各不相同的5个数码组成,且每个数码只能取1-22之间的数字)。
【编程要求】
1.?????? 程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;
2. 在文本框1中输入n的值,单击“运行”按钮,在列表框中显示结果;按“清除”按钮,则将文本框及列表框清空,焦点设置在文本框;按“结束”按钮, 结束程序运行;
3?????? 程序中包含一个名为tc的通用过程,用于生成一组彩票数码。
【要求】
将窗体文件和工程文件分别命名为F2和P2,并保存到软盘A的根目录下.
参考答案:
Private Sub Command1_Click()
Dim n As Integer, a(5) As Integer
Dim i As Integer
n = Text1
For i = 1 To n
Call tc(a)
For j = 1 To 5
s = s a(j)
Next j
List1.AddItem s
s =
Erase a
Next i
End Sub
Sub tc(a() As Integer)
Dim i As Integer, x As Integer
Do While i 5
x = Int(Rnd * 22) + 1
F
文档评论(0)