2013年国家二级VB最新新题库.doc_第1页
2013年国家二级VB最新新题库.doc_第2页
2013年国家二级VB最新新题库.doc_第3页
2013年国家二级VB最新新题库.doc_第4页
2013年国家二级VB最新新题库.doc_第5页
已阅读5页,还剩180页未读 继续免费阅读

下载本文档

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

文档简介

2013年国家二级vb新题库(全)共93套考生须在每科开考前15分钟进入考场,迟到30分钟则不准参加当科考试,开考30分钟内不得交卷退场。考试中途禁止不交卷离场。考生交卷出场后不得再次进入考场,不得在考场附近逗留或交谈。*第01套 简单应用题(1)在考生文件夹下有一个工程文件sjt3.vbp,窗体上已经有一个标签label1,请添加一个单选按钮数组,名称为op1,含三个单选按钮,它们的index属性分别为0、1、2,标题依次为飞机、火车、汽车,再添加一个名称为text1的文本框。窗体文件中已经给出了op1的click事件过程,但不完整,要求去掉程序中的注释符,把程序中的?改为正确的内容,使得在程序运行时单击飞机或火车单选按钮时,在text1中显示我坐飞机去或我坐火车去,单击汽车单选按钮时,在text1中显示我开汽车去,如图所示。 注意:不能修改程序中的其他部分。最后将修改后的文件按原文件名存盘。 private sub op1_click(index as integer) dim a as string, b as string, c as string a = 我坐 b = 我开 select case ? * index * case 0 text1.text = a + me.op1(0).caption + 去 case 1 text1.text = ? + me.op1(1).caption + 去 * a * case 2 text1.text = b + me.op1(2).caption + 去 end selectend sub(2)在考生文件夹下有一个工程文件sjt4.vbp,form1窗体中有一个文本框,名称为text1;请在窗体上添加两个框架控件,名称分别为f1、f2,标题分别为性别、身份;在f1中添加两个单选按钮控件op1、op2,标题分别为男、女;在f2中添加两个单选按钮控件op3、op4,标题分别为学生、教师;再添加一个命令按钮,名称为c1,标题为确定。如图所示。请编写适当的事件过程,使得在运行时,在f1、f2中各选一个单选按钮,然后单击确定按钮,就可以按照下表把结果显示在文本框中。 性别 身份 在文本框中显示的内容 男 学生 我是男学生 男 教师 我是男教师 女 学生 我是女学生 女 教师 我是女教师 最后把修改后的文件以原来的文件名存盘。 注意:考生不得修改窗体文件中已经存在的程序和text1的属性,在结束程序运行之前,必须进行能够产生上表中一个结果的操作。必须用窗体右上角的关闭按钮结束程序,否则无成绩。 * 请考生编写程序 *if op1 and op3 then text1.text=”我是男学生”if op1 and op4 then text1.text=”我是男教师”if op2 and op3 then text1.text=”我是女学生”if op2 and op4 then text1.text=”我是女教师”*第01套 综合应用题以下数列:1,1,2,3,5,8,13,21,的规律是从第3个数开始,每个数都是其前面两个数之和。 在考生文件夹下有一个工程文件sjt5.vbp。窗体中已经给出了所有控件,如图所示。请编写适当的事件过程完成如下功能:选中一个单选按钮后,单击计算按钮,则计算出上述数列的第n项的值,并在文本框中显示,n是选中的单选按钮后面的数值。(提示:因计算结果较大,应使用长整型变量。) 注意:不能修改已经给出的程序和已有的控件的属性;在结束程序运行之前,必须选中一个单选按钮,并单击计算按钮获得一个结果;必须使用窗体右上角的关闭按钮结束程序,否则无成绩。最后把修改后的文件按原文件名存盘。private sub command1_click() * 请考生编写程序 *dim a(35) as longif op1(0) then n=30if op1(1) then n=33if op1(2) then n=35 a(1) = 1 a(2) = 1 for i = 3 to n a(i) = a(i - 1) + a(i - 2) next text1.text = a(n)end sub*第02套 简单应用题(1)在考生文件夹下有一个工程文件sjt3.vbp,窗体中有两个图片框,名称分别为p1、p2,其中的图片内容分别是一架航天飞机和一朵云彩,一个命令按钮,名称为c1,标题为发射,还有一个计时器,名称为timer1。并给出了两个事件过程,但并不完整,要求:设置timer1的属性,使其在初始状态下不计时;设置timer1的属性,使其每隔0.1秒调用timer事件过程一次。去掉程序中的注释符,把程序中的?改为正确的内容,使得在运行时单击发射按钮,则航天飞机每隔0.1秒向上移动一次,当到达p2的下方时停止移动,如图所示。注意:不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。private sub c1_click()timer1.enabled = ? * true *end subprivate sub timer1_timer()static a%a = a =+1if p1.top p2.top p2.? then * height *p1.move p1.left, p1.top - 5 - a, p1.width, p1.heightelsetimer1.enabled = ? * false *end ifend sub(2)在考生文件夹下有一个工程文件sjt4.vbp,运行情况如图所示。程序的功能是计算下列表达式的值: 其中的n和x的值通过键盘分别输入到文本框text1、text2中。之后如果单击标题为计算、名称为command1的命令按钮,则计算表达式的值z,并将计算结果显示在名称为label1的标签中。 在给出的窗体文件中已经添加了全部控件和程序,但程序不完整。要求去掉程序中的注释符,把程序中的?改为正确的内容。 注意:考生不得修改窗体文件中已经存在的程序。程序中不得使用运算符,而应使用函数xn进行幂运算。程序至少运行一次,按照下图输入数据,使x=10,n=5,单击计算按钮,计算z的值,并将结果显示在标签label1中,否则没有成绩。最后,程序按原文件名存盘。private function xn(a as single, m as integer)dim i as integertmp = 1for i = 1 to mtmp = ? * tmp*a *nextxn = ? * tmp *end functionprivate sub command1_click()dim n as integerdim i as integerdim t as singledim s, x as singlen = val(text1.text)x = val(text2.text)z = 0for i = 2 to nt = x + iz = z +? * xn(t,i) *nextlabel1.caption = ? * z *call saveresultend subprivate sub saveresult()open app.path & out4.dat for output as #1print #1, label1.captionclose #1end sub*第02套 综合应用题在考生文件夹中有一个工程文件sjt5.vbp。该程序的功能是从in5.txt文件中读入40个数据,统计这些数据中素数的个数,并找出所有素数中最小的素数(判断素数的函数已给出)。最后将查找和统计的结果分别显示在标签label4和label3中(窗体外观如图所示)。程序不完整,请在指定的位置把程序补充完整。 注意:不得修改原有程序和控件的属性。在结束程序运行之前,必须至少正确运行一次程序,将统计的结果显示在标签中,否则无成绩。最后把修改后的文件按原文件名存盘。 private arr(100) as integerpublic function prime(x as integer)k = int(sqr(x) + 5)for i = 2 to kif x mod i = 0 thenprime = falseexit functionend ifnextprime = trueend functionprivate sub command1_click()open app.path & in5.txt for input as #1for i = 1 to 40input #1, arr(i)nextclose #1end subprivate sub command2_click() * 请考生编写程序 * dim a as integer dim b as integer a = 0 b = arr(1) for i = 1 to 40 if prime(arr(i) then a = a + 1 label3.caption = a next for i = 1 to 40 if prime(arr(i) and arr(i) = b then b = arr(i) label4.caption = b next* 考生编写程序结束 *open app.path & out5.txt for output as #1print #1, label3.caption, label4.captionclose #1end sub*第03套 简单应用题(1)在考生文件夹下有一个工程文件sjt3.vbp,其功能是: 单击读数据按钮,则将考生文件夹下in3.dat文件中的100个0到999之间的整数读入到数组a中; 单击计算按钮,则找出这100个整数中的所有水仙花数,并将它们的最大值与最小值分别显示在文本框text1、text2中。(注:当一个数的值等于该数中的各位数字的立方和时,此数被称为水仙花数。如:所以153就是一个水仙花数) 在窗体文件中已经给出了全部控件(如图所示)和读数据命令按钮的事件过程以及判断一个数是否为水仙花数的通用过程。要求编写计算命令按钮的事件过程。 注意:考生不得修改窗体文件中已经存在的控件和程序,在结束程序运行前,必须进行计算,并且必须通过单击窗体右上角的关闭按钮结束程序,否则无成绩。最后,程序按原文件名存盘。dim a(100) as integerprivate sub command1_click()dim k as integeropen app.path & in3.dat for input as #1for k = 1 to 100input #1, a(k)next kclose #1end subprivate sub command2_click() * 需考生编写的程序 * dim i as integer dim max as integer, min as integer max = -1 min = 1000 for i = 1 to 100 if isnarc(a(i) then if max = a(i) then min = a(i) end if next i text1 = max text2 = minend sub以下function 过程用于判断某数是否为水仙花数function isnarc(p as integer)x = fix(p / 100)y = fix(p - x * 100) / 10)z = p - x * 100 - y * 10if p = x 3 + y 3 + z 3 thenisnarc = trueelseisnarc = falseend ifend functionprivate sub form unload(cancel as integer)open app.path & out3.dat for output as #1print #1, val(text1.text)print #1, val(text2.text)close #1end sub(2)在考生文件夹下有一个工程文件sjt4.vbp。请在窗体上添加一个组合框,名称为cb1,并输入三个列表项:3、7、11(列表项的顺序不限,但必须是这3个数字);添加一个名为text1的文本框;再添加一个标题为计算、名称为c1的命令按钮。如图所示。请编写适当的事件过程,使得在程序运行时,在组合框中选定一个数字后,单击计算按钮,则计算5000以内能够被该数整除的所有数之和,并放入text1中。最后,按原文件名存盘。提示:由于计算结果较大,应使用长整型变量。 注意:考生不得修改窗体文件中已经存在的程序,在结束程序运行之前,必须至少进行一次计算。并且必须用窗体右上角的关闭按钮结束程序,否则无成绩。private sub c1_click()* 需考生编写的程序 * dim sum as long dim n as integer dim i as integer n = val(cb1.text) for i = n to 5000 if i mod n = 0 then sum = sum + i end if next i text1.text = sumend sub*第03套 综合应用题在考生文件夹下有一个工程文件sjt5.vbp,其名称为form1的窗体上已有三个文本框text1、text2、text3,以及部分程序代码。请完成以下工作: 在属性窗口中修改text3的适当属性,使其在运行时不显示,作为模拟的剪贴板使用。窗体如图所示; 建立下拉式菜单,如下表所示:标题 名称 编辑 edit 剪切 cut 复制 copy 粘贴 paste 窗体文件中给出了所有事件过程,但不完整,请去掉程序中的注释符,把程序中的?改为正确的内容。以便实现如下功能:当光标所在的文件框中无内容时,剪切、复制不可用,否则可以把该文本框中的内容剪切或复制到text3中;若text3中无内容,则粘贴不能用,否则可以把text3中的内容粘贴在光标所在的文本框中的内容之后。 注意:不能修改程序中的其他部分。各菜单项的标题名称必须正确。最后将修改后的文件按原文件名存盘。 dim which as integerprivate sub copy_click()if which = 1 thentext3.text = text1.textelseif which = 2 thentext3.text = text2.textend ifend subprivate sub cut_click()if which = 1 thentext3.text = text1.texttext1.text = elseif which = 2 thentext3.text = text2.texttext2.text = end ifend subprivate sub edit_click()if which = ? then * 1 *if text1.text = thencut.enabled = falsecopy.enabled = falseelsecut.enabled = truecopy.enabled = trueend ifelseif which = ? then * 2 *if text2.text = thencut.enabled = falsecopy.enabled = falseelsecut.enabled = truecopy.enabled = trueend ifend ifif text3.text = thenpaste.enabled = falseelsepaste.enabled = trueend ifend subprivate sub paste_click()if which = 1 then text1.text = ? * text1.text+text3.text *elseif which = 2 then text2.text = ? * text2.text+text3.text *end ifend subprivate sub text1_gotfocus() 本过程的作用是:当焦点在text1中时,which = 1which = 1end subprivate sub text2_gotfocus() 本过程的作用是:当焦点在text2中时,which = 2which = 2end sub*第04套 简单应用题(1)在名称为form1的窗体上添加一个名称为label1、标题为添加项目:的标签;添加一个名称为text1的文本框,初始内容为空;添加一个名称为combo1的下拉式组合框,并通过属性窗口输入若干项目(不少于3个,内容任意);再添加两个命令按钮,名称分别为command1、command2,其标题分别为添加、统计。在程序运行时,向text1中输入字符,单击添加按钮后,则将text1中的内容作为一个列表项被添加到组合框的列表中;单击统计按钮,则在窗体空白处显示组合框中列表项的个数,如图所示。请编写两个命令按钮的click事件过程。 注意:程序中不得使用变量,也不能使用循环结构。存盘时必须存放在考生文件夹下,工程文件名保存为sjt3.vbp,窗体文件名保存为sjt3.frm。 * 需考生编写的程序 *private sub command1_click() combo1.additem text1end subprivate sub command2_click() print combo1.listcountend sub(2)在考生文件夹下有一个工程文件sjt4.vbp,其窗体如图所示。该程序用来对在上面的文本框中输入的英文字母串(称为明文)加密,加密结果(称为密文)显示在下面的文本框中。加密的方法为:选中一个单选按钮,单击加密按钮后,根据选中的单选按钮后面的数字n,将明文中的每个字母改为它后面的第n个字母(z后面的字母认为是a,z后面的字母认为是a ),如图所示。窗体中已经给出了所有控件和程序,但程序不完整,请去掉程序中的注释符,把程序中的?改为正确的内容。 注意:不得修改程序中的其他部分和控件的属性。最后将修改后的文件按原文件名存盘。private sub command1_click()dim n as integer, k as integer, m as integerdim c as string, a as stringfor k = 0 to 2if op1(k)value thenn = val(op1(k). ? ) * caption *end ifnext km = len(text1.text)a = for k = 1 to ? * m *c = mid$(text1.text, ? , 1) * k *c = string(1, asc(c) + n)if c z or c z and c 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 + str(a(j) + next j text2.text = chend subprivate sub c3_click()open out5.dat for output as #1print #1, text2.textclose #1end sub*第05套 简单应用题(1)在考生文件夹下有一个工程文件sjt3.vbp(相应的窗体文件名为sjt3.frm),在窗体上添加一个名称为list1的列表框和一个名称为text1的文本框,如图1所示。编写窗体的mousedown事件过程。程序运行后,如果用鼠标左键单击窗体,则从键盘上输入要添加到列表框中的项目(内容任意,不少于三个);如果用鼠标右键单击窗体,则从键盘上输入要删除的项目,将其从列表框中删除。程序的运行情况如图2所示。这个程序不完整,请把它补充完整,并能正确运行。 要求:去掉程序中的注释符,把程序中的?改为适当的内容,使其正确运行,但不能修改程序中的其他部分。最后将修改后的文件按原文件名存盘。 private sub form_mousedown(button as integer, shift as integer, x as single, y as single)if button = 1 thentext1.text = inputbox(请输入要添加的项目)list1.additem ? * text1.text *end ifif button = 2 thentext1.text = inputbox(请输入要删除的项目)for i = 0 to ? * list1.listcount-1 *if list1.list(i) = ? then * text1.text *list1.removeitem ? * i * end ifnext iend ifend sub(2)在考生文件夹下有一个工程文件sjt4.vbp(相应的窗体文件名为sjt4.frm),其功能是通过调用过程findmin求数组的最小值。程序运行后,在四个文本框中各输入一个整数,然后单击命令按钮,即可求出数组的最小值,并在窗体上显示出来(如图所示)。要求:去掉程序中的注释符,把程序中的?改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。option base 1private function findmin(a() as integer)dim start as integerdim finish as integer, i as integerstart = ?(a) * lbound *finish = ?(a) * ubound *min = ?(start) * a * for i = start to finish if a(i) ? min then min = ? * arrn(i) * min=arrn(i) end if next i print minend sub(2)在考生文件夹下有一个工程文件sjt4.vbp,相应的窗体文件为sjt4.frm,在窗体上有一个命令按钮和一个文本框。程序运行后,单击命令按钮,即可计算出01000范围内不能被7整除的整数的个数,并在文本框中显示出来。在窗体的代码窗口中,已给出了部分程序,其中计算不能被7整除的整数的个数的操作在通用过程fun中实现,请编写该过程的代码。要求:请勿改动程序中的任何内容,只在function fun( )和end function之间填入你编写的若干语句。最后把修改后的文件按原文件名存盘。sub savedata( ) open app.path & “” & “outtxt.txt” for output as #1 print #1, text1.text close #1end sub* function fun( ) 请考生编写的程序 * dim s as integer, i as integer for i = 0 to 1000 if i mod 7 0 then s = s + 1 end if next i fun = s*end function*private sub command1_click( ) d=fun( ) text1.text=d savedataend sub*第06套 综合应用题在考生文件夹下有一个工程文件sjt5.vbp,请先装入该工程文件,然后完成以下操作:在名称为form1的窗体上画二个命令按钮,其名称分别为c1和c2,标题分别为“读入数据”和“计算”(如图所示)。程序运行后,如果单击“读入数据”按钮,则调用题目所提供的readdata1和readdata2过程读入datain1.txt 和datain2.txt文件中的各20个整数,分别放入arr1和arr2两个数组中;如果单击“计算”按钮,则把两个数组中对应下标的元素相减,其结果放入第三个数组中(即:第一个数组的第n个元素减去第二个数组的第n个元素,其结果作为第三个数组的第n个元素。这里的n为1、2、。、20),最后计算第三个数组各元素之和,把所求得的和在窗体上显示出来;并调用题目中给出的writedata过程将所求得的和存入考生文件夹下的dataout.txt文件中。注意:考生不得修改窗体文件中已经存在的程序,且必须执行此程序一次,最后把修改后的文件以原来的文件名存盘。option base 1dim arr1(20) as integerdim arr2(20) as integersub readdata1( ) open app.path & “” & “datain1.txt” for input as #1 for i=1 to 20 input #1,arr1(i) next i close #1end subsub readdata2( ) open app.path & “” & “datain2.txt” for input as #1 for i=1 to 20 input #1,arr2(i) next i close #1end subsub writedata(filename as string, num as integer) open app.path & “” & filename for output as #1 print #1,num close #1end sub * 请考生编写的程序 *private sub c1_click() call readdata1 call readdata2end subprivate sub c2_click() dim arr3(1 to 20) as integer dim sum as integer sum = 0 for i = 1 to 20 arr3(i) = arr1(i) - arr2(i) sum = sum + arr3(i) next i print sum=; sum writedata dataout.txt, sumend sub*第07套 简单应用题(1)在名称为form1的窗体上添加一个名称为l1的标签,标题为口令;添加两个文本框,名称分别为text1、text2,初始内容为空;再添加三个命令按钮,名称分别为c1、c2、c3,标题分别为显示口令、隐藏口令、复制口令,在程序开始运行时,向text1中输入的所有字符,都显示为*,单击显示口令按钮后,在text1中显示所有字符,再单击隐藏口令后,text1中的字符不变,但显示的都是?,单击复制口令后,把text1中的实际内容复制到text2中,如图所示。 要求: 在属性窗口中,将窗体的标题改为口令窗口。 建立适当的事件过程,完成上述功能。每个过程中只允许写一条语句,且不能使用变量。 存盘时,工程文件名保存为sjt3.vbp,窗体文件名保存为sjt3.frm。 * 需考生编写的程序 *private sub c1_click() text1.passwordchar = end subprivate sub c2_click() text1.passwordchar = ?end subprivate sub c3_click() text2.text = text1.textend sub(2)在名称为form1的窗体上添加一个名称为p1的图片框,并利用属性窗口把考生文件夹中的图标文件open.ico放到图片框中;再添加一个通用对话框控件,名称为cd1,利用属性窗口设置相应属性,即打开对话框时:标题为打开文件,文件类型为word文档,初始文件夹为c盘根文件夹。再编写适当的事件过程,使得程序在运行时,单击p1图片框,可以打开上述对话框。程序运行后的窗体如图所示。 注意:存盘时必须存放在考生文件夹下,工程文件名保存为sjt4.vbp,窗体文件名保存为sjt4.frm。程序中不得使用任何变量。 * 需考生编写的程序 *private sub p1_click() cd1.showopenend sub*第07套 综合应用题(1)在考生文件夹下有一个工程文件sjt5.vbp,窗体上有两个命令按钮,标题分别是读数据和统计,请添加一个名称为label1、标题为回文的个数为的标签和一个名称为text1,初始内容为空的文本框,如图所示。 程序功能如下: 单击读数据按钮,则将考生文件夹下in5.dat文件的内容读到变量s中; 单击统计按钮,则统计in5.dat文件(该文件中仅含由空格间隔开的字母串)中回文的个数,并将统计的回文个数显示在text1文本框内。(所谓回文是指顺读与倒读都一样的字符串,如recycer)读数据和统计按钮的click事件过程已经给出,请完善foundhuiwen过程的功能,实现上述程序功能。 注意:考生不得修改窗体文件中已存在的控件和程序,在结束程序运行之前,必须先进行统计,且必须用窗体右上角的关闭按钮结束程序,否则无成绩。最后,程序按原文件名存盘。 function foundhuiwen(p as string) * 需考生编写的程序 * if strreverse(p) = p then foundhuiwen = trueend function*第08套 基本操作题(1)在名称为form1标题为“选题”的窗体上画一个复选框数组,名称为ch1,共有四个复选框,按顺序其标题分别是“数学”、“语文”、“外语”、“计算机”,其中“语文”、“计算机”复选框在选中状态下,运行时的窗体如图所示。请画控件并设置相应属性。注意:存盘时必须存放在考生文件夹下,工程文件名为sjt1.vbp,窗体文件名为sjt1.frm。(2)在名称为form1的窗体上画一个名称为hs1的水平滚动条,其刻度值范围为1100;画一个命令按钮,名称为c1,标题为“移动滚动框”。请编写适当的事件过程,使得在运行时,每单击命令按钮一次(假定单击次数少于10次),滚动框向右移动10个刻度。运行时的窗体如图所示。要求程序中不得使用变量,事件过程中只能写一条语句。注

温馨提示

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

评论

0/150

提交评论