vb综合应用题
vb综合应用题
2.将考生文件夹下的窗体文件SJT.frm添加进本工程;
3.除"打印范围"菜单的Click()事件调用SJT.frm 窗体,"退出"子菜单的Click()事件执行End语句外,其它菜单和子菜单不执行任何操作;
4.调试运行并生成可执行程序:Menu1.exe。
4. 调试运行并生成可执行程序:Menu1.exe。
714. 在考生文件夹中建立一个名称为"Vbcd"的工程文件Menu1.Vbp,并在工程中建立一个名称为"Menu1"的菜单窗体文件Menu1.frm,要求:
1. 菜单格式与内容如下:
修改(M) 图像(P)
对象(L)
剪裁(T) ->图案
------- 线条
4. 调试运行并生成可执行程序:Menu1.exe。
712. 在考生文件夹中建立一个名称为"Vbcd"的工程文件Menu1.Vbp,并在工程中建立一个名称为"Menu1"的菜单窗体文件Menu1.frm,要求:
1. 菜单格式与内容如下:
绘图(D) 编辑(E)
直线
圆弧
-----------
样条曲线
退出(Ctrl+X)
退出(Ctrl+X)
其中,括号内的字符为热键;
分隔条的名称为FGT,其它菜单与子菜单的名称与标题相同,但不含热键。
Ctrl+X:设置为快捷键。
2. 将考生文件夹下的窗体文件SJT.frm添加进本工程;
3. 除"指定页"菜单的Click()事件调用SJT.frm 窗体,"退出"子菜单的Click()事件执行End语句外,其它菜单和子菜单不执行任何操作;
VB机试模拟试卷55(题后含答案及解析)
VB机试模拟试卷55(题后含答案及解析)题型有:1. 基本操作题 2. 简单应用题 3. 综合应用题基本操作题(30分)1.(1)在名称为Forml的窗体上画一个名称为Textl的文本框,其高、宽分别为600、1 800。
请在属性框中设置适当的属性满足以下要求:Text1的字体为“隶书”,字号为“三号”;窗体的标题为“字体大小”,不显示最大化按钮和最小化按钮,如图49—1所示。
注意:存盘时必须存放在考生文件夹下,工程文件名为sjl.vbp,窗体文件名为sjl.frm。
(2)在Forml的窗体上画一个文本框,其名称为Textl;再画两个命令按钮,其名称分别为Commandl和Command2、标题分别为“显示”和“清空”,编写适当的事件过程。
程序运行后,如果单击“显示”按钮,则在文本框中显示“模拟考试”,并使“清空”按钮可用。
此时如果单击“清空”按钮,则清空文本框,同时该按钮变为不可用。
程序中不得使用任何变量。
程序运行时的窗体界面如图49—2和图49—3所示。
注意:保存时必须存放在考生文件夹下,窗体文件名为sj2.frm,工程文件名为sj2.vbp。
正确答案:(1)根据题意,新建“标准EXE”工程,将一个文本框控件添加到窗体中,其名称为Textl、Caption属性为“模拟考试”,Fonl属性为“隶书”、“三号”,Forml的MaxButton和MinButton属性为“False”,Caption属性为“字体大小”。
单击按钮运行程序,并按要求保存。
(2)根据题意,新建“标准EXE”工程,将一个文本框控件和两个命令按钮添加到窗体中,文本框的名称为Textl、Text属性为“模拟考试”,命令按钮的名称分别为Commandl和Command2、Caption 属性分别为“显示”和“清空”。
双击Commandl进入代码窗口,编写如下代码:Private Sub Commandl_Click( ) Textl.Text=“模拟考试”‘在Textl中显示”模拟考试”Command2.Enabled=True’将“清空”按钮变为可用End Sub Private Sub Command2_Click( ) Textl.Text=““‘单击“清空”,则清空Textl 中的文本Command2.Enabled=False’将“清空”按钮变为不可用End Sub 单击按钮运行程序,并按要求保存。
国家二级VB机试(综合应用题)模拟试卷3(题后含答案及解析)
国家二级VB机试(综合应用题)模拟试卷3(题后含答案及解析) 题型有:1.1.在考生文件夹下有一个工程文件sjt5.vbp,按照要求完成以下操作:在名称为Form1的窗体上添加两个命令按钮,其名称分别为C1和C2,标题分别为“读入数据”和“计算”(如图所示)。
程序运行后,如果单击“读入数据”按钮,则调用题目所提供的ReadData1和ReadData2过程读入datain1.txt和datain2.txt文件中的各20个整数,分别放人Arr1和Arr2两个数组中;如果单击“计算”按钮,则把两个数组中对应下标的元素相减,其结果放入第三个数组中(第1个数组的第n个元素减去第2个数组的第n个冗素,其结果作为第3个数组的第n个元素。
这里的n为1、2…20),最后计算第3个数组各元素之和,把所求得的和在窗体上显示出来;并调用题目中给出的WriteData过程将所求得的和存入考生文件夹下的dataout.txt文件中。
须执行一次,最后将修改后的文件以原米的文件名存盘。
正确答案:【操作步骤】步骤1:打开本题工程文件,按照题目要求建立命令按钮控件并设置命令按钮的相应属性,程序中用到的控件及属性见表3.23。
步骤2:打开代码编辑窗口,在代码编辑窗口指定位置编写以下代码。
参考答案Private Sub C1 C1iCk( ) Call ReadData1’调用过程ReadData1 Call ReadData2’调用过程ReadData2 End Sub Private Sub C2 C1ick( ) Dim Arr3(1 To 20)As Integer Dim sum As Integer sum=0 For i=1 To 20’将Arr1中对应于Arr2中的教相减,结果存入Arr3中Arr3(i)=Arrl(i)-Arr2(i) sum=sum+Arr3(i)’将Arr3中的元素累加Next i Print”sum=”;sum’在窗体打印sum WriteData”dataout.txt”,sum End Sub 步骤3:调试并运行程序,关闭程序后按题目要求存盘。
VB机试模拟试卷10(题后含答案及解析)
VB机试模拟试卷10(题后含答案及解析)题型有:1. 基本操作题 2. 简单应用题 3. 综合应用题基本操作题(30分)1.注意:下面出现的“考生文件夹”均为c:\wexam\25160001。
请根据以下各小题的要求设计Visual Basic应用程序(包括界面和代码)。
(1)在名称为Form1的窗体上画两个文本框,名称分别为T1和T2,初始情况下都没有内容。
请编写适当的事件过程,使得运行时,在T1中输入的任何字符,立即显示在T2中,如图10-1所示。
程序中不得使用任何变量。
注意:存盘时必须存放在考生文件夹下,工程文件名为sjt1.vbp,窗体文件名为sjt1.frm。
(2)在名称为Form1的窗体上画一个文本框,名称为Text1;再画一个命令按钮,名称为C1,标题为“移动”,如图10-2所示。
请编写适当的事件过程,使得在运行时,单击“移动”按钮,则文本框水平移动到窗体的最左端如图10-3所示。
程序中不得使用任何变量。
注意:存盘时必须存放在考生文件夹下,工程文件名为sjt2.vbp,窗体文件名为sjt2.frm。
正确答案:(1)在窗体上建立好控件后,先设置控件属性,再编写事件过程。
文本框的文本内容由Text属性设置。
题目要求在T1中输入任何字符时,立即在丁2中显示,这要用到文本框的Change事件。
当用户向文本框中输入新信息,或当程序把Text属性设置为新值从而改变文本框的Text属性,将触发Change 事件。
解题步骤:第一步:建立界面并设置控件属性。
程序用到的控件及其属性见表10-1。
第二步:编写程序代码。
参考代码:Private Sub T1_Change( ) T2.Text=T1.Text End Sub 第三步:调试并运行程序。
第四步:按题目要求存盘。
(2)在窗体上建立好控件后,先设置控件属性,再编写事件过程。
本题考查的是控件的位置改变,控件的位置由控件的Left 属性和Top属性决定,Left属性表示控件与所在窗体的左边之间的距离,Top属性表示控件与所在窗体的顶边之间的距离。
国家二级VB机试(综合应用题)模拟试卷14(题后含答案及解析)
国家二级VB机试(综合应用题)模拟试卷14(题后含答案及解析) 题型有:1.1.在考生文件夹下有一个工程文件sjt5.vbp,其窗体上有2个标题分别是“读数据”和“统计”的命令按钮,1个名称为Text1的文本框,2个标签控件,如图3—31所示。
程序功能如下:1)单击“读数据”按钮,则将考生文件夹下in5.dat文件的内容(该文件中含有不超过800个英文单词,单词之间用1个空格隔开)显示在Text1文本框中。
2)单击“统计”按钮,则自动统计Text1中所有5字母单词的个数,并显示在右下角的Labe11标签中。
“读数据”按钮的Click事件过程已经给出,“统计”按钮的Click事件过程不完整,函数GetWords的功能是从字符串s中分离出每个单词,依次放入数组words的数组元素中,返回值为单词的总数目。
要求:1)请将程序中的注释符去掉,把?改为正确的内容;2)补全“统计”按钮Click事件过程中的代码,以实现上述程序功能。
注意:考生不得修改窗体文件中已经存在的控件和程序,在结束程序运行之前,必须进行“统计”,且必须用窗体右上角的关闭按钮结束程序,否则无成绩。
最后,程序按原文件名存盘。
正确答案:【操作步骤】GetWords=mm=GetWords(Text1.Text,ch)’-------考生编写的程序代码从这里开始k=0For i=1 To m If Len(ch(i))=5 Thenk=k+1End IfNext iLabe11.Caption=k’-------考生编写的程序代码到这里结束步骤2:按<F5>键运行程序,单击各个按钮测试验证。
步骤3:按要求将文件保存至考生文件夹中。
2.在考生文件夹中有一个工程文件vbsj5.vbp(相应的窗体文件为vbsj5.frm)。
窗体Form1上有两个名称为Lab1和Lab2的标签,它们的标题分别为“密码”和“允许次数”;一个名称为Cmd1的命令按钮,其标题为“确定”;两个名称分别为Txt1和Txt2的文本框。
2020年计算机二级考试《VB》考前预测:简单综合应用题
2020年计算机二级考试《VB》考前预测:简单综合应用题三、简单应用题42在考生文件夹下,打开Ecommerce数据库,完成如下简单应用:(1)使用报表向导建立一个简单报表。
要求选择客户表Customer中所有字段;记录不分组;报表样式为随意式;列数为“1”,字段布局为“列”,方向为“纵向”;排序字段为“会员号”,升序;报表标题为“客户信息一览表”;报表文件名为myreport。
(2)使用命令建立一个名称为sb_view的视图,并将定义视图的命令代码存放到命令文件pview.prg。
视图中包括客户的会员号(来自Customer表)、姓名(来自Customer表)、客户所购买的商品名(来自Article表)、单价(来自OrderItem表)、数量(来自OrderItem表)和金额(OrderItem.单价* OrderItem.数量),结果按会员号升序排序。
参考解析:(1)具体步骤如下:① 从“文件”菜单中选择“新建”命令,在弹出的“新建”对话框中选中“报表”后单击“向导”按钮。
② 在弹出的“向导选择”对话框中选择“报表向导”后单击“确定”按钮。
③ 弹出报表向导的“步骤1-字段选择”对话框,在该对话框中的“数据库和表”下面的列表框中选中Customer表,单击按钮把Customer表中的所有字段移到“选定字段”列表框中,单击“下一步”按钮。
④ 弹出报表向导的“步骤2-分组记录”对话框,不需设置,直接单击“下一步”按钮。
⑤ 弹出报表向导的“步骤3-选择报表样式”对话框,选择报表样式为“随意式”,然后单击“下一步”按钮。
⑥ 弹出报表向导的“步骤4-定义报表布局”对话框,在该对话框中设置列数为1,字段布局为列,方向为纵向,然后单击“下一步”按钮。
⑦ 弹出报表向导的“步骤5-排序记录”对话框,在“可用的字段或索引标识”列表框中选择“会员号”字段,单击“添加”按钮,把选定的“会员号”字段添加到“选定字段”列表框中,选中“升序”单选按钮,然后单击“下一步”按钮。
VB机试模拟试卷29(题后含答案及解析)
VB机试模拟试卷29(题后含答案及解析)题型有:1. 基本操作题 2. 简单应用题 3. 综合应用题基本操作题(30分)1.1. 在窗体上画1个水平滚动条(名称为HS1,最小值为0,最大值为80)和3个命令按钮(名称分别为C1、C2、C3,标题分别为“左端”、“居中”和“右端”),然后编写适当的事件过程。
程序运行后,如果单击“左端”命令按钮,则滚动框位于滚动条最左端处;如果单击“居中”命令按钮,则滚动框位于滚动条中间;如果单击“右端”命令按钮,则滚动框位于滚动条最右端处。
程序的运行情况如图1—1所示(单击“左端”命令按钮)。
存盘时,工程文件名为sjt1.vbp,窗体文件名为sjt1.frm。
2.请根据以下各小题的要求设计Visual Basic应用程序(包括界面和代码)。
在窗体上画一个命令按钮,其名称为C1,标题为“清除”,编写适当的事件过程。
程序运行后,如果单击命令按钮,则清除窗体的标题,程序运行结果如图1—2所示。
注意:存盘时必须存放在考生文件夹下,工程文件名为sit2.vbp,窗体文件名为sjt2.frm。
正确答案:按以下步骤操作:①启动Visual Basic,在窗体上画1个水平滚动条和3个命令按钮。
②按F4键激活属性窗口,在属性窗口中设置3个命令按钮的属性,见表1。
③编写3个命令按钮的事件过程;Private sub C1_Click( ) HS1.Value=HS1.Min End Sub Private sub C2_Click( ) HS1.Value=HS1.Max/2 End Sub Private sub C3_Click( ) HS1.Value=HS1.Max End Sub2.①对象主要属性设置如表2所示。
②分析:按试题要求在窗体上画一个命令按钮,并将它的属性按表2的内容进行设置。
Caption属性用来定义对象的标题,将空字符串赋值给Caption,即可清除Caption中的内容。
vb练习题及答案
vb练习题及答案VB练习题及答案一、选择题1. 在VB中,以下哪个是正确的数据类型?A. IntegerB. IntC. Both A and BD. None of the above答案:C2. VB中,哪个关键字用于声明变量?A. DimB. DeclareC. DefineD. Set答案:A3. 在VB中,以下哪个是正确的循环结构?A. ForB. WhileC. RepeatD. All of the above答案:D4. VB中,以下哪个是正确的条件语句?A. IfB. SwitchC. CaseD. A and B only答案:A5. 在VB中,以下哪个是正确的数组声明方式?A. Dim myArray(5) As IntegerB. Dim myArray As Integer(5)C. Both A and BD. None of the above答案:A二、填空题1. 在VB中,使用________关键字可以定义一个类。
答案:Class2. VB中,使用________方法可以为控件添加事件处理程序。
答案:AddHandler3. 在VB中,________方法用于结束程序的执行。
答案:End4. VB中,________属性用于获取或设置一个控件的文本。
答案:Text5. 在VB中,________方法用于打开一个文件。
答案:Open三、简答题1. 请简述VB中的事件和事件处理程序的概念。
答案:在VB中,事件是用户或程序触发的特定动作,如按钮点击或键盘敲击。
事件处理程序是一个过程,当特定的事件发生时,会被自动调用以响应该事件。
2. 描述VB中如何使用For循环。
答案:在VB中,For循环用于重复执行一段代码直到满足特定条件。
基本语法是:```For counter = start To end [Step increment]' 循环体Next [counter]```3. 解释VB中什么是继承,并给出一个简单的示例。
国家二级VB机试(综合应用题)模拟试卷2(题后含答案及解析)
国家二级VB机试(综合应用题)模拟试卷2(题后含答案及解析) 题型有:1.1.在考生文件夹下有一个工程文件sjt5.vbp,在其窗体中有一个实心圆。
程序运行时,当用鼠标左键单击窗体任何空白位置时,实心网则向单击位置直线移动;若用鼠标右键单击窗体,则实心圆停止移动。
窗体文件中已经给出了全部控件,但程序不完整。
要求:请去掉程序中的注释符,把程序中的?改为正确的内容,使其能正确运行,不能修改程序的其他部分和控仲属性。
最后将修改后的文件按原文件名存盘。
正确答案:【操作步骤】步骤1:打开本题工程文件。
步骤2:打开代码编辑窗口,去掉程序中的注释符,将问号改为正确的内容。
参考答案Dim stepy As Integer ‘纵向移动增量Dim Stepx As Integer ‘横向移动增量Const LEFT BUTTON=1 Private Sub Form_MouseDown(Button As Integer,Shift As Integer,x As Single,y As Single) Dim x0 As Integer,y0 As Integer,a As Single,radius As_Integer radius=Shapel.Width/2 ‘圆的半径If Button=LEFT BUTTON Then ‘单击鼠标左键移动x0=Shapel.Left+radius’圆心的x坐标y0=Shapel.Top+radius’圆心的y坐标If x=x0 Then’垂直移动stepy=Sgn(y-y0)*50 stepx=0 Else’倾斜移动a=(y-y0)/(x-x0)’斜率stepx=Sgn(x-x0)*50 stepy=a*stepx ‘通过stepx确定stepy的值If Abs(stepy)>Abs(stepx)Then stepy=Sgn(y-y0)*50 stepx=stepy/a End If End If Timer1.Enabled=True’单击鼠标左键则触发Timer事件E1se Timer1.Enabled=False’单击鼠标右键则停止Timer事件End If End Sub Private Sub Timer1_Timer( ) Shape1.Move Shape1.Left+stepx,Shapel.Top+stepy’移动shapel End Sub 步骤3:调试并运行程序,关闭程序后按题目要求存盘。
VB机试模拟试卷38(题后含答案及解析)
VB机试模拟试卷38(题后含答案及解析)题型有:1. 基本操作题 2. 简单应用题 3. 综合应用题基本操作题(30分)1.新建一个工程。
在窗体上画一个文本框,名称为Text1。
设置用户输入的字母一律转换为大写表示,焦点保持在输入文本的最右端。
程序运行结果如图5所示。
程序中不得使用任何变量。
注意:存盘时必须存放在考生文件夹下,工程文件名为ylcl.vbp,窗体丈件名为ylcl.frm。
正确答案:(1)Visual Basic集成环境中,执行“文件”→“新建工程”命令,选择“标准Exe”。
创建窗体Form1。
(2)在工具箱中选择文本框控件,在窗体中画出文本框。
在属性窗口中设置Text属性为空。
双击文本框弹出代码编写窗口,添加如下代码:Private Sub Text1_Change( ) Textl.Text=LCase(Text1.Text) Textl.SelStart=Len(Text1.Text) End Sub (3)按F5键运行程序。
如图5所示。
(4)执行“文件”→“保存工程”命令,将工程文件命名为ylcl.vbp,窗体文件命名为ylcl.frm。
解析:(1)第1小题中要使用字符转换函数LCase,其作用是将所有大写字符转换为小写。
SelStart属性用来返回或者设置所选择的文本的起始点,可用来处理焦点。
2.新建一个工程,在窗体中创建一个标签,名字是Label1。
要求实现的功能是:单击窗体后,在标签控件中显示三号字体的字符串“为人民服务”。
程序运行结果如图6所示。
程序中不得使用任何变量。
注意:存盘时必须存放在考生文件夹下,工程文件名为ylc2.vbp,窗体文件名为ylc2.frm。
正确答案:(1) Visual Basic集成环境中,执行“文件”→“新建工程”命令,选择“标准Exe”。
创建窗体Form1。
(2)在工具箱中选择标签控件,在窗体中画出一个标签。
在其属性窗口中,将Visible属性改为False,Caption属性设置为“为人民服务”,双击Font属性,将字体大小设置为三号字。
VB上机综合应用题型整理
1、数列求通项、多项式求和问题。
数列<->数组
2、求符合某种条件的数(素数*,回文数,勾股数,水仙花数等)
1)从已知数组或某区间找出满足要求的数存入动态数组;(会写一个函数过程判断数知否满足要求)
2)对数组处理(例如求最大值、最小值、求和等)
3、数组的排序
n = UBound(a)
For i = 1 To n - 1 'n个数排序共进行n-1趟
'处理第i趟排序
' 从 a(i) a(i+1) ... a(n)中选择最小元素,放置到 a(i) 位置 '即用 a(i)与a(j)比较,其中j=i+1,...,n
For j = i + 1 To n
If a(j) > a(i) Then '由小到大排序
t = a(i)
a(i) = a(j)
a(j) = t
End If Next j
Next i
4、文件操作
1)EOF(文件号):用于判断是否到达文件尾。
到达了,返回True;没有到达返回False。
Do While Not EOF(1)
......
Loop
2)顺序文件
a.将数据读入一维数组
Open 文件名 For Input As #1
For i=1 to n
Input #1, a(i)
Next i
Close #1
b.将数据写入(输出)至文件中 Open 文件名 For Output As #1 Print #1, 变量 Close
3)随机文件
记录由字段构成。
(记录型变量)。
VB机试模拟试卷164(题后含答案及解析)
VB机试模拟试卷164(题后含答案及解析)题型有:1. 基本操作题 2. 简单应用题 3. 综合应用题基本操作题(30分)1.请根据以下各小题的要求设计VisualBasic应用程序(包括界面和代码)。
(1)在名称为Forml的窗体上画一个名称为Listl的列表框,在属性窗口中为列表框添加三个选项:北京、上海、天津。
再建立一个下拉菜单,菜单标题为“文件”,名称为File,此菜单下含有一个子菜单项,标题为“显示列表框”,名称为Show,初始状态为选中,运行时的效果如图1-54所示。
注意:存盘时,将文件保存至考生文件夹下,且窗体文件名为sjtl.frm,工程文件名为sjtl.vbp。
(2)新建一个名称为:Forml,标题为“使用输入对话框”的窗体,该窗体上无任何控件。
请编写适当的事件过程,使得运行程序并单击窗体时,出现输入对话框,该对话框的标题为“等级考试”,提示信息为“请输入”,默认值为“Basic”。
如图1-55所示。
注意:存盘时,将文件保存至考生文件夹下,且窗体文件名为sjt2.frm,工程文件名为sjt2.vbp。
要求程序中不得使用变量,每个事件过程中只能写一条语句。
正确答案:第l小题【操作步骤】步骤l:新建一个“标准EXE”工程,在窗体Forml中画一个名为Listl的列表框,在其List属性中添加三个项目,依次为“北京”、“上海”和“天津”,注意每输入完一项后按键换行再输入下一项。
步骤2:新建一个“标准EXE”工程,选择【工具】→【菜单编辑器】命令,打开菜单设计器,如表2-28中的设置建立菜单项。
步骤3:按要求将文件保存至考生文件夹中。
第2小题【操作步骤】步骤l:新建一个”标准EXE”工程,将窗体Forml的Caption属性设置为“使用输入对话框”。
步骤2:打开代码编辑窗口,编写以下事件过程;参考代码;PriVate Sub Form_Click( ) InputBox”请输入”,”等级考试”,”Basic”End Sub 步骤3:按要求将文件保存至考生文件夹中。
VB选考冒泡排序综合应用题
VB选考冒泡排序综合应用题姓名班级第一题:2017年11月选考真题小李基于冒泡排序算法编写了一个VB程序,功能如下:在文本框Text1中显示排序前的数据,单击“排序”按钮Command1,在文本框Text2中显示剔除重复数据后的升序排序结果。
程序运行界面如下图所示。
实现上述功能的VB程序如下,请完成划线处填空。
Const n = 10Dim a(1 To n) As IntegerPrivate Sub Command1_Click()Dim i As Integer, j As Integer, t As IntegerDim bottom As Integer'获取排序前数据依次存储在数组a中,并在文本框Text1中显示。
代码略bottom = ni = 1Do While i <= bottom - 1For j = bottom To i + 1 Step -1If ① Thent = a(j): a(j) = a(j - 1): a(j - 1) = tElseIf a(j) = a(j - 1) Then ' 相邻两个数据相等,进行剔除处理②bottom = bottom - 1End IfNext j③Loop= " "For ④= + Str(a(i))Next iEnd Sub第二题:2019年4月选考真题小明基于冒泡排序思想设计了一个改进的排序算法。
该算法先用冒泡法将数组a中奇数位置的元素、偶数位置的元素分别进行排序,然后再进行后续处理。
程序界面如下图:算法的VB程序段如下,请完成划线处填空。
’待排序数据存储在数组a中(a(1)~ a(n)),要求升序排列For i = 1 To (n - 1) \ 2For ①If a(j) > a(j + 2) Thent = a(j): a(j) = a(j + 2): a(j + 2) = tEnd IfNext jNext iFor i = 1 To n \ 2②If a(j) > a(j + 1) Then t = a(j): a(j) = a(j + 1): a(j + 1) = tNext iFor ③t = a(i): j = i - 1Do While t < a(j)a(j + 1) = a(j): j = j - 1Loop④Next i第三题:合唱队列是按队员的身高进行排列,形成中间高两边有序降低的队形;例如有六个队员“已、戊、丁、丙、乙和甲”的身高依次由小到大,则排列后的顺序为“戊、丙、甲、乙、丁、已”。
国家二级VB机试(综合应用题)模拟试卷7(题后含答案及解析)
国家二级VB机试(综合应用题)模拟试卷7(题后含答案及解析) 题型有:1.1.以下数列:1,1,2,3,5,8,13,21…的规律是从第3个数开始,每个数都是其前面两个数之和。
在考生文件夹下有一个工程文件sjt5.vbp。
窗体中已经给出了所有控件,如图所示。
请编写适当的事件过程完成如下功能:选中一个单选按钮后,单击“计算”按钮,则计算出上述数列第n项的值,并在文本框中显示,n是选中的单选按钮后面的数值(提示:因计算结果较大,应使用长整型变量)。
注意:不能修改已经给出的程序和已有的控件的属性;在结束程序运行之前,必须选中一个单选按钮,并单击“计算”按钮以获得一个结果;必须使用窗体右上角的关闭按钮结束程序,否则无成绩。
最后把修改后的文件按原文件名存盘。
正确答案:[操作步骤]步骤1:打开本题工程文件。
步骤2:打开代码编辑窗口,在指定位置编写如下代码。
参考代码Private sub Commandl_Click( )Dim a( )As LongDim i As IntegerDim n As Integer’Op1.Count是单选按钮数目,这里用的是控件数组For i=0 To Op1.Count—1’判断哪一项被选择,把它后面的数值赋给n,确定n值If Opl(i).Value=True Thenn=Val(Opl(i).Caption)Exit ForEnd IfNextReDim a(n)’重新申请空间,这里是动态申请a(1)=1a(2)=1’数列第一项、第二项值确定For i=3 To na(i)=a(i-1)+a(i-2)’后一项值是前两项值之和NextText1.Text=a(n)End Sub步骤3:调试并运行程序,关闭程序后按题目要求存盘。
2.考生文件夹下有工程文件sjt5.vbp和数据文件in5.txt。
in5.txt中有多条记录,每条记录占一行,含4个数据项,数据项的含义依次是:姓名、数学成绩、语文成绩、英语成绩。
国家二级VB机试(综合应用题)模拟试卷6(题后含答案及解析)
国家二级VB机试(综合应用题)模拟试卷6(题后含答案及解析) 题型有:1.1.考生文件夹下有一个工程文件sjt5.vbp,窗体上有两个文本框,名称分别为Text1、Text2,都可以多行显示。
还有三个命令按钮,名称分别为C1、C2、C3,标题分别为“取数”、“排序”、“存盘”。
“取数”按钮的功能是将考生文件夹下的in5.dat文件中的50个整数读到数组中,并在Text1中显示出来;“排序”按钮的功能是对这50个数按升序排序,并显示在Text2中;“存盘”按钮的功能是把排好序的50个数存到考生目录下的out5.dat文件中,如图所示。
在窗体中已经给出了全部控件和部分程序代码,要求阅读程序并去掉程序中的注释符,把程序中的?改为正确的内容,并编写“排序”按钮的Click事件过程,使其实现上述功能,但不能修改程序中的其他部分,也不能修改控件的属性。
最后将修改后的文件按原文件名存盘。
正确答案:【操作步骤】步骤1:打开本题工程文件。
步骤2:打开代码编辑窗口,去掉程序中的注释符“‘”,将问号改为正确的内容,并编写代码。
参考答案Dim a(50) As Integer Private Sub C1_C1ick( ) Dim k As Integer,ch As String Open”in5.dat”For Input As #1 ch=”“For k=1 TO 50 Input #1,a(k) ‘将取出的数据存入数组a中ch=ch+Str(a(k))+”“‘将数据存入ch Next k Close #1 Text1.Text=ch ‘在Text1文本框中显示文件内容End Sub Private Sub C2_Click( ) End Sub Private Sub C3_Click( ) Open”out5.dat”For Output As #1 Print #!,Text2.Text Close #! End Sub 需编写的“排序”按钮的代码Private Sub C2_Click( ) Dim t As Integer Dim i As Integer Dim J As Integer Dim ch As String ch=”“For i=50 To 2 Step-1.使用冒泡算法从小到大排序For j=1 To 49 If a(j)>a(j+1) Then ‘两t=a(j+1) a(j+1)=a(j) a(j)=t End If Next j Next i For j=1 To 50 ‘将排序后的数组重新赋给ch ch=ch+Str(a(j))+”“Next j Text2.Text=ch End Sub 步骤3:调试并运行程序,关闭程序后按题目要求存盘。
VB机试模拟试卷109(题后含答案及解析)
VB机试模拟试卷109(题后含答案及解析)题型有:1. 基本操作题 2. 简单应用题 3. 综合应用题基本操作题(30分)1.(1)在名称为Forml的窗体上画一个空白文本框,名称为Textl,它的高为2000,宽为2000。
通过属性窗口设置适当的属性使得Textl可以显示多行文本,且有垂直滚动条。
程序运行时的窗体如图12—1所示。
注意:存盘时必须存放在考生文件夹下,工程文件名为sjl.vbp,窗体文件名为sjl.frm。
(2)在名称为Forml的窗体上画一个图像框,名称为Imagel,其高、宽分别为800、800,通过属性窗口把考生文件夹下的图像文件test.bmp装入图像框;再画一个命令按钮,名称为(iotamandl,标题为“变宽”。
请编写适当的事件过程,要求程序运行后,每单击一次“变宽”按钮,则使图像的宽度增加600。
程序运行时窗体界面如图12—2所示。
注意:存盘时必须存放在考生文件夹下,工程文件名为sj2.vbp,窗体的文件名为sj2.frm。
正确答案:(1)根据题意,新建“标准EXE”工程,将一个文本框控件添加到窗体中,将其名称设为Textl,MuhiLine属性为True,ScrollBars属性为2,Text 属性为空,Width设为2 000,Height设为2 000。
单击按钮运行程序,并按要求保存。
(2)根据题意,新建“标准EXE”工程,将一个图像控件和一个命令按钮添加到窗体中,图像控件的名称为Imagel,Width为800,Height属性为800,Stretch属性为True,命令按钮的名称为Commandl,Caption属性为“变宽”。
双击Commandl进入代码窗口,编写如下代码:Private Sub Command1_Click( ) Imagel.Width=Imagel.Width+600’Imagel的宽度变宽600 End Sub单击按钮运行程序,并按要求保存。
VB上机考试综合应用题选讲
VB上机考试综合应用题选讲一、素数判断与计算、输出题,并把计算与存盘部分补充完整!Private Function isprime(a As Integer) As BooleanDim flag As Booleanflag = Trueb% = 2Do While b% <= Int(a / 2) And flagIf Int(a / b%) = a / b% Thenflag = FalseElseb% = b% + 1End IfLoopisprime = flagEnd Function+++++++以下黑体字部分是程序中没有的,需要自己被充+++++++ Private Sub C1_Click()Dim i As Integeri = 18000Doi = i - 1Loop Until isprime(i)Text1.Text = iEnd SubPrivate Sub C2_Click()Open "out5.txt" For Output As #1Print #1, Text1.TextClose #1End Sub二、判断口令题,关键是一些循环语句及选择结构的综合应用:Private Sub C1_Click()If Text1.Text = "123456" ThenText1.Text = "口令正确"Text1.PasswordChar = ""ElseText2.Text = Text2.Text - 1If Text2.Text > 0 ThenMsgBox "第" & (3 - Text2.Text) & "次口令错误,请重新输入"ElseMsgBox "3次输入错误,请退出"Text1.Enabled = FalseEnd IfEnd IfEnd Sub三、图片转换题:Private Sub Timer1_Timer()a = a + 1If a > 6 Thena = 1End IfSelect Case aCase 1P1.Picture = LoadPicture("黄灯.ico")Case 2, 3P1.Picture = LoadPicture("红灯.ico")Case 4, 5, 6P1.Picture = LoadPicture("绿灯.ico")If b Then Timer2.Enabled = bEnd SelectEnd SubPrivate Sub Timer2_Timer()If (a < 4) And (P2.Left > P1.Left And P2.Left < P1.Left + P1.Width) Or P2.Left <= 100 Then Timer2.Enabled = FalseElseP2.Move P2.Left - 10, P2.Top, P2.Width, P2.HeightEnd IfEnd Sub四、数据计算与行列式综合应用题:Option Base 1Dim Arr1(20) As IntegerDim Arr2(20) As IntegerDim Sum As IntegerSub ReadData1()Open App.Path & "\" & "datain1.txt" For Input As #1 For i = 1 To 20Input #1, Arr1(i)Next iClose #1End SubSub ReadData2()Open App.Path & "\" & "datain2.txt" For Input As #1 For i = 1 To 20Input #1, Arr2(i)Next iClose #1End SubOpen App.Path & "\" & Filename For Output As #1 Print #1, NumClose #1End SubPrivate Sub C1_Click()ReadData1ReadData2End SubPrivate Sub C2_Click()Dim arr3(20) As IntegerSum = 0For i = 1 To 20arr3(i) = Arr1(i) \ Arr2(i)Sum = Sum + arr3(i)NextPrint SumEnd SubPrivate Sub C3_Click()WriteData "dataout.txt", SumEnd Sub五、倒计数器Private Sub C1_Click(Index As Integer)Select Case IndexTimer1.Enabled = FalseCase 0Timer1.Enabled = TrueEnd SelectEnd SubPrivate Sub Timer1_Timer()Text1.Text = Text1.Text + 1End Sub六、文本框的使用Private Sub C1_Click()Open App.Path & "\out7.txt" For Output As #2 Print #2, Text1.TextClose #2End SubPrivate Sub Form_Load()Open App.Path & "\in7.txt" For Input As #1 Do While Not EOF(1)Input #1, mystringText1.Text = Text1.Text + mystringClose #1Text1.Text = "计算机等级考试" + Text1.Text End Sub七、求某类数的和等:Private Function fun(a As Integer) As Integer s% = 0For i% = 500 To 600If Int(i% / a) = i% / a Thens% = s% + i%End IfNextfun = s%End FunctionPrivate Sub C1_Click()If Op1.V alue ThenText1 = fun(7)End IfIf Op2.V alue Then Text1 = fun(3)End SubOpen "out7.txt" For Output As #1Print #1, Op1.V alue, Op2.V alue, Text1.TextClose #1End Sub八、文本框的使用Private Sub C1_Click()Open App.Path & "\in7.txt" For Input As #1Do While Not EOF(1)Input #1, mystringText1.Text = mystringLoopClose #1End SubPrivate Sub C2_Click()Text1.Text = UCase(Text1.Text)End SubPrivate Sub C3_Click()Open App.Path & "\out7.txt" For Output As #2 Print #2, Text1.TextClose #2End Sub九、文本框应用第二例:第一部分:窗体程序部分:Dim a(100) As IntegerPrivate Sub Cmd1_Click()Open App.Path & "\in.txt" For Input As #1Text1.Text = ""For i = 1 To 100Input #1, a(i)Text1.Text = Text1.Text & a(i) & Space(1) Next iClose #1End SubPrivate Sub Cmd2_Click()Text1.Text = ""s = 0For i = 1 To 100If a(i) Mod 2 <> 0 ThenText1.Text = Text1.Text & a(i) & Space(1)End IfNextputdata sEnd Sub第二部分:模块程序部分:(如没有标准模块,需要自行添加一个标准模块)Sub putdata(ByV al a As Integer)Dim sFile As StringsFile = "\out.txt"Open App.Path & sFile For Output As #1Print #1, a;Close #1End Sub十、分苹果题:Option ExplicitPrivate Sub Command1_Click(Index As Integer)If Index = 0 ThenIf V al(Label3(0).Caption) > 1 ThenCommand1(0).Enabled = TrueLabel3(0).Caption = Label3(0).Caption - 1ElseIf V al(Label3(0).Caption) = 1 ThenEnd IfCommand1(0).Enabled = FalseEnd IfElseIf V al(Label3(1).Caption) > 1 ThenCommand1(1).Enabled = TrueLabel3(1).Caption = Label3(1).Caption - 1 ElseIf V al(Label3(1).Caption) = 1 ThenLabel3(1).Caption = Label3(1).Caption - 1 End IfCommand1(1).Enabled = FalseEnd IfEnd IfIf V al(Label3(0).Caption) > V al(Label3(1).Caption) Then picSmile(0).Visible = TruepicCry(0).V isible = FalsepicCry(1).V isible = TruepicSmile(1).Visible = FalseElseIf V al(Label3(0).Caption) < V al(Label3(1).Caption) Then picCry(0).V isible = TruepicSmile(0).Visible = FalsepicSmile(1).Visible = TruepicCry(1).V isible = FalseElsepicSmile(0).Visible = TruepicCry(0).V isible = FalsepicSmile(1).Visible = TruepicCry(1).V isible = FalseEnd IfEnd IfEnd SubPrivate Sub Command2_Click(Index As Integer)If Index = 0 ThenLabel3(0).Caption = Label3(0).Caption + 1Command1(0).Enabled = TrueElse:Label3(1).Caption = Label3(1).Caption + 1Command1(1).Enabled = TrueEnd IfIf V al(Label3(0).Caption) > V al(Label3(1).Caption) Then picSmile(0).Visible = TruepicCry(0).V isible = FalsepicCry(1).V isible = TruepicSmile(1).Visible = FalseElseIf V al(Label3(0).Caption) < V al(Label3(1).Caption) Then picCry(0).V isible = TruepicSmile(0).Visible = FalsepicSmile(1).Visible = TruepicCry(1).V isible = FalseElsepicSmile(0).Visible = TruepicCry(0).V isible = FalsepicSmile(1).Visible = TruepicCry(1).V isible = FalseEnd IfEnd IfEnd SubPrivate Sub Form_Load()picSmile(0).Visible = TruepicSmile(1).Visible = TrueCommand1(0).Enabled = FalseCommand1(1).Enabled = FalseEnd Sub十一、简单综合题:Private Sub COMEXIT_Click() EndEnd SubPrivate Sub COMSTART_Click()Dim g As Single, N As Integer, S As Single myfile1 = App.Path & "\" & "grade.DA T" myfile2 = App.Path & "\" & "average.dat" Open myfile1 For Input As #1Open myfile2 For Output As #2Do While Not EOF(1)Input #1, gN = N + 1S = S + gLoopClose #1S = S / NWrite #2, SCloseCOMSTART.Caption = "完成" COMSTART.Enabled = FalseEnd Sub十二、文本加密题:Private Sub C1_Click()Dim strinfo As StringOpen "in7.txt" For Input As 1Input #1, strinfoClose #1Text1.Text = strinfoEnd SubPrivate Sub C2_Click()Dim strchange As StringDim i As IntegerFor i = 1 To Len(Text1.Text)strchange = strchange + Chr(Asc(Mid(Text1.Text, i, 1)) + 2) NextText1.Text = strchangeEnd SubPrivate Sub C3_Click()Open "out7.txt" For Output As 1Print #1, Text1.TextClose #1End Sub十三、数组综合应用题:本程序解答分二部分,一部分在窗体模块:Option ExplicitDim a(1 To 100)Dim i As IntegerDim n As IntegerDim f As IntegerDim s As LongPrivate Sub Cmd1_Click()Open App.Path & "\in.txt" For Input As #1For i = 1 To 100Input #1, na(i) = nText1.Text = Text1.Text & a(i) & " "Next iClose #1End SubPrivate Sub Cmd2_Click()For i = 1 To 100If a(i) <= 700 Then s = s + a(i)Next iCall putdata("out.txt", s)Text1.Text = sEnd Sub另一部分在标准模块:Option ExplicitSub putdata(t_FileName As String, t_Str As V ariant) Dim sFile As StringsFile = "\" & t_FileNameOpen App.Path & sFile For Output As #1Print #1, t_StrClose #1End Sub十四、素数应用又一例:本程序分两部分,第一部分在窗体模块: Private Sub Cmd1_Click()Dim i As IntegerDim temp As Longtemp = 0If Opt2.V alue ThenFor i = 200 To 400If isprime(i) Thentemp = temp + iEnd IfNextElseFor i = 100 To 200If isprime(i) Thentemp = temp + iEnd IfNextEnd IfText1.Text = tempEnd SubPrivate Sub Cmd2_Click()putdata "\out.txt", Text1.TextEnd Sub第二部分在标准模块:Option ExplicitSub putdata(t_FileName As String, T_Str As V ariant) Dim sFile As StringsFile = "\" & t_FileNameOpen App.Path & sFile For Output As #1Print #1, T_StrClose #1End SubFunction isprime(t_I As Integer) As Boolean Dim J As Integerisprime = FalseFor J = 2 To t_I / 2If t_I Mod J = 0 Then Exit ForNext JIf J > t_I / 2 Then isprime = TrueEnd Function。