江苏省2009年秋二级计算机考试VB上机试题(2)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
江苏省高等学校非计算机专业学生
计算机基础知识和应用能力等级考试上机试卷(2009秋)
二级Visual Basic 语言(试卷代号VB02)
(本试卷完成时间70分钟)
[考试须知]
1.改错题的界面不作要求,主要用来调试程序,若题目中有参考界面,则仅作参考;2.考试结束后,文件必须存放在指定位置,否则适当扣分;考试盘中若无指定文件,则不予评分;
3.程序代码书写应呈锯齿形。
一.改错题(14分)
[题目]本程序的功能是,找出所有两位整数中的“镜反平方数对”。
所谓“镜反平方数对”是指数对n与m,它们满足条件:①n与m不含有数字0,且n不等于m;②n的反序数是m,n的平方数的反序数等于m的平方。
例如12与21,12的平方是144,其反序数是441,而21的平方正好等于441;所以12与21是镜反平方数对。
Option Explicit
Private Sub Command1_Click()
Dim n As Integer, fn As Integer, st As String
For n = 11 To 99
If InStr(CStr(n), "0") <> 0 Then
fn = fx(n)
If validate(n, fn) And n < fn Then
st = n & "^2=" & n ^ 2 & "," & fn & "^2=" & fn ^ 2
List1.AddItem st
End If
End If
Next n
If List1.ListCount = 0 Then List1.AddItem "无镜反平方数"
End Sub
Private Function fx( n As Integer) As Integer
Dim s As String
Do
s = s & Str(n Mod 10)
n = n \ 10
Loop Until n = 0
fx = s
End Function
Private Function validate(p As Integer, q As Integer) As Boolean
If fx(p ^ 2) = q ^ 2 Then
validate = True
End If
End Function
二、编程题(26分)
[题目]编写程序,找出输入字符串中ASCII代码值最大的字符,把它移动到原字符串的末尾,其他字符的排列顺序维持不变。
例如,输入“student”,结果是“stdentu”(若输入字符串中含有多个最大字符,只移动其中的一个)。
[编程要求]
1.程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;
2.运行程序,首先在“原字符串”文本框中输入测试字符串,然后按“处理”按钮,接受输入并按要求进行相关处理,将得到的新字符串输出到“新字符串”文本框中;按“清除”按钮,将两个文本框清空,焦点置于“原字符串”文本框上;按“结束”按钮,结束程序运行;
3.程序中应定义一个通用过程,用于找出一个字符串中ASCII代码值最大的字符及其位置。
[要求]将窗体文件和工程文件分别命名为F2和P2,并保存到T盘的根目录下。
温馨提示-专业文档供参考,请仔细阅读后下载,最好找专业人士审核后使用!。