上机考试不用愁,2012年全国计算机二级VB上机考试题库及答案word版本
- 格式:doc
- 大小:3.40 MB
- 文档页数:159
Private Sub Command1_Click()Dim n As Integer, i As Integer, s As Double n = Val(Text1.Text)s = 0For i = 1 To ns = s + i ^ 2Next iText2.Text = sEnd SubPrivate Sub Command1_Click()''' 不得删除本行注释Dim i As IntegerOpen App.Path & "\" & "yssj.txt" For Input As #1For i = 1 To 10Input #1, a(i)Next iClose #1End SubPrivate Sub Command2_Click()''' 不得删除本行注释Dim i As IntegerText1.Text = ""For i = 1 To 10If a(i) Mod 3 = 2 ThenText1.Text = Text1.Text & Str(a(i)) End IfNext iEnd SubPrivate Sub command1_Click()'''不得删除本行注释Dim a As Integer, b As Double, i As Integer, n As Integer n = Val(Text1.Text)a = 0b = 0For i = 1 To na = a + ib = b + aNext iText2.Text = bEnd SubPrivate Sub Command1_Click()'''不得删除本行注释Dim i%, xh$, xm$Open App.Path & "\" & "Xhxm.txt" For Output As #1For i = 1 To 3xh = InputBox("请输入学号")xm = InputBox("请输入姓名")Write #1, xh, xmNext iClose #1End Sub Private Sub Command2_Click()'''不得删除本行注释Dim s as stringOpen App.Path & "\" & "Xhxm.txt" For Input As #2Do While Not EOF(2)Line Input #2, sText1.Text = Text1.Text & s & vbCrLf LoopClose #2End SubPrivate Sub Command1_Click()‘”读取文件”按钮代码'''不得删除本行注释Dim st As StringText1.Text = ""Open App.Path & "\" & “jmwb.txt" For Input As #1While Not EOF(1)Input #1, stText1.Text = Text1.Text + st + vbCrLf WendClose #1End Sub Private Sub Command2_Click()Dim s As String, co As String, c As String, Dim n As Integer, i As Integer, p As Integer s = Trim(Text1.Text)n = Len(s)co = ""For i = 1 To nc = Mid(s, i, 1)p = Asc(c) + 5co = co + Chr(p)Next iText2.Text = coEnd SubPrivate Sub command1_click()'''不得删除本行注释For N = 1 To 15x(N) = Int(Rnd * 91 + 10)Text1.Text = Text1.Text + Str(x(N)) Next NEnd Sub Private Sub Command2_Click()'''不得删除本行注释Dim m As Integer, K As IntegerFor N = 1 To 15For m = N + 1 To 15If x(m) > x(N) ThenK = x(N)x(N) = x(m)x(m) = KEnd IfNext mText2.Text = Text2.Text + Str(x(N)) Next NEnd SubPrivate Sub Command1_Click()Dim char As String * 1char = Trim(Text1.Text)If Not IsNumeric(char) ThenIf (Asc(char) >= 65 And Asc(char) <= 90) Or _(Asc(char) >= 97 And Asc(char) <= 120) ThenLabel1.Caption = "输入的是字母"Else: Label1.Caption = "输入的是其它符号"End IfElse: Label1.Caption = "输入的是数字"End IfEnd SubPrivate Sub Command1_Click()Text1.Text = UCase(Text1.Tag)End SubPrivate Sub Command2_Click()Text1.Text = LCase(Text1.Tag)End SubPrivate Sub Command3_Click()Text1.Text = Text1.TagEnd SubPrivate Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)'对于文本框控件中输入的每次键盘按键弹起事件做一次文本内容保存Text1.Tag = Text1.Text '用Text1.Tag属性作为保存textbox控件文本内容的临时存储区End SubPrivate Sub command1_Click()''' 不得删除本行注释Dim a As Integer, b As Integer, c As Integer Dim max As Integer, min As Integera = Val(Text1.Text)b = Val(Text2.Text)c = Val(Text3.Text)max = a + b + Abs(a - b)max = max / 2min = a + b - Abs(a - b)min = min / 2max = max + c + Abs(max - c)max = max / 2min = min + c - Abs(min - c)min = min / 2Text4.Text = maxText5.Text = minEnd SubPrivate Sub Command1_Click()Dim a As IntegerIf Not IsNumeric(Text1.Text) ThenMsgBox "请输入数字!", 48, "输入的不是数字"Else a = Val(Text1.Text)If (a Mod 4 = 0 And a Mod 100 <> 0) Or a Mod 400 = 0 ThenText2.Text = "闰年"Else: Text2.Text = "非闰年"End IfEnd ifText1.SetFocusText1.SelStart = 0Text1.SelLength = Len(Text1.Text)End SubPrivate Sub Command1_Click()''' 不得删除本行注释Dim n As Integer, i As Integern = Val(Text1.Text)If n < 0 Or (Not IsNumeric(Text1.Text)) Then MsgBox "请输入正整数", 48, "输入的不是正整数" Open App.Path & "\" & "jfwj.txt" For Output As #1For i = 1 To nPrint #1, String(i, "*")Next iClose #1End SubPrivate Sub Command1_Click()''' 不得删除本行注释Dim i As IntegerFor i = 1 To 200If i Mod 3 = 0 And i Mod 7 = 0 ThenText1.Text = Text1.Text + Str(i)End IfNextEnd SubPrivate Sub Command1_Click()''' 不得删除本行注释Dim sum As Single, i As IntegerOpen App.Path & "\" & "Jsdata.txt" For Input As #1 For i = 1 To 15Input #1, Arr(i)Next iClose #1If Op1 ThenT1.Text = AaaEnd IfIf Op2 ThenT1.Text = BbbEnd IfEnd SubPrivate Sub Command1_Click()''' 不得删除本行注释Dim i As Integer, n As Integer, s As Integern = Val(Text1.Text)If n < 0 Or (Not IsNumeric(Text1.Text)) Then MsgBox "请输入正整数", 48, "输入的不是正整数" s = 0For i = 1 To nIf i Mod 3 = 0 Thens = s + iEnd IfNext iText2.Text = sEnd SubPrivate Sub Command1_Click()''' 不得删除本行注释Dim a As Integera = Val(Text1.Text)Text2.Text = zh(a)‘ zh过程在原本的程序代码中已经有了~直接可用End SubPrivate Sub Command1_Click() ''' 不得删除本行注释Dim x As DoubleDim y As Doublex = Val(Text1.Text)If x < 10 Theny = x - 1ElseIf x < 20 Theny = 2 * x - 1Else: y = 3 * x - 1End IfText2.Text = yEnd SubPrivate Sub Command1_Click()''' 不得删除本行注释Text1.Text = ""Open App.Path & "\" & "zfwj.txt" For Input As #1For i = 1 To 10Input #1, a(i)Text1.Text = Text1.Text & " " & a(i)Next iClose #1End Sub Private Sub Command2_Click()''' 不得删除本行注释Dim t As StringText2.Text = ""For i = 1 To 10t = a(i)a(i) = a(10 - i + 1)a(10 - i + 1) = tText2.Text = Text2.Text & " " & a(i) Next iEnd SubPrivate Sub Command1_Click()Dim a As IntegerDim b As Integera = Val(Text1.Text)b = Val(Text2.Text)Label1.Caption = Int(Rnd() * (b - a + 1) + a) Label2.Caption = Int(Rnd() * (b - a + 1) + a) Label3.Caption = Int(Rnd() * (b - a + 1) + a)End SubPrivate Sub Command1_Click()Dim s as stringOpen App.Path & "\" & "Bdata.txt" For Input As #1 Do While Not EOF(1)Line Input #1, sText1.Text = Text1.Text + s + Chr(13) + Chr(10) LoopClose #1End SubPrivate Sub Command1_Click()'''不得删改本行注释Dim n As Integern = Val(Text1.Text)If n < 100 Or n > 999 ThenMsgBox "请输入三位正整数", , "输入出错" Else: Text2.Text = Int(n Mod 10)Text3.Text = Int((n Mod 100) / 10)Text4.Text = Int(n / 100)End IfEnd SubPrivate Sub Command1_Click()'产生按钮的代码i = List1.ListIndexFor i = 0 To 9List1.AddItem Int(90 * Rnd + 10)Next iEnd SubPrivate Sub Command3_Click() ’清除按钮的代码List1.ClearList2.ClearEnd Sub Private Sub Command2_Click()'''不得删改本行注释Dim n As Double, j As Integeri = List1.ListIndexFor i = List1.ListCount - 1 To 0 Step -1 n = Val(List1.List(i))If n Mod 2 = 1 ThenList2.AddItem nList1.RemoveItem iEnd IfNext iEnd SubPrivate Sub Command1_Click()‘”读入数据”按钮代码'''不得删除本行注释Dim st As StringText1.Text = ""Open App.Path & "\" & "yy.txt" For Input As #1While Not EOF(1)Input #1, stText1.Text = Text1.Text + st + vbCrLf WendClose #1End Sub Private Sub Command2_Click()'''不得删除本行注释Dim x As String, y As String * 1, n As Integer, i As Integer, p As Integerx = Trim(Text1.Text)n = Len(x)p = 0For i = 1 To ny = UCase(Mid(x, i, 1))If y >= "A" And y <= "Z" Thenp = p + 1End IfNext iLabel1.Caption = "共" & p & "个字母"End SubPrivate Sub Command1_Click()'''不得删除本行注释Dim n As Integer, k As Integer, i As IntegerFor n = 200 To 300k = Int(Sqr(n))For i = 2 To kIf n Mod i = 0 Then Exit ForNext iIf i > k Then List1.AddItem nNext nEnd Sub。
二级VB上机题库12试卷总分:100答题时间:120分钟第23套一、基本操作题参考答案:按要求解答即可参考答案:Private Sub clear_Click()Text2.Text = ""'或 Me.Text2.Text = ""'或 Form1.Text2.Text = ""End SubPrivate Sub copy_Click()Text2.Text = Text1.Text'或 Me.Text2.Text = Text1.Text Text1.Text前可以加Me或Form1'或 Form1.Text2.Text = Text1.Text Text1.Text前可以加Me或Form1End Sub二、简单应用题 [10分]1. [10分]2. Private Sub Op1_Click(Index As Integer)''给考生的程序:' Dim a As String, b As String, c As String' a = "我坐"' b = "我开"'' Select Case ?' Case 0' Text1.Text = a + Me.Op1(0).Caption + "去"' Case 1'' Text1.Text = ? + Me.Op1(1).Caption + "去"' Case 2' Text1.Text = b + Me.Op1(2).Caption + "去"' End Select[10分]参考答案:''正确程序:Dim a As String, b As String, c As Stringa = "我坐"b = "我开"Select Case IndexCase 0Text1.Text = a + Me.Op1(0).Caption + "去"Case 1Text1.Text = a + Me.Op1(1).Caption + "去"Case 2Text1.Text = b + Me.Op1(2).Caption + "去"End SelectEnd Sub'答案:'Index'a 或 "我坐" '提供给考生的程序Private Sub Form_Unload(Cancel As Integer)Open App.Path & "\out4.txt" For Output As #1Print #1, Op1.Value, Op2.Value, Op3.Value, Op4.Value, Text1.TextClose #1End Sub[10分]参考答案:'需要考生编写的程序Private Sub C1_Click()Text1.Text = "我是"If Op1.Value ThenText1.Text = Text1.Text + Op1.CaptionElseText1.Text = Text1.Text + Op2.CaptionEnd IfIf Op3.Value ThenText1.Text = Text1.Text + Op3.CaptionElseText1.Text = Text1.Text + Op4.CaptionEnd IfEnd Sub三、综合应用题参考答案:'正确的程序Private Sub Command1_Click()Dim a As Long, a1 As Long, a2 As LongDim k As Integer, n As IntegerFor k = 0 To 2If Op1(k).Value Thenn = Val(Op1(k).Caption)End IfNext ka1 = 1a2 = 1For k = 3 To na = a1 + a2a1 = a2a2 = aNext kText1.Text = aEnd Sub 第24套一、基本操作题参考答案: ' 给考生的程序Private Sub Form_Unload(Cancel As Integer)unload_subEnd Sub [10分] [10分]1.按要求解答即可2. [10分]参考答案:Private Sub Form_Click()Print "单击窗体"'或 Form1.Print "单击窗体"'或 Me.Print "单击窗体"End SubPrivate Sub P1_Click()P1.Print "单击图片框"'或 Form1.P1.Print "单击图片框"'或 Me.P1.Print "单击图片框"End Sub二、简单应用题1.''给考生的程序'Private Sub C1_Click()'' Timer1.Enabled = ?'End Sub'Private Sub Timer1_Timer()' Static a%' a = a + 1'' If P1.Top > P2.Top + P2.? Then' P1.Move P1.Left, P1.Top - 5 - a, P1.Width, P1.Height' Else'' Timer1.? = False' End If'End Sub[10分]参考答案:''正确程序Private Sub C1_Click()Timer1.Enabled = TrueEnd SubPrivate Sub Timer1_Timer()Static a%a = a + 1If P1.Top > P2.Top + P2.Height ThenP1.Move P1.Left, P1.Top - 5 - a, P1.Width, P1.HeightElseTimer1.Enabled = FalseEnd IfEnd Sub'答案:'True 或 非0数值'Height'Enabled2. Private Function xn(a As Single, m As Integer)Dim i As Integertmp = 1For i = 1 To m' tmp = ?Next'xn = ?End FunctionPrivate Sub Command1_Click()Dim n As IntegerDim i As IntegerDim t As SingleDim s, x As Singlen = Val(Text1.Text)Dim n As Integer Dim i As Integer'=================考生编写程序结束==================== Open App.Path & "\out5.txt" For Output As #1Print #1, Label3.Caption, Label4.CaptionClose #1End SubPublic Function prime(x As Integer)k = Int(Sqr(x) + 0.5)For i = 2 To kIf x Mod i = 0 Thenprime = FalseExit FunctionEnd IfNextIf i > k Then prime = TrueEnd Function[10分]参考答案:n = 0For k = 1 To 40If prime(arr(k)) ThenIf n = 0 Thenmini = arr(k)ElseIf mini > arr(k) Thenmini = arr(k)End IfEnd Ifn = n + 1End IfNextLabel3.Caption = Str(n)Label4.Caption = Str(mini)。
下面的138道题目,在二级考试中命中率极高。
一、选择题(1) 下面叙述正确的是(C)A. 算法的执行效率与数据的存储结构无关B. 算法的空间复杂度是指算法程序中指令(或语句)的条数C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止D. 以上三种描述都不对(2) 以下数据结构中不属于线性数据结构的是(C)A. 队列B. 线性表C. 二叉树D. 栈(3) 在一棵二叉树上第5层的结点数最多是(B) 注:由公式2k-1得A. 8B. 16C. 32D. 15(4) 下面描述中,符合结构化程序设计风格的是(A)A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B. 模块只有一个入口,可以有多个出口C. 注重提高程序的执行效率D. 不使用goto语句(5) 下面概念中,不属于面向对象方法的是 (D) 注:P55-58A. 对象B. 继承C. 类D. 过程调用(6) 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B)A. 可行性分析B. 需求分析C. 详细设计D. 程序编码(7) 在软件开发中,下面任务不属于设计阶段的是(D)A. 数据结构设计B. 给出系统模块结构C. 定义模块算法D. 定义需求并建立系统模型(8) 数据库系统的核心是(B)A. 数据模型B. 数据库管理系统C. 软件工具D. 数据库(9) 下列叙述中正确的是(C)A.数据库是一个独立的系统,不需要操作系统的支持B.数据库设计是指设计数据库管理系统C.数据库技术的根本目标是要解决数据共享的问题D.数据库系统中,数据的物理结构必须与逻辑结构一致(10) 下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A) 注:P108A. 内模式B. 外模式C. 概念模式D. 逻辑模式(11) 算法的时间复杂度是指(C)A. 执行算法程序所需要的时间B. 算法程序的长度C. 算法执行过程中所需要的基本运算次数D. 算法程序中的指令条数(12) 算法的空间复杂度是指(D)A. 算法程序的长度B. 算法程序中的指令条数C. 算法程序所占的存储空间D. 算法执行过程中所需要的存储空间(13) 设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出A. 349B. 350C. 255D. 351(14) 结构化程序设计主要强调的是(B)A.程序的规模B.程序的易读性C.程序的执行效率D.程序的可移植性(15) 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(D) 注:即第一个阶段A. 概要设计B. 详细设计C. 可行性分析D. 需求分析(16) 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
计算机二级考试VB练习题及答案计算机二级考试VB练习题及答案为了使广大考生在备战计算机等级考试时,更快的掌握相应知识点,下面是店铺搜索整理的计算机二级考试VB练习题及答案,供参考练习,预祝考生们考出自己理想的成绩!计算机二级考试VB练习题及答案1.以下程序是求最大公约数和最小公倍数的程序,在【】处填写合适的关系运算符。
Private Sub Form_Click( )Dim m1, n1, m, n, r As Integern1 = InputBox("输入自然数n", "输入数")m1 = InputBox("输入自然数m", "输入数")n = n1m = m1If m<n p="" then<="">t = m: m = n: n = tEnd Ifr = m Mod nDo While r 【<>】 0m = nn = rr = m Mod nLoopPrint "最大公约数=", nPrint "最小公倍数= ", m1 * n1 / nEnd Sub2.下面是求100以内素数的程序。
Private Sub Command1_Click( )Dim i As Integer, m As Integer, tag As BooleanFor m = 2 To 100tag = TrueFor i = 2 To m - 1If m Mod 【i】 = 0 Then tag = FalseNext iIf tag Then Print mNext mEnd Sub3.下面是求100以内素数的程序,下面说法正确的是(A)(单)Private Sub Command1_Click( )Dim i As Integer, m As Integer, tag As BooleanFor m = 2 To 100tag = TrueFor i = 2 To m - 1If m Mod i = 0 Then tag = FalseNext iIf tag=true Then Print mNext mEnd SubA.tag为true时,表示m是素数B.tag为false时,表示m是素数C.语句m Mod i = 0,说明m是素数D.以上说法都不正确4.百元买百鸡问题:假定小鸡每只5角,公鸡每只2元,母鸡每只3元。
全国计算机等级考试二级VB上机试题及答案(十一)基本操作(2小题,每题15分,共30分)****************************************************************请根据以下各小题的要求设计VB应用程序(包括界面和代码)。
请根据以下各个小题的要求设计Visual Basic应用程序(包括界面和代码)。
(1)在名称为Form1的窗体上画一个列表框,其名称为List1,通过属性窗口向列表框中输入9个项目,分别为10、20、30、40、50、60、70、80、90;画一个文本框,其名称为Hscroll,Min属性和Max分别为0和100,如图所示,编写适当的事件过程。
程序运行后,如果单击列表框中的某个项目内容,并把滚动条的滚动框移动到相应的位置,如图所示。
要求:不得使用任何变量。
(2)在名称为Form1的窗体中画一个图像框,名称为Image1,其高、宽分别为1800、4500,通过属性窗口把考生文件夹下的图像文件smile.bmp装入图像框;再画一个命令按钮,名称为Cmd1,标题为"放大"。
请编写适当事件过程,程序运行后,单击"放大"按钮,则把图像框的高度、宽度均增加100,同时图像也随之自动放大。
注意:程序中不得使用任何变量。
程序运行时的界面如图所示。
****************************************************************参考答案与分析(1)【解析】滚动条的属性设置:Min--最大值属性。
默认值为32767;Max--最小值属性,默认值为0;Value--返回或设置滚动条的当前位置的值,返回直介于Max 和Man属性之间的值,包括这两个值。
要实现滚动条的返回值与List的设置值同步变化,在两者之间建立等式关系即可。
而Text属性对应的变量类型为字符串,所以这里用了一个转化函数Val()来实现。
1第1小题【知识点播】文本框控件的MultiLine属性设置文本框是否能以多行显示文本,值为True表示允许,值为False表示不允许;ScrollBars属性设置文本框是否有水平或垂直滚动条,它的值为:0表示没有滚动条(默认值),1表示只有水平滚动条、2表示只有垂直滚动条,3表示有水平和垂直滚动条,设置0以外的值时MultiLine属性值必须为True。
【审题分析】本题只需按要求画出控件并设置其相应属性即可。
【操作步骤】步骤1:新建一个"标准EXE"工程,在窗体Form1中画两个文本框,并分别设置它们的相关属性,其属性及值如表97-1所示。
表97-1步骤2:按要求将文件保存至考生文件夹中。
第2小题【审题分析】要在程序运行时,移动滚动条上的滑块就能改变文本框的高度,只需在滚动条的Change事件过程中编写利用滚动条的V alue属性值来决定文本框Height属性值的语句即可,同时将文本框Width属性值设置为其Height属性值的1.5倍。
【操作步骤】步骤1:新建一个"标准EXE"工程,在窗体Form1中画一个文本框和一个水平滚动条,在属性设置窗口中设置其相关属性,其属性及值如表97-2所示。
表97-2步骤2:双击窗体Form1上的水平滚动条,打开代码编辑窗口,在其Change 事件过程中输入以下代码:参考代码:Private Sub Hsb1_Change()Txt1.Height = Hsb1.ValueTxt1.Width = Txt1.Height * 1.5End Sub步骤3:按要求将文件保存至考生文件夹中。
【主要考点】水平滚动条控件、Change事件过程。
2第1小题【审题分析】在本题源码“修改”按钮的单击事件过程中,通过语句“txtData = Cbo1.Text”将组合框中当前选择内容显示到文本框中,同时通过设置“确定”按钮的Enabled属性值为True使其可用;在“确定”按钮的单击事件过程中,通过语句“Cbo1.List(ListIndex) = txtData”把修改后的文本框内容替换组合框中该列表项的原有内容,并清空文本框,使“确定”按钮不可用;在“添加”按钮的单击事件过程中,用组合框的AddItem方法将文本框中的内容添加为组合框的一个项目。
国家二级VB机试(上机操作)-试卷129(总分:6.00,做题时间:90分钟)一、基本操作题(总题数:1,分数:2.00)1.请根据以下各小题的要求设计Visual Basic应用程序(包括界面和代码)。
(1)在名称为Forml的窗体上画一个名称为Pic的图片框,通过属性窗口将考生文件夹下的文件Tul-1jpg添加剑图片框,然后编写适当的事件过程。
运行程序时,单击窗体,在图片框中显示“VB等级考试”,如图2.111所示。
注意:要求程序中小得使用变量,事件过程中只能写一条语句。
存盘时必须存放在考生文件夹下,工程文件名为sjtl.vbp,窗体文件名为sit1.frm。
(2)在名称为Forml的窗体上画一个名称为Commandl的命令按钮,标题为“命令按钮”。
然后建立一个菜单,标题为“控件”,名称为menu,包含两个子菜单项,一个是“显示命令按钮”,名称为subMenul:另一个足“隐藏命令按钮”,名称为subMenu2,如图2.112所示。
编写适当的事件过程,使得程序运行时,如果选择“显示命令按钮”菜单命令,则显示命令按钮控件;而如果选抒“隐藏命令按钮”菜单命令,则隐藏命令按钮控件。
注意:程序中不得使用变量,每个事件过程中只能写一条语句。
存盘时必须存放在考生文件夹下,上程文件名为sit2.vbp,窗体文件名为sjt2.frm。
(分数:2.00)__________________________________________________________________________________________正确答案:(正确答案:第1小题【操作步骤】步骤1:新建一个“标准EXE”工程,仵窗体Form]中画一个名称为Pic的图片框,并设置其Picture属性为Tu1-1jpg。
步骤2:双击窗体打开代码编辑窗口,在窗体的Click事件过程中输入代码。
参考代码:Private Sub Form—Click() Pic.Print-'VB等级考试” End Sub 步骤3:按要求将文件保存至考生文件夹中。
全国计算机等级考试二级VB上机试题及答案(十)基本操作(2小题,每题15分,共30分)****************************************************************请根据以下各小题的要求设计VB应用程序(包括界面和代码)。
请根据以下各个小题的要求设计Visual Basic应用程序(包括界面和代码)。
(1)在名称为Form1的窗体上建立一个水平滚动条,名称为HS1,其最大值为100,最小值为0。
要求程序运行后,每次移动滚动条时,都执行语句Form1.Print HS1.Value。
程序运行时的界面如图所示。
(2)在名称为Form1的窗体上画一个空白文本框,名称为Txt1,其高度为1500;再画一个垂直滚动条,名称为Vsb1,其刻度范围为1500-2000。
请编写滚动条的Change事件过程,程序运行后,如果移动滚动框,则可按照滚动条的刻度值改变文本框的高度。
程序运行时的界面如图所示。
****************************************************************参考答案与分析(1)【解析】滚动条的Max为最大值属性,Min为最小值属性。
水平滚动条的移动触发Change 事件,Change事件中的语句"Form1.Print HS1.Value"表示窗体显示水平滚动条的当前位置。
【答案】第一步:启动VB,新建一个工程文件。
第二步:在窗体上画一个水平滚动条,将其Name属性设置为HS1,Max属性为100,Min为0。
第三步:编写程序代码:1 Private Sub HS1_Change()2 Form1.Print HS1.Value3 End Sub第四步:调试并运行程序,运行正确后按要求保存。
(2)【解析】文本框的高度是由其Height属性控制,垂直滚动条的刻度由其Value属性控制,两者相等便能达到题目要求的按照滚动条的刻度值改变文本框的高度。
国家二级VB机试(上机操作)-试卷124(总分:6.00,做题时间:90分钟)一、基本操作题(总题数:1,分数:2.00)1.请根据以下各小题的要求设计Visual Basic应用程序(包括界面和代码)。
(1)在名称为Forml、标题为“鼠标光标形状示例”的窗体上画1个名称为Textl的文本框。
请通过属性窗口设置适当属性,使得程序运行时,鼠标在文本框中时,鼠标光标为箭头(Arrow)形状,如图2.37所示;在窗体中其他位置处,鼠标光标为十字(Cross)形状.加图2-38所示。
注意:存盘时必须存放在考生文件夹下,工程文件名为vbsil.vbp,窗体文件名为vbsil.frm。
(2)在名称为Forml的窗体上画两个名称分别为Label1、Label2,标题分别为“开始位置”、“选中字符数”的标签;画三个文本框,名称分别为txtlnput、txtBegin、txtNum;再画一个名称为cmdDisplay,标题为“显示选中文本”的命令按钮。
程序运行时,在txtlnput中输入若干字符,并用鼠标选中一些字符后,单击“显示选中文本”按钮,则把选中的第一个字符的顺序号显示在txtBegin中,选中的字符个数显示在txtNum中,如图2.39所示。
要求:画出所有控件,编写命令按钮的Click事件过程。
注意:要求程序中不得使用变量,事件过程中只能写两条语句,分别用于显示第一个字符的顺序号和显示选中的字符个数。
存盘时必须存放在考生文件夹下,工程文件名为vbs.j2.vbp,窗体文件名为vbsi2.frm(分数:2.00)__________________________________________________________________________________________正确答案:(正确答案:第1小题【操作步骤】步骤1:新建“标准EXE”工程,在窗体Forml中画一个文本框,按表3-23设置文本框及窗体属性。
第一、Const y0& = 1110, x0& = 1100, radius& = 750 Private Function oncircle(X As Single, Y As Single) As Boolean precision = 55000 If Abs((X - x0) * (X - x0) + (y0 - Y) * (y0 - Y) - radius * radius) < precision Then oncircle = True Else oncircle = False End If End Function Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Const LEFT_BUTTON = 1 If oncircle(X, Y) Then Line1.X1 = x0 Line1.Y1 = y0 If Button = LEFT_BUTTON Then Line1.X2 = X ' Line1.Y2 = ? ***** Y ***** Else ' Line1.X2 = Line1.? ***** X1 ***** ' Line1.Y2 = y0 - ? ***** radius ***** End If Label1.Caption = "" Else ' ? = "鼠标位置不对" ***** label1.caption ***** End If End Sub (2)在考生目录下有一个工程文件sjt4.vbp,窗体如图所示。其功能是单击“输入数据”按钮,则可输入一个整数n(要求:8<=n<=12);单击“计算”按钮,则计算1!+2!+3!+…….+n!,并将计算结果显示在文本框中;单击“存盘”按钮,则把文本框中的结果保存到考生目录下的out4.dat文件中。 文件中已经给出了所有控件和程序,但程序不完整,请去掉程序中的注释符,把程序中的?改为正确的内容,并编写“计算”按钮的Click事件过程。注意:不得修改已经存在的内容和控件属性,在结束程序运行之前,必须用“存盘”按钮存储计算结果,否则无成绩。最后把修改后的文件按原文件名存盘。 Dim n As Integer Private Sub Command1_Click() n = Val(InputBox("请输入整数(8-12)", "输入")) ' If n > ? Or n < 8 Then ***** 12 ***** MsgBox ("数据错误,请重新输入") Command2.Enabled = False Command3.Enabled = False Else Command2.Enabled = True Command3.Enabled = True End If End Sub Private Sub Command2_Click() Dim s As Long, k As Integer *****'考生应编写的程序***** S=1 For k=2 to n S=s+f(k) Next k Text1.text=s *****End Sub***** Function f(n As Integer) As Long ' s = ? ***** 1 ***** For k = 2 To n s = s * k Next ' f = ? ***** s ***** End Function Private Sub Command3_Click() Open App.Path & "\out4.dat" For Output As #1 Print #1, n, Text1 Close #1 End Sub 第01套 综合应用题(新模14) 在考生文件夹下有一个工程文件sjt5.vbp,含三个窗体,标题分别为‘启动’、‘注册’、‘登录’,运行时显示‘启动’窗体,单击其上按钮时弹出对应窗体进行注册或登录。注册信息放在全局数组users中,注册用户数(最多10个)放在全局变量n中(均已在标准模块中定义)。注册时用户名不能重复,且‘口令’与‘验证口令’须相同,注册成功则在‘启动’窗体的标签中显示‘注册成功’,否则显示相应错误信息。登录时,检验用户名和口令,若正确,则在‘启动’窗体的标签上显示‘登录成功’,否则显示相应错误信息。 标准模块中函数finduser的功能是:在users数组中搜索用户名(即参数ch),找到则返回该用户名在user中的位置,否则返回0。 已经给出了所有控件和程序,但程序不完整,请去掉程序中的注释符,把Form2、Form3窗体文件中的?改为正确的内容。 ―――――――――Form2――――――――――――――――――――――――― Private Sub Command1_Click() Text1 = "" Text2 = "" Text3 = "" End Sub Sub writeusers() ' n = n + ? ***** 1 ***** users(n, 1) = Text1 users(n, 2) = Text2 End Sub Private Sub Command2_Click() If Text1 = "" Then MsgBox ("必须输入用户名!") Text1.SetFocus ' ElseIf finduser(Trim$(Text1)) > ? Then ***** 0 ***** MsgBox ("此用户名已经存在!") ElseIf Text2 <> Text3 Then MsgBox ("口令验证错误!") Else writeusers ' ? = "注册成功!" ***** form1.label1.caption ***** Form2.Hide End If End Sub ―――――――――Form3――――――――――――――――――――――――― Private Sub Command1_Click() k = finduser(Trim$(Text1)) ' If k = ? Then ***** 0 ***** MsgBox ("没有注册!") ' ElseIf Trim$(Text2) <> users( ? ) Then ***** n,2 ***** MsgBox ("口令错误!") Else Form1.Label1.Caption = "登录成功!" Form3.Hide End If End Sub 第02套 简单应用题(新模8) (1)在名称为Form1的窗体上画一个名称为Text1的文本框,再建立一个名称为Format的弹出式菜单,含三个菜单项,标题分别为‘加粗’、‘斜体’、‘下划线’,名称分别为M1、M2、M3。请编写适当的事件过程,在运行时当用鼠标右键单击文本框时,弹出此菜单,选中一个菜单项后,则进行菜单标题所描述的操作,如图所示。 注意:存盘时必须存放在考生文件夹下,工程文件名为sjt3.vbp,窗体文件名为sjt3.frm。 M1_click( ) Text1.fontBold=true M2_click( ) Text1.fontItalic=true M3_click( ) Text1.fontUnderline=true Text1_MouseDown( ) If button=2 then Popupmenu format (2)在考生文件夹下有一个工程文件sjt4.vbp,含有Form1和Form2两个窗体,Form1为启动窗体。两个窗体上的控件如图1所示。程序运行后,在Form1窗体的文本框中输入有关信息(‘密码’框中显示‘*’字符),然后单击‘提交’按钮则弹出‘确认’对话框(即Form2窗体),并在对话框中显示输入的信息,如图2所示。单击‘确认’按钮则程序结束,单击‘重输’按钮,则对话框消失,回到Form1窗体。在给出的窗体文件中已经给出了程序,但不完整。 要求:1)把Form1的标题改为‘注册’,把Form2的标题改为‘确认’; 2)设置适当的属性,使Form2标题栏上的所有按钮消失(如图2所示); 3)去掉程序中的注释符,把程序中的?改为正确的内容。 注意:不能修改程序中的其他部分,标题等属性的修改只能在属性窗口中的进行。最后把修改后的文件按原文件名存盘。 Private Sub C1_Click() Dim k As Integer ' Form2. ? ***** show ***** Form2.Print Form1.L1.Caption; Form1.Text1 Form2.Print Form1.L2.Caption; Form1.Text2 Form2.Print Form1.L3.Caption; Form1.Text3 ' Form2.Print Form1.Frame1. ? ; ":"; *****caption***** For k = 0 To 1 ' If Form1.Op1( ? ).Value Then ***** k ***** Form2.Print Form1.Op1(k).Caption End If Next k End Sub Private Sub Form_Load() ' Text2. ? = "*" ***** passwordchar ***** End Sub 第02套 综合应用题(新模8) 在考生目录下有一个工程文件sjt5.vbp,其窗体上有两个标签L1和L2,标题分别为‘口令’和‘允许次数’;一个命令按钮C1,标题为‘确定’;两个文本框名称分别为Text1和Text2。其中Text1用来输入口令(输入时,显示‘*’),无初始内容;Text2的初始内容为3。并给出了C1的事件过程,但不完整,要求去掉程序中的注释符,把程序中的?改为正确的内容,使得在运行时,在Text1中输入口令后,单击‘确定’,如果输入的是‘123456’则在Text1中显示‘口令正确’;如果输入其他内容,单击‘确定’后,弹出如图所示的错误提示对话框,并且Text2中的数字减1.最多可输入3次口令,若3次都输入错误,则禁止再次输入。 Private Sub C1_Click() ' If ? = "123456" Then ***** text1.text ***** Text1.Text = "口令正确" ' Text1.? = "" ***** passwordchar ***** Else Text2.Text = Text2.Text - 1 ' If Text2.Text > ? Then ***** 0 ***** MsgBox "第" & (3 - Text2.Text) & "次口令错误,请重新输入" Else MsgBox "3次输入错误,请退出" ' Text1.Enabled = ? ***** false ***** End If End If End Sub 第03套 简单应用题(新模18) (1)在考生文件夹下有一个工程文件sjt3.vbp,其功能是: 1)单击‘读数据’按钮,则把考生文件夹下in3.dat文件中的100个0-999之间的整数读入数组a中; 2)单击‘计算’按钮,则对这100个整数中的所有水仙花数(当一个数的值等于该数中各位数字的立方和时,此数被称为水仙花数。如:153=1^3+5^3+3^3,所以153就是一个水仙花数)求平均值,并对该平均值截尾取整后显示在文本框Text1中。窗体中给出了所有控件(如图所示),以及‘读数据’按钮的Click事件过程,请为‘计算’按钮编写适当的事件过程实现上述功能。 注意:不得修改已经存在的控件和程序,在结束程序运行之前,必须进行计算,且必须用窗体右上角的关闭按钮结束程序,否则无成绩。最后,程序按原文件名存盘。 Dim a(100) As Integer Private Sub Command1_Click() Dim k As Integer Open App.Path & "\in3.dat" For Input As #1 For k = 1 To 100 Input #1, a(k) Next k Close #1