vb参考资料.docx

上传人:b****5 文档编号:7177104 上传时间:2023-01-21 格式:DOCX 页数:68 大小:59.04KB
下载 相关 举报
vb参考资料.docx_第1页
第1页 / 共68页
vb参考资料.docx_第2页
第2页 / 共68页
vb参考资料.docx_第3页
第3页 / 共68页
vb参考资料.docx_第4页
第4页 / 共68页
vb参考资料.docx_第5页
第5页 / 共68页
点击查看更多>>
下载资源
资源描述

vb参考资料.docx

《vb参考资料.docx》由会员分享,可在线阅读,更多相关《vb参考资料.docx(68页珍藏版)》请在冰豆网上搜索。

vb参考资料.docx

vb参考资料

2009秋江苏计算机常用算法与上机注意事项

第三次课程:

常用算法与上机注意事项

在实际的考试中,笔试中的补充代码与上机中的改错、编程是学生普遍感到畏惧的,也是历年得分率很低的,在此,给大家说明一下关于这方面解答题目的思路:

一:

要想取得好成绩,第一要搞清楚题目意思,不能乱猜

例题:

(2007年春填空第7题)

下面程序功能是:

将文本框中用逗号分割的数据(文本框中必须要有数据),分别赋值给二维数组B的各个元素,并将B数组各个元素分行显示在文本框中,程序界面参见下图

privatesubCommand1_click()

dimb(3,3)assingle,Iasinteger,Pos1asinteger

dimPos2asInteger,Sasstring,Jasinteger

S=text1

ifS=””then

Text1=”请输入数据”

___________________

endif

ForI=1to3

Forj=1to3

Pos1=_____________________

pos2=Instr(Pos1,S,”,”)

If_____________________then

B(I,J)=Val(Mid(S,Pos1,Pos2-Pos1))

Else

B(I,J)=Val(Mid(S,Pos1))

EndIf

Text2=Text2&Str(B(I,J))

NextJ

______________________

Nexti

EndSub

分析:

拿到题目后,要分步骤,首先根据题目找出题目中的关键字眼

(1)逗号分割的数据

(2)文本框中必须要有数据

(3)赋值给二维数组B

(4)各个元素分行显示

根据关键字眼找代码中的实现部分

文本框中必须要有数据实现代码:

ifS=””then

Text1=”请输入数据”

___________________

endif

逗号分割的数据:

实现代码

pos2=Instr(Pos1,S,”,”)

赋值给二维数组实现代码

If_____________________then

B(I,J)=Val(Mid(S,Pos1,Pos2-Pos1))

Else

B(I,J)=Val(Mid(S,Pos1))

EndIf

各个元素分行显示实现代码:

NextJ

______________________

Nexti

(二)一是加深对For循环程序的理解,每一个题目都涉及到了for循环的使用,始终要记住,每一个题目都是有规律可寻的

(1)务必熟悉For循环执行流程(请查书,此处不多说)

(2)循环体中循环变量的改变影响循环次数,而初值、终值和步长的改变不会影响循环次数

(三)常见算法:

(1)穷举法:

基本思想:

不重复,不遗漏的列举出所有可能的情况,从中寻找满足条件的结果

适合用穷举法来解决的问题应具有下面两个特点:

1有明显的穷举范围且穷举的数目应该是有限的

2可能按某种规则列举穷举对象

例题:

 <2004—2007年历年真题>P168页编程题目

(2)素数问题:

素数是指只能被自己与1整除的数,最小的素数是2

例题:

 <2004—2007年历年真题>P169页改错题目

(3)整数拆分:

整数拆分就是将一个整数的个位、十位、百分位一一分离出来

例题:

<2004—2007年历年真题>P172页改错题目

(4)交换

将两个变量的值互相交换,交换时一般采用中间变量的方法:

例题:

<2004—2007年历年真题>P173页编程题目

(5)最大公约数

欧几里得算法:

辗转相除法(详细可参考书)

例题:

<2004—2007年历年真题>P174页编程题目

(6)进制转换

 十进制转换为二进制:

除二取余,直到商是0为止,再反转

十进制转换为八进制:

除八取余,直到商是0为止,再反转

十进制转换为十六进制:

与取二、八进制是一样的,所不同的是会遇到大于等于10的余数,需要转化成字母:

10-àA11->B12->C13->D14->E15->F

二进制转换成十进制:

按位权展开,展开时乘以2的次幂即可,如:

(10101)=1*2^4+0*2^3+1*2^2+0*2^1+1*2^0=21

 八、十六进制转换成十进制:

按位权展开,展开时乘以8、16的次幂即可

例题:

<2004—2007年历年真题>P147页编程题目

(7)递归调用:

详细见书说明

(8)迭代算法

特点:

(1)问题中由一个不断由旧数值推出新值的过程

(2)迭代过程有终止的条件

例题:

2007年春笔试试题填空第六题

(9)冒泡法排序(详细见书)

特点:

(1)首先进行第一趟冒泡,从数组的第一个元素开始,每一个元素都与它的下一个元素进行比较,如果小于等于下一个元素则位置不变,否则交换两个位置,这样最大的元素肯定就到了最后一个位置

(2)然后进行第二趟冒泡,从数组的第一个元素开始,到n-1个元素结束,循环继续上述过程完成冒泡过程

(10)累加与累乘

特点:

重复的在一个变量上做相加或相乘运算

dowhiletrue

sum=sum+1

loop

(11)最大最小值问题

特点:

通过比较,确定最大或最小值

dima(10)asinteger

max=a

(1)

fori=2to10

ifa(i)>maxthenmax=a(i)

next

(12)矩阵问题

例题:

2007年春填空第八题

特点:

利用二维数组来解决

上机考试注意事项

上机考试最忌讳紧张,应该沉着。

一般首先应该把第1道改错题的代码按原样输入进去,输入时要细心,不要自己制造新错误。

输人完毕应先按文件名要求保存;再试着运行看看系统提示什么错误,不要先急于运行,以免遇到死循环的诗崭。

一旦出现死循环可能会前功尽弃,可以用Ctrl++[Break】键退出死循环。

如果死循环后采用重新启动vb的做法,这样先前还没有保存的文件就丢失了。

最后根据报错或试运行结果来判断出错原因,进行修改。

记住:

发现有实在改不出来的错误,可先搁一搁,接着去做编程题目,,等做完编程题的基本部分后,再回过来改错上机考试的试题及评分标准

上机题总分占40分,其中改错题占14分,编程题占26分。

(1)改错题:

题目中都是设3个错误点(在历年上机考题中也出现过只有2个错误点的试题),一般分别是语法错误(如数组的声明、重复定义等略有难度的语法错误)、运行锚误、逻辑错误等,这些错误基本上都是平时编程时比较容易犯的错误,错误点不重复。

评分标准:

录入原题:

2分。

改错:

4分/个。

根据改错点给分,新错误不扣分。

(2)编程题:

按照题目要求的功能,根据参考界面编程,程序中都涉及一定难度的算法。

评分标准:

界面设计:

根据界面元素的复杂程度,给5~8分,每个元素得一定的分数。

“清除”按钮:

2分。

“退出”按钮:

1分。

含算法的按钮:

根据代码多少按步骤给分。

编程时注意:

首先应该进行变量的说明,然后按输入_处理一输出的顺序来设计程序的逻辑结构。

写程序时一定要记住采用规范的书写方法,这样既不容易出错,又能轻松地拿到基本分。

即根据逻辑关系采用缩进的形式来写,注意层次感,让人一看一目了然。

需要用到程序控制结构时,先把前后配套的代码(如ForI=…NextI,If…Then…EndIf)写出来,然后再在其中添加其他代码。

从历年的考试情况看,VisualBasic的上机部分虽然只考两道题,试题类型和知识点也基本固定,但并不容易拿分,很多同学只能拿到基本分。

建议考前多做针对性训练,熟练掌握以往上机考试题中涉及的各类算法题目。

第1题争取能改对2个错误,第2题除设计出程序界面、清除及退出(或结束)按钮外,争取把含算法按钮的基本代码(如变量的定义、基本算法结构、基本输入/输出语句等)写出来,这样就可以拿到25分以上了,上机考试成绩也就一定合格啦!

2009秋季江苏二级VB等考试题

江苏计算机等级考试2009秋VB考试真题

第一部分:

计算机基础知识

1.下列关于个人移动通信的叙述中,错误的是____

A.第1代个人移动通信(简称1G)采用的通信技术是数字通信技术

B.目前广泛使用的GSM手机采用的通信技术属于第2代移动通信技术(简称2G)

C.第3代移动通信技术(简称3G)将无线通信与互联网、多媒体通信相结合

D.3G有多个国际技术标准,其中也有我国自主制定的3G技术标准。

2.在下列有关集成电路的叙述中,正确的是2。

A.现代集成电路所使用的半导体材料都是硅

B.所有的集成电路都是数字集成电路

C.Moore定律认为单块集成电路的集成度平均每年翻一番

D.Intel公司微处理器产品Core2Duo,其集成度已高达数千万个电子元件

3.与十六进制数AB等值的八进制数是3。

A.253B.254C.171D.172

4.在下列有关PC机CPU的叙述中,错误的是4。

A.CPU中包含几十个甚至上百个寄存器,用来临时存放数据、指令和控制信息

B.所有PC机的CPU都具有相同的指令系统,因而PC机可使用相同的软件

C.一台计算机至少包含1个CPU,也可以包含2个、4个、8个甚至更多个CPU

D.Intel公司是国际上研制和生产CPU的主要公司,我国也能生产CPU

5.在下列有关PC机主板上部件的叙述中,错误的是5。

A.BIOS保存在主板上的一个闪存中,其内容在关机后通常不会改变

B.CMOS中保存有用户设置的开机口令,关机后主板上的电池继续给CMOS供电

C.启动CMOS设置程序可以重新设置CMOS中的数据,该程序是BIOS的组成部分

D.网卡通常集成在主板上,由主板上独立的IC实现其功能,与芯片组无关

6.从PC机存储器的层次结构来看,下列存储器中存取速度最快的是6。

A.Cache存储器B.RAM和ROMC.寄存器D.硬盘和优盘

7.在下列4种PC机常用I/O接口中,数据传输速率最高的是7。

A.PS/2B.SATAC.IEEE-1394bD.USB2.0

8.在下列有关I/O操作、I/O总线和I/O接口的叙述中,错误的是8。

A.I/O操作的任务是在I/O设备与内存的指定区域之间传送信息

B.I/O总线传送的只能是数据信号,它不能传送控制信号和地址信号

C.不同类型的I/O接口,其插头/插座以及相应的通信规程和电气特性通常各不相同

D.并行总线的数据传输速率不一定比串行总线高

9.在下列有关PC机I/0设备的叙述中,错误的是9。

A.数码相机的成像芯片可以为CCD器件或CMOS芯片,目前大多数用CCD器件

B.平板式扫描仪的分辨率通常远远高于胶片扫描仪和滚筒式扫描仪

C.常见的宽屏液晶显示器的宽度与高度之比为16:

9(或16:

10)

D.目前在银行、超市等商业部门一般采用针式打印机来打印存折和票据

10.在下列有关计算机软件的叙述中,错误的是10。

A.程序设计语言处理系统和数据库管理系统被归类为系统软件

B.共享软件是一种具有版权的软件,它允许用户买前免费试用

C.机器语言和汇编语言与特定的计算机类型有关,取决于CPU

D.目前PC机只能使用Windows系列操作系统,均不能使用UNIX和Linux操作系统

11.在下列常用的PC机软件中,编辑的文档(内容)能直接保存为图片类型(例如JPEG文件类型)的是11。

A.MicrosoftWordB.MicrosoftExcel

C.MicrosoftPowerPointD.MicrosoftFrontPage

12.在下列关于以太网(局域网)的叙述中,错误的是12。

A.在共享式以太网中,任何时间只允许一对计算机进行通信

B.在交换式以太网中,每台计算机均独享相同的带宽,其带宽仅由交换机决定

c.无论是共享式以太网还是交换式以太网,网络中的所有计算机都要安装以太网网卡

D.无论是共享式以太网还是交换式以太网,它们的数据帧和MAC地址格式均相同

13.连接在因特网上的每一台主机都有一个IP地址。

下面不能作为IP地址的是13。

A.211.256.49.68B.21.18.33.48C.120.34.0.18D.37.251.68.0

14.为了将异构的计算机网络互相连接起来,必须使用的网络设备是14。

A.调制解调器B.以太网集线器c.以太网交换机D.路由器

15.下列网络协议中,与发送电子邮件有关的是15。

A.HttpB.FTPC.SMTPD.TELNET

16.在下列有关字符集及其编码的叙述中,错误的是16。

A.基本的ASCII字符集共有128个字符,每个字符使用7个二进位进行编码

B.GB2312字符集中收录了6千多个汉字,每个字符在机内通常使用双字节编码

C.GBK字符集中的字符也采用双字节编码,且该字符集收录了部分繁体汉字

D.GB18030字符集中所有的字符均采用4字节编码,因此该字符集的代码空间很大

17.目前数码相机拍摄的照片在保存时通常采用的文件类型是17。

A.BMPB.GIFC.JPEGD.TIF

18.MP3是数字波形声音的一种压缩编码文件格式,它采用的压缩编码标准属于18。

A.MPEG-1B.MPEG-2C.MPEG-4D.DolbvAC-3

19.使用Macromedia公司的Flash软件制作的动画是一种矢量图形,在保存为动画文件

时其文件扩展名通常为19。

A.GIFB.SWFC.AVID.MPG。

20.在计算机应用中,CAD和CAM是典型的信息系统。

它们属于20。

A.管理业务系统B.辅助技术系统

c.信息检索系统D.信息分析系统

第二部分:

vb程序设计

21.要将焦点设置在某个控件上,以下四个选项中正确的是________

A.只能使用鼠标直接点击该控件

B.只能使用Tab键将焦点移到该控件

C.只能在程序中调用该控件的setfocus方法

D.A、B、C三选项中涉及的方法均可用

22.在下列属性中,属于CommandButton控件、ListBox控件共有的是22。

A.Caption、TextB.Visible、Font

C.Caption、VisibleD.List、Visible

23.数学表达式对应的visualBasic表达式是23。

A.Sin(30*3.14159/180)+Sqr(Log(x)+y)/2*3.14159+Exp(x+y)

B.(Sin(30*/180)+sqr(Ln(x)+y))/(2*+Exp(x+y))

C.Sin(30*180/3.14159)+Sqr(Log(x)+y)/(2*3.14159+e^(x+y))

D.(Sin(30*3.14159/180)+Sqr(Log(x)+Y))/(2*3.14159+Exp(x+y))

24.下列的关系表达式中,运算结果为True的是24。

A.CInt(1.5)=Int(1.5)B.Fix(1.5)=Int(1.5)

C.Fix(-1.5)=CInt(-1.5)D.Fix(-1.5)=Int(-1.5)

25.下列有关数组的叙述中,不正确的是25。

①在过程中用ReDim语句定义的动态数组,其下标的上下界可以是变量

②数组作为形式参数时,传递的是每个数组元素的值

③在窗体模块的通用声明处可以用Public说明一个全局数组

④数组定义语句中可以用负数或小数来指定某一维的维下界或维上界的值

A.②③B.①③④c.①②③④D.③④

26.以下关于文件的叙述中,错误的是26。

A•用Output模式打开一个顺序文件,即使不对它进行写操作,原来的内容也被清除

B.可以用Print#语句或Write#语句将数据写到顺序文件中

C•若以Output、Append、Random、Binary方式打开一个不存在的文件,系统会出错

D.顺序文件或随机文件都可以用二进制访问模式打开

27.下列有关控件数组的说法中,错误的是27。

A•控件数组由一组具有相同名称和相同类型的控件组成,不同类型的控件无法组成控件数组

B.控件数组中的所有控件不得具有各自不同的属性设置值

C.控件数组中的所有控件共享同一个事件过程

D.控件数组中每个元素的下标由控件的Index属性指定

28.以下Case语句中,能正确描述Y的绝对值大于6的是28。

A.CaseAbs(Y)>6B.Case-6To6

C.CaseNot(-6To6)D.CaseIs<-6,Is>6

29•若在模块中用PrivateFunctionFun(AAsSingle,BAsInteger)AsInteger定义了函数Fun。

调用函数Fun的过程中定义了I、J和K三个Integer型变量,则下列语句中不能正确调用函数Fun的语句是29。

A.Fun3.14,JB.CallFun(I,365)C.Fun(I),(J)D.K=Fun("24”,”35”)

30•若需要在同一窗体内安排两组相互独立的单选按钮(OptionButt.Dn),可使用30控件做容器将它们分开。

①TextBox②PictureBox③Image④Frame

•A.①或②B.②或③c.②或④D.③或④

二、填空题(请将答案填写在答题纸的相应答题号内,每个答案只占一行)

1.执行下面程序,单击Commandl,则数组元素a(1,2)的数值是

(1),a(2,3)的数值

(2),a(4,3)的数值是(3)。

OptionExplicit

PrivateSubCommandl_Click()

Dima(4,4)AsInteger,iAsInteger

DimjAsInteger,kAsInteger,nAsInteger

n=6:

k=2

Do

Fori=1To4

Forj=1To4

Ifi+j=kThen

a(i,j)=n

n=n-1

EndIf

Nextj

Nexti

k=k+1

LoopUntilk>8

Fori=1To4

Forj=1To4

printRight(““&a(i,j),3);

Nextj

Print

Nexti

EndSub

2.执行下面程序,单击Commandl,窗体上显示的第一行是(4),第三行是(5),

最后一行是(6)。

.

OptionExplicit

PrivateSubCommandl_Click()

DimiAsInteger,sAsInteger

Fori=1To9Step3.

s=fun((i))+fun(i)

Prints

.Nexti

EndSub

PrivateFunctionfun(mAsInteger)AsInteger

StaticaAsInteger

IfmMod2=0then

a=a+1•

m=m+1

Else

a=a+2

m=m+2

EndIf

fun=a+m

Printfun

EndFunction

3.运行下面的程序,单击Commandl,窗体上显示的第一行是(7),第二行(8),最后一行是(9)。

OptionExplicit

PrivateSubCommandl_Click()

DimaAsInteger

DimbAsInteger

a=1

b=2

Printfun((a+2),fun(2*a,b))

Printa;b

EndSub

PrivateFunctionfun(xAsInteger,ByValyAsInteger)AsInteger

x=x+2

y=x-y+3

fun=x+y

Printx;y;fun

EndFunction

4.执行下面的程序,单击Commandl,窗体上显示的第二行是(10),第三行(11),第四行是(12)。

OptionExplicit

PrivateSubCommand1_Click()

DimNAsInteger,KAsInteger

N=36:

K=5

PrintTrans(N,K)

EndSub

PrivateFunctionTrans(NAsInteger,KAsInteger)AsString

DimRAsInteger

IfN<>0Then

R=NModK

IfR<10Then

Trans=Trans(N\K,K)&R

PrintN

Else

Trans=Trans(N\K,K)&Chr(55+R)

EndIf

EndIf

EndFunction

5.运行下列程序,单击Commandl,窗体上显示的第一行内容是(13),第二行的内容

是(14),第三行的内容是(15)。

OptionExplicit.

PrivateSubCommandl_Click()

DimsAsString,kAsInteger

DimkeyAsString

s=”10101’’

key=”111000”

k=1

.Do

Callencrypt(s,key).

Prints

s=Right(s,k)&Left(s,4-k)&Mid(s,4,2)

k=k+1

LoopUntilk>3

EndSub

PrivateSubencrypt(aAsString,bAsString)

DimspAsString,nAsInteger,iAsInteger

sp="0000”

n=Len(b)-Len(a)

Ifn>0Thena=Right(sp&a,Len(b))

Fori=1ToLen(b)

IfMid(a,i,1)=Mid(b,i,1)Then

Mid(a,i,1)=”0”

Else

Mid(a,i,1)=”1”

EndIf

Nexti

EndSub.

6.下面程序的功能是求序列:

1/2、2/3、3/5、5/8、8/13、13/21、……前若干项的和,项数由文本框输入。

试完善程序使其达到功能要求。

OptionExplicit

PrivateSubCalculate_Click()

DimnAsInteger,alAsInteger,a2AsInteger

DimiAsInteger,tAsSingle,SAsSingle

n=

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 环境科学食品科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1