VB计算机二级培训重点概要4.docx
- 文档编号:10740664
- 上传时间:2023-05-27
- 格式:DOCX
- 页数:17
- 大小:34.20KB
VB计算机二级培训重点概要4.docx
《VB计算机二级培训重点概要4.docx》由会员分享,可在线阅读,更多相关《VB计算机二级培训重点概要4.docx(17页珍藏版)》请在冰点文库上搜索。
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"最大值=";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
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 计算机 二级 培训 重点 概要