江苏省等考VB上机真题汇总_第1页
江苏省等考VB上机真题汇总_第2页
江苏省等考VB上机真题汇总_第3页
江苏省等考VB上机真题汇总_第4页
江苏省等考VB上机真题汇总_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、2008春VB03一、改错题(14分)【题目】本程序功能是求二维的随机整数数组每一行元素中素数的个数。Option ExplicitDim a() As Integer, m As Integer, n As IntegerPrivate Sub Command1_Click() Dim i As Integer, j As Integer m = InputBox("行数", , 4) n = InputBox("列数", , 5) ReDim a(m, n) For i = 1 To m For j = 1 To n a(i, j) = Int(Rn

2、d * 90) + 10 Picture1.Print a(i, j); Next j Picture1.Print Next iEnd SubPrivate Sub Command2_Click() Dim i As Integer, j As Integer Dim k As Integer, m As Integer, n As Integer k = 0 For i = 1 To m For j = 1 To n If prime(a(i, j) Then k = k + 1 Next j Text1 = Text1 & k & vbCrLf Next iEnd Sub

3、Private Function prime(n As Integer) As Boolean Dim i As Integer For i = 2 To Sqr(n) If n Mod i = 0 Then Exit For Next i prime = TrueEnd Function【要求】1 新建工程,输入上述代码,改正程序中的错误;2 改错时,不得增加或删除语句,但可适当调整语句位置;3 将窗体文件和工程文件分别命名为F1和P1,并保存到软盘A的根目录下。二、编程题(26分)【题目】编写程序,查找给定范围A, B内所有升序完全平方数。所谓升序完全平方数是指该数的平方根是一个整数,且组

4、成该数的各位数字由左至右,依次递增。例如13689的平方根是117,它就是一个升序完全平方数。【编程要求】1 程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;2 运行程序,在文本框1和文本框2中分别输入A与B的值,按“查找”按钮,开始查找并在列表框中显示结果;按“清除”按钮,则将所有文本框与列表框清空,焦点置于文本框1上;3 程序中应定义一个名为sx的函数过程,用于判断一个正整数是否为升序数。【提示】判断一个整数是否为升序数,首先要分解得到该数的各位数字,再逐位依次判断其大小。【要求】将窗体文件和工程文件分别命名为F2和P2,并保存到软盘A

5、的根目录下。2008秋VB01一、改错题(14分)【题目】本程序的功能是:随机生成一个有n个元素的数组(n由InputBox函数输入),找出其中的最大元素并将它删除,再输出删除后的数组。Option ExplicitOption Base 1Dim a() As Integer, n As IntegerPrivate Sub Command1_Click() Dim i As Integer n = InputBox("请输入数组个数", , 10) ReDim a(n) For i = 1 To n a(i) = Int(Rnd * 100) + 1 Text1 = T

6、ext1 & Str(a(i) Next i Call lookup(a) For i = 1 To n Text2 = Text2 & Str(a(i) Next iEnd SubPrivate Sub lookup(a() As Integer) Dim maxv As Integer, maxp As Integer, i As Integer maxv = a(1): maxp = 1 For i = 2 To n If a(i) > maxv Then maxv = a(i): maxp = i End If Next i Call move_f(a, maxp

7、)End SubPrivate Sub move_f(a() As Integer, k As Integer) Dim i As Integer For i = k + 1 To UBound(a) a(i) = a(i + 1) Next i ReDim a(UBound(a) - 1)End Sub 【要求】4 新建工程,输入上述代码,改正程序中的错误;5 改错时,不得增加或删除语句,但可适当调整语句位置;3. 将窗体文件和工程文件分别命名为F1和P1,并保存到T盘的根目录下。二、编程题(26分)【题目】编写程序,找出介于a和b之间所有能构成幻影素数的数。所谓幻影素数是指自身为素数,其反

8、序数也是素数的数。例如107和701都是素数,所以107是幻影素数。【编程要求】1.程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;2.运行程序,在文本框A和文本框B中输入指定数据范围,再按“运行”按钮,将找出的幻影素数存放在列表框中(若指定区间无幻影素数,则输出“本区间无幻影素数”)。按“清除”按钮,将文本框和列表框清空,焦点置于文本框A上;3.程序中应定义一个名为prime的函数过程,用于判断一个整数是否为素数;再定义一个求一个整数的反序数的通用过程。【要求】将窗体文件和工程文件分别命名为F2和P2,并保存到T盘的根目录下。2008秋V

9、B02一、改错题(14分)【题目】本程序的功能是查找80150范围内的特殊十进制数据,其特点是该十进制数对应的8进制数为回文数(指从左向右读与从右向左读是一样的数)。例如十进制数据105对应八进制数为151,151属于回文数,所以105就是符合要求的数。Option ExplicitPrivate Sub Command1_Click() Dim i As Integer, hw As String, fg As Boolean Dim st As String For i = 80 To 150 fg = False Call hw8(i, hw, fg) If fg Then st = C

10、Str(i) & "=>" & hw & "&O" List1.AddItem st End If Next iEnd SubPrivate Sub hw8( n As Integer, hw As String, f As Boolean) Dim k As Integer, st() As String * 1, i As Integer hw = "" Do k = k + 1 ReDim Preserve st(k) st(k) = n Mod 8 hw = st(k) & hw

11、n = n 8 Loop Until n < 0 For i = 1 To UBound(st) / 2 If st(i) <> st(UBound(st) - i + 1) Then Exit For Next i f = TrueEnd Sub【要求】1新建工程,输入上述代码,改正程序中的错误;2改错时,不得增加或删除语句,但可适当调整语句位置;3将窗体文件和工程文件分别命名为F1和P1,并保存到T盘的根目录下。二、编程题(26分)【题目】编写程序,验证任意一个不超过9位的自然数,经过下述的反复变换最终得到123。变换方法是:统计该数的偶数(0算偶数)个数记为a,奇数个数

12、记为b,数据位数记为c;以a为百位数、b为十位数、c为个位数,得到一个新数(若a=0,则以b为百位数、a为十位数),若这个新数不是123,再按上述步骤进行变换,直到出现123为止。123被称为陷阱数。【编程要求】1.程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;2.运行程序,在文本框1中任意输入一个不超过9位的自然数后,按“验证”按钮,则根据变换规则生成新数,将其输出到列表框,重复变换操作,直到得到123为止,最后输出“验证成功”信息;按“清除”按钮,将文本框和列表框清空,焦点置于文本框上;按“结束”按钮,结束程序运行;3.程序中应定义一

13、个名为Validate的通用过程,用于对数据进行变换操作。【要求】将窗体文件和工程文件分别命名为F2和P2,并保存到T盘的根目录下。2009秋VB01一、改错题(14分)【题目】本程序的功能是,将24位真彩色图像的一个像素的颜色值,转换成用十进制表示的红、绿、蓝三基色的亮度值。Option ExplicitOption Base 1Private Sub Command1_Click() Dim st As String, c(3) As String * 8 Dim k As Integer, color(3) As String color(1) = "红色" colo

14、r(2) = "绿色" color(3) = "蓝色" st = Text1 Do k = k + 1 c(k) = Left(st, 8) st = Right(st, Len(st) - 8) Loop Until k > 3 For k = 1 To 3 Text2 = Text2 & color(k) & ":" & b2d(c) & vbCrLf NextEnd SubPrivate Function b2d(s As String) As Integer Dim k As Intege

15、r Do b2d = b2d + Val(Right(s, 1) * 2 k s = Left(s, Len(s) - 1) k = k + 1 Loop Until k = Len(s)End Function【要求】1 新建工程,输入上述代码,改正程序中的错误;2 改错时,不得增加或删除语句,但可适当调整语句位置;3 将窗体文件和工程文件分别命名为F1和P1,并保存到T盘的根目录下。二、编程题(26分)【题目】编写程序,随机生成m行n列由1位非零整数组成的数组;并分别求出数组中所有周边元素之和与非周边元素(内部)之和。(m、n由InputBox函数输入,缺省值分别为4、5)【编程要求】1.

16、 程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;2. 运行程序,按“运行”按钮,出现如图的InputBox函数窗口,分别输入数组行、列数(或使用缺省值)后按“确定”,则生成随机数组并显示在图片框中,并在文本框1与2中分别输出数组周边元素之和与非周边元素(内部)之和;按“清除”按钮,将所有文本框和图片框清空;按“结束“按钮”结束程序运行;3. 程序中应定义一个通用过程,用于求二维数组的周边元素之和与非周边元素之和。【要求】将窗体文件和工程文件分别命名为F2和P2,并保存到T盘的根目录下。 2009秋VB02一、改错题(14分)【题目】本程序

17、的功能是,找出所有两位整数中的“镜反平方数对”。所谓“镜反平方数对”是指数对n与m,它们满足条件:n与m不含有数字0,且n不等于m;n的反序数是m,n的平方数的反序数等于m的平方。例如12与21,12的平方是144,其反序数是441,而21的平方正好等于441;所以12与21是镜反平方数对。Option ExplicitPrivate Sub Command1_Click() Dim n As Integer, fn As Integer, st As String For n = 11 To 99 If InStr(CStr(n), "0") <> 0 The

18、n 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 SubPrivate Function fx(n As Integer) As Integer

19、Dim s As String Do s = s & Str(n Mod 10) n = n 10 Loop Until n = 0 fx = sEnd FunctionPrivate Function validate(p As Integer, q As Integer) As Boolean If fx(p 2) = q 2 Then validate = True End IfEnd Function【要求】1.新建工程,输入上述代码,改正程序中的错误;2.改错时,不得增加或删除语句,但可适当调整语句位置;3.将窗体文件和工程文件分别命名为F1和P1,并保存到T盘的根目录下。二

20、、编程题(26分)【题目】编写程序,找出输入字符串ASCII代码值最大的字符,把它移动到原字符串的末尾,其他字符的排列顺序维持不变。例如,输入“student”,结果是“stdentu”(若输入字符串中含有多个最大字符,只移动其中的一个)。【编程要求】1.程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;2.运行程序,首先在“原字符串”文本框中输入测试字符串,然后按“处理”按钮,接受输入并按要求进行相关处理,将得到的新字符串输出到“新字符串”文本框中;按“清除”按钮,将两个文本框清空,焦点置于“原字符串”文本框上;按“结束”按钮,结束程序运行

21、;3.程序中应定义一个通用过程,用于找出一个字符串中ASCII代码最大的字符及其位置。【要求】将窗体文件和工程文件分别命名为F2和P2,并保存到T盘的根目录下。2009秋VB03一、改错题(14分)【题目】本程序的功能是,找出指定范围内的五位整数中,由不同数字组成的所有素数。Option ExplicitPrivate Sub Command1_Click() Dim n As Long For n = 34567 To 40000 If prime(n) Or validate(n) Then Text1 = Text1 & n & vbCrLf End If Next n

22、If Text1 = "" Then Text1 = "无符合要求的数"End SubPrivate Function prime(n As Long) As Boolean Dim i As Integer For i = 2 To Sqr(n) If n Mod i = 0 Then Exit Function Next i prime = TrueEnd FunctionPrivate Function validate(n As Long) As Boolean Dim num(5) As Integer, i As Integer, k As

23、Integer For i = 1 To 5 num(i) = n Mod 10 n = n / 10 Next i For i = 1 To 4 For k = i + 1 To 5 If num(i) = num(k) Then Exit Function Next k Next i validate = TrueEnd Function【要求】1.新建工程,输入上述代码,改正程序中的错误;2.改错时,不得增加或删除语句,但可适当调整语句位置;3.将窗体文件和工程文件分别命名为F1和P1,并保存到T盘的根目录下。二、编程题(26分)【题目】设24位真彩图像的一个像素的颜色值用A1A2B1B

24、2C1C2形式的十六进制数表示,其中A1A2、B1B2、C1C2分别表示红、绿、蓝三种颜色的亮度值。编写程序,分别求出该像素红(R)、绿(G)、蓝(B)三种颜色以十进制数表示的亮度值。【编程要求】1.程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;2.运行程序,首先在文本框1中输入像素以十六进制数表示的颜色值,然后按“运行”按钮,对颜色值进行处理,并将处理结果按下图给出的形式显示在多行文本框2中;按“清除”按钮,将两个文本框清空,焦点置于文本框1上;按“结束”按钮,结束程序运行;3.程序中应定义一个名为h2d的通用过程,其功能是将一个十六进

25、制数转换为十进制数。【要求】将窗体文件和工程文件分别命名为F2和P2,并保存到T盘的根目录下。2010春VB02一、改错题(14分)【题目】本程序的功能:利用随机函数生成n个可被3整除、且至少包含一个8的三位整数。Option ExplicitPrivate Sub Command1_Click() Dim n As Integer, a() As Integer, i As Integer Dim st As String n = InputBox("数据个数n:", "查找", 15) ReDim a(n) Call find(a) For i =

26、1 To n If n Mod 3 <> 0 Then st = st & Str(a(i) Else st = st & Str(a(i) & vbCrLf End If Next i Text1 = stEnd Sub Private Sub find(a() As Integer) Dim ub As Integer, k As Integer, p As Integer Dim s As String Randomize ub = UBound(a) Do p = Int(Rnd * 899) + 100 s = CStr(p) If InStr(s

27、, "8") <> 0 Or p Mod 3 = 0 Then k = k + 1 a(k) = p End If Loop Until k > ub End Sub【要求】1.新建工程,输入上述代码,改正程序中的错误;2.改错时,不得增加或删除语句,但可适当调整语句位置;3.将窗体文件和工程文件分别命名为F1和P1,并保存到T盘的根目录下。二、编程题(26分)【题目】编写程序,求指定范围内的非素数整数的所有真因子(除1和自身以外的因子)。【编程要求】1.程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;

28、2.运行程序,首先在X文本框和Y文本框中输入相应的数据后,按“运行”按钮,进行相关处理,在列表框中按给定格式输出结果;按“清除”按钮,清空两个文本框和列表框,焦点置于文本框X上,按“结束”按钮,结束程序运行;3.程序中应定义一个通用过程,用于求整数的所有真因子。【要求】将窗体文件和工程文件分别命名为F2和P2,并保存到T盘的根目录下。 2010秋VB01一、改错题(14分)【题目】本程序的功能是,找出10100之间的所有只有奇数真因子的整数。所谓数据n的真因子是指除了1和n之外的因子。Option ExplicitOption Base 1Private Sub Cmd1_Click() Di

29、m fac() As Integer, n As Integer Dim i As Integer, sn As String, flag As Boolean flag=false For n = 10 To 100 Call jsyz(n, fac, flag) If flag Then sn = n & ":" For i = 1 To UBound(fac) sn = sn & fac(i) & "," Next i List1.AddItem Left(sn, Len(sn) - 1) End If Next nEnd

30、SubPrivate Sub jsyz(n As Integer, fa() As Integer, flag As Boolean) Dim i As Integer, k As Integer,n as Integer For i = 2 To n - 1 If n Mod i = 0 Then If i Mod 2 <> 0 Then k = k + 1 ReDim fa(k) fa(k) = i Else Exit Sub End If End If Next i If k <> 0 Then flag = TrueEnd Sub【要求】1. 新建工程,输入上述

31、代码,改正程序中的错误;2. 改错时,不得增加或删除语句,但可适当调整语句位置;3. 将窗体文件和工程文件分别命名为F1和P1,并保存到T盘的根目录下。二、 编程题(26分)【题目】编写程序,随机生成一个元素值为1040之间整数的4行5列数组;找出该二维数组的最大元素与最小元素,并将最大元素与最小元素的值以及相应的行号和列号输出到图片框中。(注意:数组最大元素与最小元素都可能有多个)【编程要求】1、 程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;2、 运行程序,按“运行”按钮,则生成随机数组并显示在图片框Pic1中,并在图片框Pic2中输

32、出数组最大元素值和最小元素值机相应的数组元素的行号与列号;按“清除”按钮,将两个图片框清空,焦点置于“运行”按钮;按“结束”按钮,结束程序运行;3、 程序中应定义一个通用过程maxmin,用于求二维数组最大元素值与最小元素值。【要求】将窗体文件和工程文件分别命名为F2和P2,并保存到T盘的根目录下。2010秋VB02一、改错题(14分)【题目】本程序的功能是,查找首末两位数字之和与中间两位数字之和相等的四位素数。Option ExplicitPrivate Sub CmdFind_Click() Dim i As Integer, Fg As Boolean For i = 1001 To 9

33、999 Fg = False Call PD(i, Fg) If Prime(i) And Fg Then List1.AddItem i Next iEnd SubPrivate Function Prime(n As Integer) As Boolean Dim k As Integer For k = 2 To Sqr(n) If n Mod k = 0 Then Exit For Next k Prime = TrueEnd FunctionPrivate Sub PD( n As Integer, Flg As Boolean) Dim i As Integer, A(4) As

34、Integer, S As Integer Dim L As IntegerL = Len(Str(n) For i = 1 To L A(i) = n Mod 10 n = n 10 Next i If A(1) + A(4) = A(2) + A(3) Then Flg = True End IfEnd Sub【要求】1新建工程,输入上述代码,改正程序中的错误;2. 改错时,不得增加或删除语句,但可适当调整语句位置;3. 将窗体文件和工程文件分别命名为F1和P1,并保存到T盘的根目录下。二、 编程题(26分)【题目】编写程序,输入一个5位以上的整数,将组成该数的各位数字重新排列成一个与原整

35、数位数相同的最小整数。【编程要求】1. 程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;2. 运行程序,在输入数据文本框中输入一个5位以上的整数后,按“开始”按钮,则在相应的文本框中,显示得到的最小数;按“清除”按钮,将所有文本框清空,焦点置于输入数据文本框上;按“结束”按钮,结束程序运行;3. 程序中应定义通用过程,用于求由给定整数的各位数字组成的最小数。【要求】将窗体文件和工程文件分别命名为F2和P2,并保存到T盘的根目录下。2010秋VB03一、改错题(14分)【题目】本程序的功能是,在5张卡片上写有1、2、3、4、5五个数,对卡片进行排列(5张卡片的全排列共有5!种),找出同时符合以下两个条件的所有排列:相邻

温馨提示

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

评论

0/150

提交评论