VB计算机二级培训重点概要4.docx

上传人:b****1 文档编号:10740664 上传时间:2023-05-27 格式:DOCX 页数:17 大小:34.20KB
下载 相关 举报
VB计算机二级培训重点概要4.docx_第1页
第1页 / 共17页
VB计算机二级培训重点概要4.docx_第2页
第2页 / 共17页
VB计算机二级培训重点概要4.docx_第3页
第3页 / 共17页
VB计算机二级培训重点概要4.docx_第4页
第4页 / 共17页
VB计算机二级培训重点概要4.docx_第5页
第5页 / 共17页
VB计算机二级培训重点概要4.docx_第6页
第6页 / 共17页
VB计算机二级培训重点概要4.docx_第7页
第7页 / 共17页
VB计算机二级培训重点概要4.docx_第8页
第8页 / 共17页
VB计算机二级培训重点概要4.docx_第9页
第9页 / 共17页
VB计算机二级培训重点概要4.docx_第10页
第10页 / 共17页
VB计算机二级培训重点概要4.docx_第11页
第11页 / 共17页
VB计算机二级培训重点概要4.docx_第12页
第12页 / 共17页
VB计算机二级培训重点概要4.docx_第13页
第13页 / 共17页
VB计算机二级培训重点概要4.docx_第14页
第14页 / 共17页
VB计算机二级培训重点概要4.docx_第15页
第15页 / 共17页
VB计算机二级培训重点概要4.docx_第16页
第16页 / 共17页
VB计算机二级培训重点概要4.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

VB计算机二级培训重点概要4.docx

《VB计算机二级培训重点概要4.docx》由会员分享,可在线阅读,更多相关《VB计算机二级培训重点概要4.docx(17页珍藏版)》请在冰点文库上搜索。

VB计算机二级培训重点概要4.docx

VB计算机二级培训重点概要4

第五讲常用控件

重点1选择结构

1.单分支结构(If…Then语句)格式:

(1)单行If〈条件〉Then〈语句〉

(2)多行

If〈条件〉Then

〈语句块〉

EndIf

2.双分支结构(If…Then…Else语句)格式:

(1)单行If〈条件〉Then语句1Else语句2

(2)多行

If〈条件〉Then

〈语句块1〉

Else

〈语句块2〉

EndIf

课上例题:

例2:

两个文本框text1,text2在text1中输入字母,text2中会自动动态计数,直到text1中出现"."时停止计数

PrivateSubText1_Change()

IfRight(Text1.Text,1)<>"."Then

Text2.Text=Len(Text1.Text)

Else

Text1.Enabled=False

Text2.Enabled=False

EndIf

EndSub

(3)IIf函数

格式:

result=IIf(条件,True部分,False部分)

  注:

 其中,“result”是函数的返回值,“条件”是一个逻辑表达式。

当“条件”为真时,IIf函数返回“True部分”,否则返回“False部分”。

“True部分”或“False部分”可以是表达式、变量或其他函数。

课上例题

例3:

设a=“a”,b=“b”,c=“c”,d=“d”,执行语句x=IIf((ad),“A”,“B”)后,x的值为( D )。

    

A.“a”     B.“b”     C.“B”     D.“A”

3.块结构条件语句

块结构条件语句一般格式如下:

    If条件1Then

    语句块1

    [ElseIf条件2Then

    语句块2]

    [ElseIf条件3Then

    语句块3]

    ……

    [Else

    语句块n]

    EndIf 

课上例题:

例5:

函数A()、B()、C()分别实现三种不同的功能,令X=1、Y=-4、Z=0,那么下述代码的功能是( A)。

    If(X>0)Then

    A()

    ElseIf(Y<10)Then

    B()

   ElseIf(Z<3)Then

    C()

    EndIf

    A.执行函数A()  B.执行函数B()  C.执行函数C() D.以上都不正确

重点2:

多分支控制结构

情况语句(SelectCase)

SelectCase〈测试表达式〉

Case〈表达式列表1〉

〈语句块1〉

Case〈表达式列表2〉

〈语句块2〉

……

Case〈表达式列表n〉

〈语句块n〉

[CaseElse

〈语句块n+1〉]

EndSelect

注意:

“表达式列表”可以采用下述形式:

(1)表达式[,表达式]

(2)表达式To表达式(前<=后)

(3)Is关系运算表达式

(Is后只能跟关系运算符,并且条件只能是简单条件,不能用逻辑运算符将两个或多个简单条件组合在一起。

(4)三种形式的混用,用逗号分隔

课上例题:

例6:

以下Case语句中错误的是(C )。

A)Case0To10B)CaseIs>10C)CaseIs>10AndIs<50  D)Case3,5,Is>10

重点3:

循环结构

1.For循环

格式:

For〈循环变量〉=〈初值〉To〈终值〉[Step步长]

〈循环体〉

[ExitFor]

Next〈循环变量〉

功能:

当循环变量的值在初值到终值范围内时,执行一次循环体中的语句块,并使初值增加一个步长。

当循环变量的值不在初值到终值范围内时,就退出循环,执行Next后面的语句。

循环次数

课上例题:

例:

PrivateSubform_click()

DimiAsInteger,jAsInteger

j=10

Fori=1TojStep2

i=i+1

j=j-i

Nexti

Printi,j

EndSub

窗体上显示结果为__13_,__-16___

解题思路:

第一次执行循环体后I和j的值:

2,8

第二次执行循环体后I和j的值:

5,3

第三次执行循环体后I和j的值:

8,-5

第四次执行循环体后I和j的值:

11,-16

第四次执行循环体后循环变量i+步长=13

 2.当循环

格式:

While条件

循环语句序列

Wend

功能:

条件为真时,执行循环体。

 3.Do循环

格式1:

Do[While|Until〈条件〉]

语句块

[ExitDo]

语句块

Loop

格式2:

Do

语句块

[ExitDo]

语句块

Loop[While|Until〈条件〉]

功能:

关键字While用于指明〈条件〉为真(True)时,执行循环体;关键字Until用于指明〈条件〉为假(False)时,执行循环体。

课上例题:

例:

PrivateSubForm_Click()

Dimk,n,mAsInteger

n=5:

m=1:

k=1

DoWhilek<=n

m=m*2

k=k+1

Loop

Printm

EndSub

程序运行后窗体上显示结果为____32____

解题思路:

第1次循环:

k=1<5,m=m*2=1*2=2,k=k+1=1+1=2

第2次循环:

k=2<5,m=m*2=2*2=4,k=k+1=2+1=3

第3次循环:

k=3<5,m=m*2=4*2=8,k=k+1=3+1=4

第4次循环:

k=4<5,m=m*2=8*2=16,k=k+1=4+1=5

第5次循环:

k=5=5,m=m*2=16*2=32,k=k+1=5+1=6

 3.多重循环

在循环体内又包含了一个完整的循环结构,称为循环的嵌套。

循环嵌套对For循环语句和Do…Loop语句均适用。

多重循环口诀:

外层循环控制行,内层循环控制列。

外层循环执行一次,内层循环执行一周。

注意:

(1)在多重For循环中,不同层循环的循环变量不能相同

(2)在多重For循环中,不同循环层的起始语句和终止语句要成对出现

(3)在多重循环中,要注意最内层的执行次数

(4)在Exitdo、Exitfor强制退出循环时,退出的是其所在的内层循环。

课上例题:

多重For循环

PrivateSubForm_Click()

Fori=1To3

Forj=1Toi

Fork=jTo3

a=a+1

Nextk

Nextj

Nexti

EndSub

a的值为___14______。

解题分析:

第一个大循环:

当外循环i等于1的时候下面都等于1所以第2个循环J也等于1第3个循环3次。

一个大循环结束了

第二个大循环:

外循环i从2开始第2个循环i等于2,第3个循环就要循环2次,当第2个循环为1的时候第3个循环执行一周等于a=3然后当i等于2的时候下面再循环一次,j从2开始这时候的a=2大循环又一次结束

第三个大循环i从3开始依照上面思考最后第3次循环A=6

加上前面的3+3+2+3+2+1=14

多重DO循环:

下列程序共执行了__10___次循环。

DimintsumAsInteger

DimiAsInteger

DimjAsInteger

i=1

Do

j=1

Do

intsum=intsum+j

j=j+2

printj;

LoopUntilj>3

i=i+2

LoopUntili>10

选择结构常用算法:

常用算法

(一)

算法是对某个问题求解过程的描述

1.累加、连乘、条件计数

(1)1~100的5或7的倍数的和

Sum=0

Fori=1To100

IfiMod5=0Ori_Mod7=0Then

Sum=Sum+i

EndIf

Nexti

PrintSum

(2)3~10的乘积

t=1

Fori=3To10

t=t*i

Nexti

Printt

(3)条件计数

n=0

fori=n1ton2

if条件Then

n=n+1

endif

nexti

2.求素数

素数:

只能被1和本身整除的数。

9不是、7是

思路:

如果能被2——n-1整除,n则不是素数,否则是素数。

从2—n-1逐一处理,若能被整除则退出循环。

最后根据循环变量和终值的关系,判断是否退出。

Fori=2ton-1’n-1也可以改为n/2或sqr(n)

Ifnmodi=0thenexitfor

Nexti

Ifi>n-1then‘以上面要对应

Print“是”

Else

Print“否”

endif

3.最小、最大值

在若干个数中求最大值,一般先假设一个较小的数为最大值的初值,若无法估计较小的值,则取第一个数为最大值的初值;然后将每一个数与最大值比较,若该数大于最大值,将该数替换为最大值;依次逐一比较。

例:

随机产生10个500~1000之间的数,求最大值。

PrivateSubCommand1_Click()

Max=500

Fori=1To10

x=Int(Rnd*501+500)

Printx;

Ifx>MaxThenMax=x

Nexti

Print

Print"最大值=";Max

EndSub

4.字符处理

思路:

从第一个字符到最后一个逐一处理,分别取出每个字符。

例:

将大写字母变小写,小写字母变大写

PrivateSubCommand1_Click()

s=Text1.Text

Fori=1ToLen(s)

x=Mid(s,i,1)

Ifx<"A"Orx>"Z"Then

Ifx<"a"Orx>"z"Then

MsgBox"出错",0

ExitFor

EndIf

EndIf

Ifx>="A"Andx<="Z"Then

s1=Chr(Asc(x)+32)

EndIf

Ifx>="a"Andx<="z"Then

s1=Chr(Asc(x)-32)

EndIf

s2=s2+s1

Nexti

Text2=s2

EndSub

5.打印ASCII码表

PrivateSubForm_Click()

Dimascii%,i%

PrintChr(10),"ascii对照表"

Forascii=32To126

PrintTab(7*i+2);Chr(ascii);"=";ascii;

i=i+1

Ifi=7Then

i=0

Print

EndIf

Nextascii

EndSub

计算机二级考试VB常用算法:

1、约数因子

算法说明

1)最大公约数:

用辗转相除法求两自然数m、n的最大公约数。

(1)首先,对于已知两数m、n,比较并使得m>n;

(2)m除以n得余数r;

(3)若r=0,则n为求得的最大公约数,算法结束;否则执行步骤(4)

(4)m→nn→r再重复执行

(2)

譬如:

10与5

分析步骤:

m=10n=5

r=mmodn=0

所以n(n=5)为最大公约数

24与9

分析步骤:

m=24n=9r=mmodn=6r≠0m=9n=6

r=mmodn=3r≠0m=6n=3r=mmodn=0

所以n(n=3)为最大公约数

算法实现

PrivateFunctionGCD(ByValmAsLong,ByValnAsLong)AsLong

DimtempAsLong

Ifm

m=n:

n=temp

DimrAsLong

Do

r=mModn

Ifr=0ThenExitDo

m=n

n=r

Loop

GCD=n

EndFunction

最大公约数扩展:

1)最小公倍数

m×n÷最大公约数

2)互质数

最大公约数为1的两个正整数

2、进制转化

算法说明

1)十进制正整数m转换为R(2-16)进制的字符串。

思路:

将m不断除r取余数,直到商为0,将余数反序即得到结果。

算法实现:

PrivateFunctionTran(ByValmAsInteger,ByValrAsInteger)AsString

DimStrDtoRAsString,nAsInteger

DoWhilem<>o

n=mModr

m=m\r

Ifn>9Then

StrDtoR=Chr(65+n-10)&StrDtoR‘将余数n转换为字符(10转为A,11为B,依次类推,然后放到转换后字符串的前面(实现反序排列)

Else

StrDtoR=n&StrDtoR

EndIf

Loop

Tran=StrDtoR

EndFunction

2)R(2-16)进制字符串转换为十进制正整数。

思路:

R进制数每位数字乘以权值之和即为十进制数。

解题技巧

进制转化的原理要清楚,同时编写代码时候要留意16进制中的A-F字符的处理

算法实现:

PrivateFunctionTran(ByValsAsString,ByValrAsInteger)Asinteger

DimnAsInteger,decAsInteger

s=UCase(Trim(s))

Fori%=1ToLen(s)

IfMid(s,i,1)>="A"Then

n=Asc(Mid(s,i,1))-Asc("A")+10‘将字母A转换为10,B转换为11,….

Else

n=Val(Mid(s,i,1))

EndIf

dec=dec+n*r^(Len(s)-i)

Nexti

Tran=dec

EndFunction

重点题型:

(1)S=2/1+3/2+5/3+8/5+13/8+…的前贰拾项和

PrivateSubCommand1_Click()

DimtAsInteger

Dima1AsDouble,a2AsDouble,aAsDouble,sumAsDouble

a1=1

a2=1

Fori=1To20

t=a1+a2

a1=a2:

a2=t:

a=a2/a1

sum=sum+a

Nexti

Print"数列前20项和为"&sum

EndSub

(2)打印出所有“水仙花数”,所谓“水仙花数

是指一个三位数,其各位数字的立方和等于该数本身。

如:

153是一个水仙花数,因为153=13+53+33

PrivateSubForm_Click()

DimaAsInteger,bAsInteger,cAsInteger,iAsInteger

Fori=100To999

a=Int(i/100)‘求任意三位数的百位

b=Int(i/10-a*10)十位

c=iMod10个位

Ifi=a^3+b^3+c^3Then

Printi

Nexti

EndSub

(3)求1到100之间能被3整除但不能被7整除的所有数、个数及其和,将结果显示在文本框中。

privatesubcommand1_click

dimsumasinteger‘和

dimcountasinteger‘个数

sum=0:

count=0:

text3.text="“

Fori=1to100

IfiMod3=0AndiMod7<>0Then

count=count+1

sum=sum+i

text3.text=text3.text&i‘text3显示都有什么数

EndIf

Next

text1.text="和为:

"+sum

text2.text="个数为:

"+count

endsub

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2