VB考试复习题10套
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
11一、程序填空共1题(共计20分)第1题(20.0分)题号:530
'【程序填空】
'功能:有数列 1/5 + 1/9 + 1/13 + 1 / (1 + k * 4) (k<=100)
' 求前 100 项之和
Private Sub Command1_Click()
Dim s As Double
Dim k As Integer
'**********SPACE**********
s = 【?】
'**********SPACE**********
For k = 1 To 【?】
'**********SPACE**********
s = s + 1 / (1 +【?】)
Next k
Print s
End Sub
答案:=======(答案1)=======0=======(答案2)=======100
=======(答案3)=======k*4 =========或========= 4*k
二、程序改错共1题(共计20分)第1题(20.0分)题号:465
'【程序改错】
'题目:用InputBox函数输入一个字符串,编写程序按与
' 输入的字符相反的次序用Msgbox函数输出这个字
' 符串。
如输入字符串为"abcdefgh",则输出为"h
' gfedcba",输出效果如图1。
Option Explicit
Private Sub Command1_Click()
Dim pristr As String, outstr As String
Dim i As Integer
pristr = InputBox("please input a string")
'**********FOUND**********
For i = 0 To Len(pristr)
'**********FOUND**********
outstr = outstr + Mid(pristr, Len(pristr) - i)
Next i
'**********FOUND**********
MsgBox outstr, , "The Output Result "
End Sub
答案:=======(答案1)=======For i = 0 To Len(pristr) - 1
=========或=========For i = 0 To -1+Len(pristr)
=======(答案2)=======outstr = outstr + Mid(pristr, Len(pristr) - i, 1) =========或=========outstr = Mid(pristr, Len(pristr) - i, 1)+outstr
=======(答案3)=======MsgBox outstr, vbQuestion, "The Output Result " 三、程序设计共1题(共计30分)第1题(30.0分)题号:484
'题目: (事件)单击窗体。
' (响应)求从100到1000之间所有是3的倍数的数之
' 和,当和大于3000时,停止计算并输出和。
请将结果输
' 出到窗体上,并存入所给变量SUM中。
使用for...next语
' 句完成程序
答案:----------------------
Dim i As Integer
sum=0
for i=100 to 1000
if i mod 3=0 then
sum=sum+i
if sum>3000 then
exit for
endif
endif
i=i+1
next
Print sum
----------------------
四、VB窗体设计共1题(共计30分)第1题(30.0分)题号:73【窗体设计】
------------------------------------------------
题目:启动VB后,新建工程,在窗体上放置四个文本框,
五个标签,两个按钮。
各控件属性设置如下表,设
计一个简单计算器,能后实现加、减、乘、除四则
运算。
程序运行界面如图所示。
各控件属性设置如下表:
对象名称 Name属性 Caption属性
窗体默认加法器程序
命令按钮 commad1 计算
commad2 清除
标签 label1 数1
label2 运算符
label3 数2
label4 =
label5 结果
文本框 text1
text2
text3
text4
------------------------------------------------
12一、程序填空共1题(共计20分)第1题(20.0分)题号:604
'功能:要求在Text1中输入一段字符,选中“大写转为小写小写转为大写”,'单击转换按钮后,Text2显示大小写相反的字符串;选中“全部小写”,
'单击转换按钮后,Text2显示全部小写的字符串;
'选中“全部大写”,单击转换按钮后,Text2显示全部大写的字符串。
Private Sub Command1_Click()
Dim n As Integer, k As Integer, ch As String, a As String
'**********SPACE**********
n = Len(【?】)
ch = ""
For k = 1 To n
'**********SPACE**********
a = Mid(Text1.Text,【?】,1 )
If Option1.Value = True Then
If a >= "a" And a <= "z" Then
ch = ch + UCase(a)
ElseIf a >= "A" And a <= "Z" Then
ch = ch + LCase(a)
Else
ch = ch + a
End If
End If
If Option2.Value = True Then
ch = UCase(Text1)
End If
If Option3.Value = True Then
ch = LCase(Text1)
'**********SPACE**********
【?】
Text2 = ch
Next k
End Sub
答案:=======(答案1)=======Text1 ========或=========text1.text
=======(答案2)=======k=========或=========k%
=======(答案3)=======end if
二、程序改错共1题(共计20分)第1题(20.0分)题号:499
'【程序改错】
'题目:编程将一个数从已经有序(设从小到大排序)的数组
' 中删除,使数组还继续保持有序而且其余元素按照下
' 标连续存放。
Option Explicit
Private Sub Form_Click()
Dim A() As Integer, N As Integer, Flag As Integer
Dim i As Integer, X As Integer, P As Integer
Flag = 0
N = InputBox("输入元素个数")
'**********FOUND**********
Dim A(N)
For i = 1 To N
A(i) = InputBox("输入数组的第" & i & "个元素")
Next i
Print "删除某元素前的数组"
For i = 1 To N
Print A(i);
Next i
Start:
X = InputBox("输入要删除的元素:")
For i = 1 To N
If X = A(i) Then P = i: Flag = 1
Next i
If Flag = 0 Then MsgBox ("没有此元素"): GoTo Start
For i = P To N - 1
'**********FOUND**********
A(i + 1) = A(i)
Next i
'**********FOUND**********
N = N + 1
Print "删除元素后的数组:"
For i = 1 To N
Print A(i);
Next i
End Sub
答案:=======(答案1)=======ReDim A(N)=======(答案2)=======A(i) = A(i + 1) =========或=========A(i) = A(1 + i)=======(答案3)=======N = N - 1
三、程序设计共1题(共计30分)第1题(30.0分)题号:40
'【程序设计】
'题目:编写函数fun,函数的功能是:判断一个字符是
'字母字符、数字字符还是其他字符,并做相应的显示。
'字母字符显示字符串"字母"
'数字字符显示字符串"数字"'其他字符显示字符串"其他"'要求使用IF语句来实现。
'-------------------------------------------------
'注意:请在指定的事件内编写代码
' 代码只能写在两行标识之间
' 不得修改已有代码
'保存时不得修改窗体和工程文件的名称及路径,否则后果自负。
'-------------------------------------------------
Private Function fun(n As String) As String
'**********Program**********
'********** End **********
End Function
Private Sub Form_Load()
Show
Print fun("A")
Print fun("9")
Print fun("&")
NJIT_VB
End Sub
Private Sub NJIT_VB()
Dim i As Integer
Dim l As Integer
Dim a(10) As String * 1
Dim fIn As Integer
Dim fOut As Integer
fIn = FreeFile
Open App.Path & "\in.dat" For Input As #fIn
fOut = FreeFile
Open App.Path & "\out.dat" For Output As #fOut
For i = 1 To 10
Line Input #fIn, a(i)
Print #fOut, fun(a(i))
Next
Close #fIn
Close #fOut
End Sub
答案:If UCase(n) >= "A" And UCase(n) <= "Z" Then
fun = "字母"
ElseIf n >= "0" And n <= "9" Then
fun = "数字"
Else
fun = "其他"
End If
四、VB窗体设计共1题(共计30分)第1题(30.0分)题号:68【窗体设计】
------------------------------------------------
题目:如图所示,启动VB后,新建工程,界面上放三个命
令按钮,大小位置体调整好。
程序运行后,单击“窗
体变大”按钮,窗体随之变大,单击“窗体变小”按钮,
窗体即随之变小,单击“关闭窗体”按钮,窗体被关闭,
请编写程序。
(窗口变大变小幅度用户自定)
各控件属性设置如下表:
对象名称 Name属性 Caption属性
窗体默认默认
命令按钮 Command1 窗体变大
Command2 窗体变小
Command3 关闭窗体
------------------------------------------------
13一、程序填空共1题(共计20分)第1题(20.0分)题号:595
'【程序填空】
'功能:窗体上建立了一个文本框Text1("输入口令")和一个命令按钮Command1("检查")。
' 判断密码是否正确,并显示相应提示
' 在加载窗体时设置密码框最大长度为8,密码显示字符为“*”
dim x as string
Private Sub Command1_Click()
x = Text1.Text
'**********SPACE**********
If x 【?】 "12345678" Then
MsgBox ("欢迎你用机!")
Else
MsgBox ("对不起,口令错")
End If
Text1.Text = ""
Text1.SetFocus
End Sub
Private Sub Form_Load()
Text1.Text = ""
'**********SPACE**********
Text1.【?】 = 8
'**********SPACE**********
Text1.【?】 = "*"
End Sub
答案:=======(答案1)=======
=
=======(答案2)=======MaxLength
=======(答案3)=======PasswordChar
二、程序改错共1题(共计20分)第1题(20.0分)题号:476
'【程序改错】
'题目:由输入对话框输入n(设n为大于零且小于30的自然数),
' 计算如图1所示的表达式,并在标签框Label1上显示。
'------------------------------------------------
Option Explicit
Private Sub Form_Click()
Dim n As Integer, sum As Double, k As Integer
n = Val(InputBox("n=", "请输入自然数n(n>0 且n<30)"))
'**********FOUND**********
Do While n > 0 Or n < 30
n = Val(InputBox("n=", "请重输入"))
Loop
sum = 0
k = 0
Do
'**********FOUND**********
k = sum + k
sum = sum + 1 / (k * (k + 1))
'**********FOUND**********
Loop Until k > n
Label1.Caption = "Sum=" + Str(sum)
End Sub
答案:=======(答案1)=======Do While n <= 0 Or n >= 30
=========或=========Do While n <= 0 Or n>= 30
=======(答案2)=======k = k + 1
=========或=========k = 1 + k
=======(答案3)=======Loop Until k >= n
=========或=========Loop Until n <= k
三、程序设计共1题(共计30分)第1题(30.0分)题号:465 '【程序设计】
'题目:判断一个数是否是素数。
答案:----------------------
Dim i As Integer
Prime = True
For i = 2 To Int(Sqr(m))
If m Mod i = 0 Then Prime = False: Exit For
Next i
----------------------
四、VB窗体设计共1题(共计30分)第1题(30.0分)题号:75【窗体设计】
------------------------------------------------
题目:启动VB后,调整窗体大小至合适,界面上放置三
个标签、一个文本框、两个命令按钮。
编写一计算
机自动出题并判断对错程序,程序运行界面如图所
示。
程序运行后,单击“出题”按钮,在标签中显示
题面(有加、减、乘、除法四种运算),用户在文
本框中输入答案,然后单击“判断”按钮,即可弹出
提示“正确”或“错误”的消息框。
各控件属性设置如下表:
对象名称 Name属性 Caption属性 text属性 BorderStyle属性
窗体默认默认
标签 label1 请出题
label2 结果
label3 1
文本框 text1 空
命令按钮 commad1 出题
commad2 判断
------------------------------------------------
14一、程序填空共1题(共计20分)第1题(20.0分)题号:531
'【程序填空】
'功能:打印出 100-999 之间的所有水仙花数
' 如果一个数的百位,十位,个位数的立方和等于这个数本身
' 则这个数为水仙花数
Private Sub Command1_Click()
Dim i As Integer, a As Integer, b As Integer, c As Integer
'**********SPACE**********
For i = 100 To 【?】
'**********SPACE**********
a = Int(i / 【?】)
b = Int((i - 100 * a) / 10)
'**********SPACE**********
c = i - 100 * a - 【?】
If a * a * a + b * b * b + c * c * c = i Then
Print i
End If
Next i
End Sub
答案:=======(答案1)=======999=======(答案2)=======100
=======(答案3)=======10 * b=========或=========b * 10
二、程序改错共1题(共计20分)第1题(20.0分)题号:480
'【程序改错】
'题目:下面函数的功能是:求变量s(s=a+aa+aaa+aaaa+……)
' 的值。
其中,a是一个0-9的数字,总共累加a项。
' 例如,当a=3时,s=3+33+333 (共累加3项)。
Option Explicit
Public Function Calc(a As Integer)
Dim s As Long
Dim t As Long
Dim i As Integer
s = a
'**********FOUND**********
t = 1
For i = 2 To a
'**********FOUND**********
t = t + a
s = s + t
Next i
Calc = s
Print s
End Function
Private Sub Command1_Click()
Dim i As Integer
i = InputBox("请输入数字(0-9):")
'**********FOUND**********
Calc call i
End Sub
答案:=======(答案1)=======t = a
=======(答案2)=======t = t * 10 + a
=========或=========t = t * 10 + a
=========或=========t = t * 10 + a
=======(答案3)=======Calc i
=========或=========Call Calc(i)
=========或=========Calc (i)
三、程序设计共1题(共计30分)第1题(30.0分)题号:148 '【程序设计】
'题目:(事件)单击窗体。
' (响应)求10~20之间所有素数的乘积并输出在窗体上。
' 将结果存入变量L中。
答案:----------------------
Dim i As Integer
Dim j As Integer
Dim b As Boolean
l = 1
b = False
For i = 10 To 20
For j = 2 To i - 2
If i Mod j = 0 Then
b = True
End If
Next
If b = False Then
l = l * i
End If
b = False
Next
Print Str(l)
----------------------
四、VB窗体设计共1题(共计30分)第1题(30.0分)题号:61
【窗体设计】
要求:使用For循环求1~100的和。
界面如图,计算按钮的名称为Command1,文本框的名称为Text1。
点击按钮后将计算结果输入到文本框中。
15一、程序填空共1题(共计20分)第1题(20.0分)题号:599
'【程序填空】
'功能:以下程序段实现的功能是:查找一数列中是否存在某数字x,
'若数列中存在该数字,则输出其出现的次数,否则输出不存在信息。
Private Function Search(a() As Integer, ByVal key, n%) As Boolean
Dim i%
Search = False
'**********SPACE**********
For i = LBound(a) To 【?】
If key = a(i) Then
Search = True
'**********SPACE**********
【?】
End If
Next i
End Function
Private Sub Form_Click()
Dim x As Integer, k As Integer, num As Integer
Dim b() As Integer
num = Int(Rnd * 10) + 1
ReDim b(num)
For i = 0 To num
b(i) = Int(Rnd * 70) + 20
Print b(i);
Next i
Print
x = Val(InputBox("输入待查找数据"))
'**********SPACE**********
If Search(【?】, x, k) Then
'**********SPACE**********
Print x; "在数列中出现"; k; "次"
Else
Print x; "未在数列中出现"
End If
End Sub
答案:=======(答案1)====== UBound(a) =======(答案2)======= n=n+1 =========或========= n=1+n =======(答案3)======= b()
二、程序改错共1题(共计20分)第1题(20.0分)题号:124
'【程序改错】
'题目:以下程序段用于计算货物运费。
设货物运费每吨
' 单价p元与运输距离s公里之间关系如图1
Option Explicit
Private Sub Form_Click()
Dim w!, s!
Dim p As Currency, t As Currency
w = InputBox("请输入货物重量")
s = InputBox("请输入托运距离")
Select Case s
Case Is < 100
p = 30
'**********FOUND**********
Case Is <= 200 and Is>=100
p = 27.5
Case Is < 300
p = 25
Case Is < 400
p = 32.5
'**********FOUND**********
Else
p = 20
'**********FOUND**********
End If
t = p * w * s
Print "总运费:"; t; "元"
End Sub
答案:=======(答案1)======= Case Is < 200
=========或========= Case Is < 200,is >=100
=========或========= Case Is>=100,is <200
=======(答案2)======= Case Else
=======(答案3)======= End Select
三、程序设计共1题(共计30分)第1题(30.0分)题号:471
'【程序设计】
'题目:对字符串进行加密处理。
' 加密过程:
' 将每个字母C加一序数K=5,即 c=chr(Asc(c)-5),
' 这时"Z"→"U","z"→"u","Y"→"T"…
' 当加序数后的字母小于"A"或"a"则 c=Chr(Asc(c)-k +26)
'-------------------------------------------------
答案:----------------------
Dim i As Integer
Dim strp As String, strT As String, iA As String
Dim nl As String
i = 1: strp = ""
nl = Len(RTrim(strI))
Do While (i <= nl)
strT = Mid$(strI, i, 1) '取第i个字符
If (strT >= "A" And strT <= "Z") Then
iA = Asc(strT) + 5
If iA > Asc("Z") Then iA = iA - 26
strp = strp + Chr$(iA)
ElseIf (strT >= "a" And strT <= "z") Then
iA = Asc(strT) + 5
If iA > Asc("z") Then iA = iA - 26
strp = strp + Chr$(iA)
Else
strp = strp + strT
End If
i = i + 1
Loop
EnyStr = strp
----------------------
四、VB窗体设计共1题(共计30分)第1题(30.0分)题号:77【窗体设计】
题目:在窗体上放一文本框,一菜单,各菜单项内容如图
所示,编写菜单程序实现大小写字母转换的功能,
程序运行界面如图2所示
菜单项属性如下表。
菜单项名称快捷键
大小写转换 Change
....大写转小写 L_S Ctrl+A
....小写转大写 S_L Ctrl+B
退出 Exit
各控件属性设置如下表:
对象名称 Name属性 Caption属性 text属性窗体默认默认
文本框 text1(MultiLine=True ScrollBars=2)空
------------------------------------------------ 16一、程序填空共1题(共计20分)第1题(20.0分)题号:503 '【程序填空】
'功能:用户界面如图所示,实现左右两个组合框中数据的左移和右移功能。
' 程序开始运行时,在左边组合框中生成10个由小到大排列的随机三位' 正整数 (在设计阶段该组合框的Sorted属性值已设置为True),
' 现要求完成:
' (1)单击">>"钮,左边组合框中的10个数全部移动到右边组合框,' ,同时使"<<"钮能响应,">>"钮不能响应。
' (2)单击"<<"钮,右边组合框中的10个数全部移到左边的组合框,,同时使">>"钮能响应,"<<"钮不能响应;
' (3)单击"结束"按钮,结束程序运行。
Private Sub cmdLeft_Click()
Dim i As Integer
For i = 0 To comboRight.ListCount - 1
comboLeft.AddItem comboRight.List(i)
Next i
comboRight.Clear
'**********SPACE**********
【?】= False
'**********SPACE**********
【?】 = True
End Sub
Private Sub cmdRight_Click()
Dim i As Integer
'**********SPACE**********
For i = 0 To 【?】 - 1
comboRight.AddItem comboLeft.List(i)
Next i
'**********SPACE**********
【?】.Clear
cmdRight.Enabled = False
cmdLeft.Enabled = True
End Sub
Private Sub Command3_Click()
End
End Sub
Private Sub Form_Load()
Dim i As Integer
Label1.Caption = "组合框1"
Label2.Caption = "组合框2"
cmdRight.Caption = ">>"
cmdRight.Enabled = True
cmdLeft.Caption = "<<"
cmdLeft.Enabled = False
cmdExit.Caption = "结束"
comboLeft.Text = ""
For i = 1 To 10
comboLeft.AddItem Int(Rnd * 900) + 100
Next i
comboRight.Text = ""
End Sub
答案:=======(答案1)======= cmdLeft.Enabled
======(答案2)======= cmdRight.Enabled
=======(答案3)======= comboLeft.ListCount
=======(答案4)======= comboLeft
二、程序改错共1题(共计20分)第1题(20.0分)题号:485
'【程序改错】
'题目:创建一个绘图程序。
当程序运行时,单击"绘图"按钮,
' 在窗体的Picture控件上画出[-pi,pi ]即[-3.14,3.14]
' 区间的余弦曲线。
要求将图片框的坐标系定义为左上角
' 为(-4,2),右下角为(4,-2),并在图片框中画出
' 坐标的x轴和y轴。
程序运行界面如图1所示。
'------------------------------------------------
Option Explicit
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.2
Picture1.CurrentY = -0.1
Picture1.Print "0" ' 标记原点
Picture1.CurrentX = -3.2
Picture1.CurrentY = -0.1
Picture1.Print "-π" '标记"-π"
Picture1.CurrentX = 3.3
Picture1.CurrentY = -0.1
Picture1.Print "π"
Picture1.CurrentX = 0.2
Picture1.CurrentY = 0.9
Picture1.Print "1" '标记"1"
Picture1.CurrentX = 0.2
Picture1.CurrentY = -0.8
Picture1.Print "-1" '标记"-1"
For i = -3.141 To 3.141 Step 0.001
'**********FOUND**********
Picture1.PSet (i, Sin(i))
Next i
End Sub
Private Sub Command2_Click()
End
End Sub
答案:=======(答案1)======= Dim i As Single
=========或========= Dim i!
=======(答案2)======= Picture1.Scale (-4, 2)-(4, -2)
=======(答案3)======= Picture1.PSet (i, Cos(i))
三、程序设计共1题(共计30分)第1题(30.0分)题号:495
'【程序设计】
'题目: (事件)单击窗体。
' (响应)求一个数,它除3余2,除5余3,除7余2,
' 请将满足上面条件的最小数保存到sum变量中。
' 使用for...next语句完成程序
答案:----------------------
Dim i As Integer
For i = 2 To 1000
If i Mod 3 = 2 And i Mod 5 = 3 And i Mod 7 = 2 Then
Print i
Exit For
End If
Next i
sum = i
----------------------
四、VB窗体设计共1题(共计30分)第1题(30.0分)题号:72
【窗体设计】
-题目:如图所示,启动VB,新建工程,界面上放置2个
按钮、两个文本框、两个标签控件,调整好位置
和大小,各控件属性设置如下表。
当用户在姓名
窗口输入“user”、密码窗口输入“user”,单
击“确定”按钮时,弹出如图2所示消息框,其他
情况弹出如图3所示消息框;单击“重置”按钮,
两个文本框内容被清空,光标落到Text1中,请编
写程序。
各控件属性设置如下表:
对象名称 Name属性 Caption属性 text属性 password属性窗体默认登录程序
命令按钮 cmdok 确定
cmdcancel 重置
标签 label1 姓名
label2 密码
文本框 text1 无空空
text2 *
------------------------------------------------
17一、程序填空共1题(共计20分)第1题(20.0分)题号:57
'【程序填空】
'功能:求1!+2!+……+10!的值。
'-------------------------------------------------------
Private Sub Form_Click()
'**********SPACE**********
【?】
s = 1
For I = 2 To 10
t = t * I
'**********SPACE**********
【?】
'**********SPACE**********
【?】
Print s
End Sub
答案:=======(答案1)======= t = 1 =======(答案2)======= s = s + t =======(答案3)=======Next I
=========或=========Next
二、程序改错共1题(共计20分)第1题(20.0分)题号:462
'【程序改错】
'题目:请修改程序中错误,保证程序最后输出效果如图1所示。
Private Sub Form_Click()
Dim i As Integer
For i = 1 To 7
'**********FOUND**********
Print Spc(7);
'**********FOUND**********
If i >= 1 Then
Print "*"
Else
'**********FOUND**********
Print "*"; Spc(2 * (i - 1)); "*"
End If
Next i
End Sub
答案:=======(答案1)=======Print Spc(7 - i);
=========或=========Print Spc( - i+7);
=======(答案2)=======If i = 1 Then
=========或=========If 1=i Then
=======(答案3)=======
Print "*"; Spc(2 * (i - 1) - 1); "*"
=========或=========
Print "*"; Spc(-1+2 * (i - 1) ); "*"
三、程序设计共1题(共计30分)第1题(30.0分)题号:478
'【程序设计】
'题目:编写函数fun,其功能是:能计算从1开始到n的
' 自然数中偶数的平方的和。
答案:----------------------
Dim sum As Integer, i As Integer
sum = 0
For i = 2 To n Step 2
sum = sum + i * i
Next
fun = sum
----------------------
四、VB窗体设计共1题(共计30分)第1题(30.0分)题号:79-
【窗体设计】
题目:用复选框实现在文本框中显示是否“加下划线”
或“斜体显示”。
在窗体上放置一个文本框,两
个复选框,程序运行界面如图所示
各控件属性设置如下表:
对象名称 Name属性 Caption属性 text属性
窗体默认默认
文本框 Display 人民警察为人民复选框 Check1 斜体显示
Check2 加下划线
------------------------------------------------
18一、程序填空共1题(共计20分)第1题(20.0分)题号:46
'【程序填空】
'功能:从键盘输入学生分数,统计学生总人数和各分数段人数,
' 即优秀(90-100)、良好(80-89)、中等(70-79)、
' 及格(60-69)、不及格(60以下)的人数。
'-------------------------------------------------------
Private Sub Form_Click()
Dim score%, n1%, n2%, n3%, n4%, n5%
msg = "请输入分数(-1结束)"
msgtitile = "输入数据"
score = Val(InputBox(msg, msgtitle))
'**********SPACE**********
While 【?】
total = total + 1
'**********SPACE**********
Select Case 【?】
Case Is >= 90
n1 = n1 + 1
Case Is >= 80
n2 = n2 + 1
Case Is >= 70
n3 = n3 + 1
Case Is >= 60
n4 = n4 + 1
Case Else
n5 = n5 + 1
'**********SPACE**********
【?】
score = Val(InputBox(msg, msgtitle))
Wend
Print n1, n2, n3, n4, n5,total
End Sub
答案:
=======(答案1)=======score >=0 And score <= 100
=========或=========0<=score And score <= 100
=========或=========0<=score And 100>=score
=========或=========score >=0 And 100>=score
=======(答案2)=======score
=======(答案3)=======End Select
二、程序改错共1题(共计20分)第1题(20.0分)题号:466 '【程序改错】
'题目:下边是一个小动画程序,在窗体上放一个标签Label1,
' 每过1秒钟标签Label1的背景颜色由红到蓝,由蓝到绿,
' 再由绿到红循环变化,并自动修改标签Label1的Left,
' Top值使其从左上角沿窗体的对角线移动到窗体的右下角,
' 如此往复从而实现动画。
Option Explicit
Private flag As Integer
Private Sub Form_click()
Timer1.Enabled = True
End Sub
Private Sub Form_Load()
Timer1.Interval = 1000
Label1.Left = 0
Label1.Top = 0
Label1.BackColor = vbBlack
Timer1.Enabled = False
End Sub
Private Sub Timer1_Timer()
If Label1.Left < Left + Width And Label1.Top <= Top + Height Then Label1.Left = Label1.Left + 100 * Width / Height
Label1.Top = Label1.Top + 100
Else
Label1.Left = Left
Label1.Top = Top
End If
If flag = 0 Then
Label1.BackColor = vbBlue
'**********FOUND**********
flag = 0
ElseIf flag = 1 Then
Label1.BackColor = vbGreen
'**********FOUND**********
flag = 1
Else
Label1.BackColor = vbRed
'**********FOUND**********
flag = 2
End If
End Sub
答案:=======(答案1)=======flag = 1
=======(答案2)=======flag = 2
=======(答案3)=======flag = 0
三、程序设计共1题(共计30分)第1题(30.0分)题号:137
'【程序设计】
'题目:(事件)双击窗体。
' (响应)把一元钞票换成一分、二分和五分的硬币
' (每种至少有一枚),求出其所有的换法,
' 把结果输出在窗体上。
' 将所有的换法的数目存入变量N中
答案:----------------------
Dim i, j, k As Integer
For i = 1 To 100
For j = 1 To 50
For k = 1 To 20
If ((i + 2 * j + k * 5) = 100) Then
Print (CStr(i))
Print (CStr(j))
Print (CStr(k))
n = n + 1
End If
Next
Next
Next
----------------------
四、VB窗体设计共1题(共计30分)第1题(30.0分)题号:66【窗体设计】
题目:建立如图所示的窗体,单击窗体时,窗体上显示
“新朋友,欢迎你”,双击窗体时,清除窗体上
显示的信息,本题窗体各属性默认。
------------------------------------------------
19一、程序填空共1题(共计20分)第1题(20.0分)题号:499 '【程序填空】
'功能:由筛选法求m以内的所以素数
'(1)把2--m以内的所有数放入筛中;
'(2)找筛中最小的素数,再筛中去掉该素数的所有倍数;
'(3)重复(2),直到要找的筛中的最小素数已超出m 的范围;
'(4)在Pictur1中打印筛中的素数。
'-------------------------------------------------------
Private Sub txtInput_KeyPress(KeyAscii As Integer)
Dim I As Integer, j As Integer
Dim prime(1000) As Integer
Dim m As Integer, p As Integer
Dim flag As Boolean
If KeyAscii = 13 Then
'**********SPACE**********
m = Val(【?】)
For I = 2 To m - 1 '筛子充满数
prime(I) = 1
Next I
p = 2
flag = True
Do
Do While p < m And prime(p) = 0 '找筛子中最小的数
'**********SPACE**********
p = 【?】
Loop
'**********SPACE**********
If p = m Then flag = 【?】 '筛子中的数全求过结束
For I = p + p To m - 1 Step p '在筛子中清除该素数的倍数
prime(I) = 0
Next I
p = p + 1
Loop While flag = True
I = 0
For j = 2 To m - 1 '打印素数
'**********SPACE**********
If 【?】 Then
Picture1.Print j;
I = I + 1
If I Mod 5 = 0 Then Picture1.Print '一行打印5个素数 '**********SPACE**********
【?】
Next j
End If
End Sub
答案:=======(答案1)=======txtInput.text
=========或=========txtInput
=======(答案2)=======p+1
=========或=========1+p
=======(答案3)=======False
=========或========= 0
=======(答案4)=======Prime(j)<>0
=======(答案5)=======End If
二、程序改错共1题(共计20分)第1题(20.0分)题号:495 '【程序改错】
'题目:移动数组元素,将数组中某个位置的元素移动到指定位置.
Option Explicit
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 N
a(i) = a(i + 1)
Next i
Else
T = a(L1)
a(L1) = a(L2)
'**********FOUND**********
a(L1) = T
End If
End Function
Private Sub Form_Click()
Dim a%(1 To 5)
Dim i As Integer
For i = 1 To 5
a(i) = i
Next
fMove a, 1, 5
For i = 1 To 5
Print a(i)
Next
End Sub
答案:=======(答案1)=======N = UBound(a)
=======(答案2)=======a(N + 1) = a(L1)
=======(答案3)=======a(L2) = T
三、程序设计共1题(共计30分)第1题(30.0分)题号:154
'【程序设计】
'题目:(事件)单击窗体。
' (响应)求100以内偶数的和,并将结果输出在窗体上。
' 将结果存入变量SUM中
答案:----------------------
Dim i As Integer
For i = 1 To 100
If i Mod 2 = 0 Then
sum = sum + i
End If
Next
Print sum
----------------------
四、VB窗体设计共1题(共计30分)第1题(30.0分)题号:57
【窗体设计】
题目:请按照题目要求设计指定的窗体。
建立如图1所示界面。
---------------------------------------------------------------------
1、添加控件
框架(Frame1,Frame2)2个。
在框架(Frame1)内添加如下控件:
文本框(text1,text2,text3,text4,text5,text6,text7,text8)8个。
标签(label1,label2,label3,label4,label5,label6,label7,label8)8个。
在框架(Frame1)下面的位置添加命令按钮(command1,command2)2个。
在框架(Frame2)内添加如下控件:
文本框(text9,text10)2个。
标签(label9,label10,label11,label12)4个。
列表框(List1)1个。
2、窗体设置
窗体标题为“学生成绩统计”。
3、框架设置
框架(Frame1)标题设置为“学生成绩统计”。
框架(Frame2)标题设置为“分数段统计”。
4、文本框设置
将所有的文本框控件的内容设置为空。
5、标签设置
标签(label1)显示为“总人数:”。
标签(label2)显示为“最高分:”。
标签(label3)显示为“及格率:”。
标签(label4)显示为“请输入及格分数线:”。
标签(label5)显示为“平均分:”。
标签(label6)显示为“最低分:”。
标签(label7)显示为“优秀率:”。
标签(label8)显示为“请输入优秀分数线:”。
标签(label9)显示为“从第一个到N各学生的成绩:”。
标签(label10)显示为“各分数段人数:”。
标签(label11)显示为“0--59分人数:”。
标签(label12)显示为“60--100分人数:”。
6、命令按钮设置
命令按钮(command1)标题设置为“开始”。
命令按钮(command2)标题设置为“统计”。
20一、程序填空共1题(共计20分)第1题(20.0分)题号:604 '【程序填空】
'功能:要求在Text1中输入一段字符,选中“大写转为小写小写转为大写”,'单击转换按钮后,Text2显示大小写相反的字符串;选中“全部小写”,
'单击转换按钮后,Text2显示全部小写的字符串;
'选中“全部大写”,单击转换按钮后,Text2显示全部大写的字符串。
'-------------------------------------------------------
Private Sub Command1_Click()
Dim n As Integer, k As Integer, ch As String, a As String
'**********SPACE**********
n = Len(【?】)
ch = ""
For k = 1 To n
'**********SPACE**********
a = Mid(Text1.Text,【?】,1 )
If Option1.Value = True Then
If a >= "a" And a <= "z" Then
ch = ch + UCase(a)
ElseIf a >= "A" And a <= "Z" Then
ch = ch + LCase(a)
Else
ch = ch + a
End If
End If
If Option2.Value = True Then
ch = UCase(Text1)
End If
If Option3.Value = True Then
ch = LCase(Text1)
'**********SPACE**********
【?】
Text2 = ch
Next k
End Sub
答案:=======(答案1)=======Text1
=========或========= text1.text
=======(答案2)======= K ======或======= k% ====(答案3)===== end if 二、程序改错共1题(共计20分)第1题(20.0分)题号:145
'【程序改错】
'题目:该程序的功能是求出100到200之间的全部素数,
' 并且按每行4个、每个数据之间有10个空格的格
' 式输出。
'------------------------------------------------
Option Explicit
Private Sub Form_Click()
Dim k As Integer, i As Integer, j As Integer
k = 0
For i = 100 To 200
'**********FOUND**********
For j = 1 To i - 1
If i Mod j = 0 Then Exit For
Next j
If j = i Then
'**********FOUND**********
Print i; Tab(10);
k = k + 1
'**********FOUND**********
If k Mod 5 = 0 Then Print ;
End If
Next i
End Sub
答案:=======(答案1)===== For j = 2 To i - 1
=========或=========For j = 2 To -1 + i
=======(答案2)=======Print i; Space(10);
=========或=========Print i; Spc(10);
=======(答案3)=======If k Mod 4 = 0 Then Print
=========或=========If 0 = k Mod 4 Then Print
=========或=========if k/4 = k \4 then Print
=========或=========if k\4 = k/4 then Print
=========或=========if k/4 = int(k/4) then Print
三、程序设计共1题(共计30分)第1题(30.0分)题号:40 '【程序设计】
'题目:编写函数fun,函数的功能是:判断一个字符是
'字母字符、数字字符还是其他字符,并做相应的显示。
'字母字符显示字符串"字母"
'数字字符显示字符串"数字"
'其他字符显示字符串"其他"
'要求使用IF语句来实现。
'-------------------------------------------------
'注意:请在指定的事件内编写代码
' 代码只能写在两行标识之间
' 不得修改已有代码
'保存时不得修改窗体和工程文件的名称及路径,否则后果自负。
'-------------------------------------------------
Private Function fun(n As String) As String
'**********Program**********
'********** End **********
End Function
Private Sub Form_Load()
Show
Print fun("A")
Print fun("9")
Print fun("&")
NJIT_VB
End Sub
Private Sub NJIT_VB()
Dim i As Integer
Dim l As Integer
Dim a(10) As String * 1
Dim fIn As Integer
Dim fOut As Integer
fIn = FreeFile
Open App.Path & "\in.dat" For Input As #fIn
fOut = FreeFile
Open App.Path & "\out.dat" For Output As #fOut
For i = 1 To 10
Line Input #fIn, a(i)。