VB上机程序调试题_题目及参考答案
国家二级VB机试(上机操作)模拟试卷532(题后含答案及解析)

国家二级VB机试(上机操作)模拟试卷532(题后含答案及解析)题型有:1.vbp,窗体文件名为sjt1.frm。
(2)在窗体上画两个文本框,名称分别为Text1、Text2。
请设置适当的控件属性,并编写适当的事件过程,使得在运行时,如果在Text1中每输入一个字符,则显示一个“*”,同时在Text2中显示输入的内容(如图1-155所示)。
程序中不得使用任何变量。
注意:存盘时必须存放在考生文件夹下,工程文件名为sjt2.vbp,窗体文件名为sjt2.frm。
正确答案:第1小题【操作步骤】步骤1:新建一个“标准EXE”工程,利用菜单设计器如表2-63在窗体上建立一个二级菜单。
步骤2:按要求将文件保存至考生文件夹中。
第2小题【操作步骤】步骤1:新建一个“标准EXE”工程。
步骤2:在窗体Form1中加入两个文本框,并分别设置它们的相关属性,属性及值如表2-64所示。
步骤3:双击Text1文本框,打开代码编辑窗口,在Text1的Change事件过程中输入如下代码:参考代码:Private Sub Text1_Change( ) Text2.Text = Text1.Text End Sub 步骤4:按要求将文件保存至考生文件夹中。
简单应用题2.(1)在名称为Form1的窗体上画两个图片框,名称分别为P1、P2,高度均为1900,宽度均为1700,通过属性窗口把图片文件pic1.bmp 放入P1中,把图片文件pic2.jpg 放入P2 中;再画一个命令按钮,名称为C1,标题为“交换图片”(如图1-156所示)。
编写适当的事件过程,使得在运行时,如果单击“交换图片”按钮,则在P1中显示pic2.jpg,在P2中显示pic1.bmp。
程序中不得使用任何变量,也不能使用第三个图片框。
注意:存盘时必须存放在考生文件夹下,工程文件名为sjt3.vbp,窗体文件名为sjt3.frm。
(2)在考生文件夹下有一个工程文件sjt4.vbp,请在窗体上画两个复选框,名称分别为Ch1、Ch2,标题分别为“程序设计”、“数据库原理”;然后画一个文本框,名称为Text1;再画一个命令按钮,名称为C1,标题为“确定”(如图1-157所示)。
vb上机考试习题以及答案

VB上机考试1、利用随机函数产生25个100到999之间的整数,构成5?5的矩阵,输出该矩阵。
Dim a(1 To 5, 1 To 5)Private Sub Form_Click()RandomizeFor i = 1 To 5For j = 1 To 5a(i, j) = Int(Rnd * (999 - 100 + 1) + 100)Print a(i, j);Next jPrintNext iEnd Sub2、利用随机函数产生25个10到99之间的整数,求其平均值(要求保留3位小数,第4位四舍五入)。
Private Sub Form_Click()For i = 1 To 25a = Int(Rnd * (99 - 10 + 1) + 10)Print a;s = s + aNext iPrintAvg = s / 25Print AvgEnd Sub3、在窗体上按下鼠标的右键,记录其坐标。
Private Sub Form_Load()= 1= 2End SubPrivate Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 2 Then= X & "," & YEnd IfEnd Sub4、利用随机函数产生25个10到99之间的整数,按从小到大的顺序显示。
Dim a(1 To 25)Private Sub Form_Click()ClsFor i = 1 To 25a(i) = Int(Rnd * (99 - 10 + 1) + 10)Print a(i);Next iPrintFor i = 1 To 25 - 1For j = 1 To 25 - iIf a(j) > a(j + 1) Then tmp = a(j): a(j) = a(j + 1): a(j + 1) = tmp Next jNext iFor i = 1 To 25Print a(i);Next iEnd Sub5、利用随机函数产生50个 [1,6] 之间的整数, 分别统计出1的个数,2的个数,3的个数,4的个数,5的个数和6的个数。
国家二级VB机试(上机操作)模拟试卷340(题后含答案及解析)

国家二级VB机试(上机操作)模拟试卷340(题后含答案及解析) 全部题型 2. 基本操作题 3. 简单应用题 4. 综合应用题基本操作题1.(1)在名称为Form1、标题为“欢迎”的窗体上画1个名称为Label1的标签,其标题内容为“欢迎使用本系统”,标题文字字体和字号分别为“宋体”、“三号”,标签大小能根据标题内容自动调整,效果如图3-40所示。
程序执行时,窗体的最大化按钮不可用,请设置相应属性。
注意:存盘时必须存放在考生文件夹下,工程文件名为sjtl.vbp,窗体文件名为sj1.frm。
(2)在名称为Form1的窗体上,画1个名称为Label1的标签,其标题为“横坐标X”,且能根据标题内容自动调整标签的大小;再画1个名称为Text1的文本框,其中的文字显示为空白:再画1个名称为Picture1的图片框,大小适中即可。
要求:编写适当的事件过程,使得程序运行时,如果鼠标在图片框中移动,则能在文本框Text1中显示鼠标在图片框中的当前位置的横坐标,运行情况如图3-41所示。
注意:要求程序中不得使用变量,事件过程中只能写一条语句。
存盘时必须存放在考生文件夹下,工程文件名为sjt2.vbp,窗体文件名为sjt2.frm。
正确答案:(1)步骤1:新建一个“标准EXE”工程,在窗体Form1中加入一个标签控件。
按表4.27设置其相关属性。
步骤2:按要求将文件保存至考生文件夹中。
(2)步骤1:新建一个“标准EXE”工程,在窗体Form1中加入一个文本框、标签和图片框。
按表4-28设置其相关属性。
步骤2:在打开的代码编辑窗口中,编写图片框的的MouseMove事件代码。
参考代码:Private Sub Picture1 MouseMove(ButtonAs Integer,Shift As Integer,X AsSingle,Y As Single)Text1.Text=XEnd Sub 步骤3:按要求将文件保存至考生文件夹中。
VB调试题解答(07-3-17)

第四部分:上机程序调试题(改错或填空)(一)说明等级考试上机测试的程序调试题常常是在考生目录中给出一个标准模块程序Modify.BAS,要求根据题意修改该模块中的函数或过程,为检测所作修改是否正确,可以按照以下操作步骤进行调试:1.要求学生建立一工程,将这一模块添加到工程中。
如果你是通过双击标准模块程序Modify.BAS进入Visual Basic程序设计系统的,则首先需要添加一个窗体模块。
2.将该标准模块程序Modify.BAS代码中用---n---(n为1,2,3,4,5)部分删除后改为合适的内容或将用****错误n****标示的下一语句中的错误改正,并在窗体模块中编写代码(常常写在窗体的Click()事件中)调用标准模块中的sub过程或自定义函数(如果在标准模块程序中有多个过程或函数,要注意调用的先后顺序,否则得不到正确结果),调试运行程序,使其能输出正确结果。
3.按试题要求保存工程。
(二)程序调试题[题1] Modify.bas模块中的Transfer过程用于将一个十六进制整数转换为十进制整数;number函数过程用于将一个十六进制符号转换为数值。
Public Sub Transfer()Dim Hex As String '十六进制数Dim Dec As Double '十进制数Dim temp As StringDim i As IntegerDim n As IntegerHex = InputBox("输入一个十六进制整数")'****** 错误1 *******n = Val(Hex)‘n=len(Hex)i = 0Do'****** 错误2 *******temp = Mid(Hex, i, 1)‘temp=Mid(Hex,n-i,1)'****** 错误3 *******Dec = Dec + number * 16 ^ iDec=Dec+number(temp)*16^ii = i + 1Loop While i < n'****** 错误4 ******Form1.Print str(Hex) & "转换为十进制数为" & str(Dec)‘Form1.print Hex & “转换为十进制数为” & str(Dec)End SubPublic Function number(str As String) As IntegerSelect Case strCase "a", "A"number = 10Case "b", "B"number = 11Case "c", "C"number = 12Case "d", "D"number = 13Case "e", "E"number = 14Case "f", "F"number = 15Case Elsenumber = Val(str)End SelectEnd Function[题2] Modify.bas模块中的BubbleSort过程是冒泡排序法;GenerateData过程产生个[1,20]之间互不相同的随机整数;Swap过程交换两个变量的数值。
国家二级VB机试(上机操作)模拟试卷300(题后含答案及解析)

国家二级VB机试(上机操作)模拟试卷300(题后含答案及解析) 全部题型 2. 基本操作题 3. 简单应用题 4. 综合应用题基本操作题1.请根据以下各小题的要求设计Visual Basic应用程序(包括界面和代码)。
(1)在名称为Form1的窗体上建立一个如下表所示的下拉菜单,其中“设置”菜单项为灰色(不可用),如图3—137所示。
注意:存盘时必须存放在考生文件夹下,工程文件名为sjt1.vbp,窗体文件名为sjt1.frm。
(2)在名称为Form1的窗体上画一个名称为Hscroll1的水平滚动条,其最大刻度为100,最小刻度为0;再画两个单选按钮,名称分别为Option1、Option2,标题分别为“最大值”、“最小值”,且都未选中。
再通过属性窗口设置适当属性使得程序刚运行时,焦点在滚动条上(如图3—138所示)。
请编写适当的事件过程,使得程序运行时,单击“最大值”单选按钮,则滚动条上的滚动框移到最右端;单击“最小值”单选按钮,则滚动框移到最左端。
注意:程序中不得使用变量,事件过程中只能写一条语句。
存盘时必须存放在考生文件夹下,工程文件名为sjt2.vbp,窗体文件名为sji2.frm。
正确答案:第1小题步骤1:新建一个“标准EXE”工程,利用菜单设计器按表4—81在窗体上建立一个二级菜单。
步骤2:按要求将文件保存至考生文件夹中。
第2小题步骤1:新建一个“标准:EXE”工程,按表4—82在窗体中画出控件并设置其相关属性。
步骤2:打开代码编辑窗口,编写两个单选按钮的单击事件过程。
参考代码:Private Sub Option1_Click( )HScroll1.Value=100End SubPrivate Sub Option2_Click( )HScroll1.Value=0End Sub步骤3:按要求将文件保存至考生文件夹中。
解析:第1小题:本题只需按题目要求利用VB菜单设计器建立一个二级菜单。
国家二级VB机试(上机操作)模拟试卷517(题后含答案及解析)

国家二级VB机试(上机操作)模拟试卷517(题后含答案及解析)题型有:1.vbp,窗体文件名为sjt1.frm。
(2)在名称为Form1的窗体上建立一个名称为“menu1”、标题为“文件”的弹出式菜单,含有三个菜单项,它们的标题分别为“打开”、“关闭”、“保存”,名称分别为“m1”、“m2”、“m3”。
再画一个命令按钮,名称为“Command1”、标题为“弹出菜单”。
要求:编写命令按钮的Click事件过程,使程序运行时,单击“弹出菜单”按钮即可弹出“文件”菜单(如图1-89所示)。
注意:程序中不得使用变量,事件过程中只能写一条语句。
存盘时必须存放在考生文件夹下,工程文件名为sjt2.vbp,窗体文件名为sjt2.frm。
正确答案:第1小题【操作步骤】步骤1:新建一个“标准EXE”工程,如表2-25在窗体中画出控件并设置其相关属性。
步骤2:按要求将文件保存至考生文件夹中。
第2小题【操作步骤】步骤1:新建一个“标准EXE”工程,选择【工第2小题具】→【菜单编辑器】命令,打开菜单设计器,如表2-26中的设置建立菜单项。
步骤2:在窗体上画一个名为Command1,标题为“弹出菜单”的命令按钮,打开代码编辑窗口,编写“弹出菜单”按钮的单击事件过程。
参考代码:Private Sub Command1_Click( ) Form1.PopupMenu menu1 End Sub 步骤3:按要求将文件保存至考生文件夹中。
简单应用题2.(1)在考生目录下有一个工程文件sjt3.vbp,包含了所有控件和部分程序。
程序运行时,在文本框中每输入一个字符,则立即判断:若是小写字母,则把它的大写形式显示在标签Label1中;若是大写字母,则把它的小写形式显示在Label1中;若是其他字符,则把该字符直接显示在Label1中。
输入的字母总数则显示在标签Label2 中,如图1-90所示。
要求:去掉程序中的注释符,把程序中的?改为正确的内容。
国家二级VB机试(上机操作)模拟试卷222(题后含答案及解析)

国家二级VB机试(上机操作)模拟试卷222(题后含答案及解析) 全部题型 2. 基本操作题 3. 简单应用题 4. 综合应用题基本操作题1.请根据以下各小题的要求设计Visual Basic应刚程序(包括界面和代码)。
(1)在名称为Forml、标题为“图片”的窗体上画一个名称为Imagel的图像框,其高为2500、宽为2000。
请通过属性窗口设置适当属性,装入考生只录下的图片文件picl.jpg,并使图片适应图像框的大小(如图2.135所示)。
注意:存盘时必须存放在考生文件夹下,工程文件名为sjtl.vbp,窗体文件名为sjtl.frm。
(2)在名称为Forml的窗体上画一个名称为Label1、标题为“口令”的标签;画一个名称为Textl的文本框;再画三个命令按钮,名称分别为Commandl、Command2、Command3,标题分别为“显示口令”、“隐藏口令”、“重新输入”。
程序运行时,在‘Text1中输入若干字符,单击“隐藏口令”按钮,则只显示同样数量的“*”,如图2.136(b)所示;单击“显示口令”按钮,则显示输入的字符,如图2.136(a)所示,单出“重新输入”按钮,则清除Textl中的内容,并把光标定位到Textl中。
要求:请画出所有控件,编写命令按钮的Click事件过程,程序中不得使用变量,在“显示口令”按钮、“隐藏口令”按钮的事件过程中只能写一条语句。
存盘时必须存放在考生文件夹下,工程文件名为sit2.vbp,窗体文件名为sit2.fhn。
正确答案:第l小题【操作步骤】步骤1:新建一个“标准EXE”工程,如表3.71在窗体中必出控件并设置其相关属性。
步骤2:按要求将文件保存至考生文件夹中。
第2小题【操作步骤】步骤1:新建一个“标准EXE”工程,如表3.72在窗体中画出控件并设置其相关属性。
步骤2:在代码编辑窗口,分别编写三个按钮的单击事件过程。
参考代码:Private Sub Commandl C1 ick( ) Textl.PasswordChar=””End Sub Prirate Sub Command2 C1ick( ) Textl.PasswordChar=“*”End Slab Private Sub Command3一Click( ) Textl=“”Text1.SetFocuS End Sub 步骤3:按要求将文件保存至考生文件夹中。
全国计算机VB上机题库及答案(全)

全国计算机等级考试二级VB上机考试新版题库及解析【2013年3月考试专用】考前复习必看资料:PiaoMo整理—1—第一套上机题题干166一、基本操作题请根据以下各小题的要求设计Visual Basic 应用程序(包括界面和代码)。
(1)在名称为Form1的窗体上建立一个名称为Command1的命令按钮数组,含三个命令按钮,它们的Index 属性分别为0、1、2,标题依次为"是"、"否"、"取消",每个按钮的高、宽均为300、800。
窗体的标题为"按钮窗口"。
运行后的窗体如图1所示。
注意:存盘时必须存放在考生文件夹下,工程文件名为sjt1.vbp ,窗体文件名为sjt1.frm 。
图1【操作步骤】步骤1:新建一个"标准EXE"工程,如表1在窗体中用"复制"和"粘贴"画出控件数组并设置属性。
表1(2)在名称为Form1的窗体上画一个名称为Sha1的形状控件,然后建立一个菜单,标题为"形状",名称为shape0,该菜单有两个子菜单,其标题分别为"正方形"和"圆形",其名称分别为shape1和shape2,如图2所示,然后编写适当的程序。
程序运行后,如果选择"正方形"菜单项,则形状控件显示为正方形;如果选择"圆形"菜单项,则窗体上的形状控件显示为圆形。
注意:程序中不能使用变量,每个事件过程中只能写一条语句。
保存时必须存放在考生文件夹下,工程文件名为sjt2.vbp ,窗体文件名为sjt2.frm 。
图2【操作步骤】步骤1:新建一个"标准EXE"工程,在窗体Form1中画一个名为Sha1的形状控件。
步骤2:选择【工具】→【菜单编辑器】命令,打开菜单设计器,如表2中的设置建立菜单项。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二部分VB上机考试模拟试题一、程序调试题(改错或填空)(二)程序调试题[题1] Modify.bas模块中的getanswer过程是用于计算一元二次方程的根,并将结果输出来。
Option ExplicitPublic Sub getanswer()'该过程是用于计算一元二次方程的根,并将结果输出来。
Dim dalt!, a#, b#, c#a = InputBox("输入系数a")b = InputBox("输入系数b")c = InputBox("输入系数c")dalt = b * b - 4 * a * cIf ----1---- dalt >0 thendalt = Sqr(dalt)MsgBox Format((-b + dalt) / 2 / a), "0.00" + Chr(13) + Chr(10) + Format((-b - dalt) / 2 / a, "0.00")Elseif ---2---- dalt =0 thenMsgBox Format(-b / 2 / a, "0.00") + Chr(13) + Chr(10) + Format(-b / 2 / a, "0.00")Elsedalt= ---3---- Sqr(-dalt)MsgBox Format((-b + dalt) / 2 / a, "0.00") + "+i" + Chr(13) + Chr(10) + Format((-b - dalt) / 2 / a, "0.00") + "-i"End IfEnd Sub[题2] 打印输出一菱形图案。
Public Sub prt()'打印由#组成的菱形图案' #' ###' #####' #######' #########' #######' #####' ###Dim start As String '每行起始空格数Dim count As Integer '每行#个数For i = 1 To 9If i <= 5 Then'------1------ start=space(21-i)count = 2 * i - 1Elsestart = Space(11 + i)'-------2------ count=19-2*iEnd If'------3------ form1.print start;For j = 1 To countForm1.Print "#";Next j'------4------ form1.printNext i [题3] 过程pyramid用以打印一个数字金字塔,请在横线上填入必要的内容(将横线删除掉后填入正确的内容),使其完整。
Option ExplicitPublic Sub pyramid()'打印数字金字塔' 1' 222' 33333' 4444444' 555555555' 6666666' 77777' 888' 9Dim i As IntegerDim j As IntegerDim start As String '每行起始空格数Dim num As Integer '每行数字个数For i = 1 To 9If i <= 5 Thenstart = Space(20 - i)num = 2 * i - 1Elsestart= '------1------ Space(10 + i)num= '------2------ 2 * (10-i) - 1End IfForm1.Print start;For j = 1 To num'------3------ form1.print trim(str(i));Next j'------4------ form1.printNext iEnd Sub[题4] 改错。
Option ExplicitPublic Sub prt()'打印由数字组成的如下所示金字塔图案' 9' 888' 77777' 6666666' 555555555' 44444444444' 3333333333333' 222222222222222' 11111111111111111Dim i As Integer, j As Integer'****** 错误1 ******For i = 9 To 1 step -1Form1.Print Space(i);'****** 错误2 ******For j = 1 To 2 *(10- i) - 1'****** 错误3 ******Form1.Print trim(str(i));Next jForm1.PrintNext i[题5] 计算s=7+77+777+……+(n个7组成的数)。
Public Sub total()'计算s=7+77+777+……+(n个7组成的数)Const n = 20Dim s As SingleDim i As IntegerFor i = 1 To ns=s+ '-------1------number(i)Next iForm1.Print "s="; sEnd SubPublic Function number('---2--- n as integer ) As Single Dim i As Integernumber = 0For i = 1 To n'---3---number=number*10+7 number=value(number & 7) Next i[题6] Modify.bas模块中的过程eat用于计算猴子共摘了多少个桃子。
Option ExplicitPublic Sub eat()'该过程是用于计算猴子共摘了多少个桃子。
'(小猴在一天摘了若干个桃子,当天吃掉了一半多一个;'第二天吃了剩下的一半多一个;'以后每天都吃尚存的一半零一个,到第7天早上要吃时只剩下一个了),'并将结果输出来。
Dim n%, i%, x%x = 1for i=6 to ---1----1 step ----2---- -1-----3---- x=2*(x+1)Next iForm1.Print "共有"; x; "个桃子"[题7] Modify.bas模块中的Prime过程是求出100到200之间所有的素数,并打印出来。
Public Sub prime()'打印出100到200之间所有的素数,并统计素数的个数Dim i As IntegerDim j As IntegerDim k As IntegerDim t As Integer '统计素数的个数Dim b As BooleanFor i = 100 To 200b = True------ 1 -------k=2j = Int(Sqr(i))Do While k <= j And bIf i Mod k = 0 Then------ 2 ------ b=falseEnd If ------ 3 ------ k=k+1Loopif ------ 4 ------- b b=true thent = t + 1Form1.Print iEnd IfNext iForm1.Print "t="; tEnd sub[题8] 过程even用以验证一个偶数可以分解为两个素数之和;Isprime用以判断x是否是素数。
请在横线上填入必要的内容(将横线删除掉后填入正确的内容),使其完整。
Public Sub even()'从键盘输入一个大于4的偶数,将它所有的不重复的分解式求出Dim x As IntegerDim i As Integer'--1-- do while x<4 or x mod 2<>0do while x<4 or x mod 2=1'保证x是大于4的偶数x = Val(InputBox("x="))LoopFor i = 3 To x / 2 Step 2 '在不大于x的奇数中找素数 '------2------ if isprime(i) and isprime(x-i)Form1.Print x; "="; i; "+"; x - iEnd IfNext iEnd SubPublic Function Isprime(x As Integer) As BooleanDim i As Integer'------3------ isprime=trueFor i = 2 To x - 1'------4------ if x mod i=0 thenIsprime = FalseExit ForEnd IfNext iEnd Function[题9] Modify.bas模块中的find过程是用于找出被3、5、7除,余数为1的最小的5个整数,并将结果输出来。
Option ExplicitPublic Sub find()'该过程是用于找出被3、5、7除,余数为1的最小的5个整数,并将结果输出来。
Dim countN%, n%countN = 0n = 1Don=----1---- n+1if --2---- n mod 3=1 and n mod 5=1 and n mod 7=1then Form1.Print ncountN = countN + 1End IfLoop ----3----- until countN=5 while countN<5End Sub[题10] Modify.bas模块中的过程rn通过调用函数isLeapYear判断某年是否是闰年,若是,则打印"今年是闰年",否则打印"今年不是闰年"。