VB复习要点.docx

上传人:b****5 文档编号:12692440 上传时间:2023-04-21 格式:DOCX 页数:22 大小:87.47KB
下载 相关 举报
VB复习要点.docx_第1页
第1页 / 共22页
VB复习要点.docx_第2页
第2页 / 共22页
VB复习要点.docx_第3页
第3页 / 共22页
VB复习要点.docx_第4页
第4页 / 共22页
VB复习要点.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

VB复习要点.docx

《VB复习要点.docx》由会员分享,可在线阅读,更多相关《VB复习要点.docx(22页珍藏版)》请在冰豆网上搜索。

VB复习要点.docx

VB复习要点

复习要点

1.赋值语句和Print语句

1.1交换两个变量的内容

Cup=A

A=B

B=Cup

1.2输入内容

1.2.1文本框输入到变量中

A=Val(Text1.Text)

1.2.2InputBox函数输入到变量中

A=Val(InputBox(“inputA”))

1.3输出内容

1.3.1文本框输出显示信息

Text1.Text=A

1.3.2标签输出显示信息

Label1.Caption=A

1.3.3MsgBox函数输出显示信息

R=MsgBox(“a=”&A)

1.4四舍五入

1.4.1把X四舍五入保留2位小数,结果赋值给Y

Y=Int(X*100+0.5)/100

Y=Round(X*100)/100

1.5Print方法

1.5.1输出项在同行的显示技术

在前一个输出项的后面加上逗号或者分号,下一个输出项在同行显示,逗号表示分区显示格式,分号表示紧凑格式。

1.5.2输出项的换行显示技术

在输出项的最后没有加上逗号或者分号,表示输出完本语句的输出项内容后,换行到下一行,光标在下一行的第一个列位置。

2.分支选择语句

2.1判断奇偶数

IfAMod2=0Then

Print“AisEven”

Else

Print“AisOdd”

EndIf

2.2判断X是否是3的倍数

IfXMod3=0Then

Print“Xismultipleof3.”

Else

Print“Xisnotmultipleof3.”

EndIf

2.3判断X是否是正整数

IfX>0AndX=Int(X)Then

Print“XispositiveInteger.”

Else

Print“XisnotpositiveInteger.”

EndIf

2.4根据X的取值范围,分段求出Y的值

IF语句实现

OptionExplicit

PrivateSubForm_Click()

Dimx#,y#

x=Val(InputBox("inputx"))

Ifx>100Then

y=2*x^3+3*x^2+5

ElseIfx>15Andx<30Then

y=5*x*x-12

Else

y=x+1

EndIf

Printy

EndSub

SelectCase语句实现

OptionExplicit

PrivateSubForm_Click()

Dimx#,y#

x=Val(InputBox("inputx"))

SelectCaseTrue

Casex>100

y=2*x^3+3*x^2+5

Casex>15Andx<30

y=5*x*x-12

CaseElse

y=x+1

EndSelect

Printy

EndSub

2.5水仙花数问题

◆把三位数X中的个位、十位、百位数字分离出来,方法如下:

个位数字=XMOD10

十位数字=(X\10)MOD10

百位数字=X\100

◆判断:

个位数字的立方+十位数字的立方+百位数字的立方是否等于X?

相等则X是水仙花数

不相等则X是水仙花数

OptionExplicit

PrivateSubForm_Click()

DimX%,a%,b%,c%

X=Val(InputBox("inputx"))

a=X\100

b=(XMod100)\10

c=XMod10

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

PrintX;"是水仙花数"

Else

PrintX;"不是水仙花数"

EndIf

EndSub

3.循环语句

3.1累加累乘问题

求1+2+3+……+100

OptionExplicit

PrivateSubForm_Click()

Dimi%,s&

Fori=1To100

s=s+i

Nexti

Prints

EndSub

求12的阶乘问题

OptionExplicit

PrivateSubForm_Click()

Dimi%,s&

s=1

Fori=1To100

s=s*i

Nexti

Prints

EndSub

3.2统计数量问题

找出100到999间所有是7的倍数的整数的个数

OptionExplicit

PrivateSubForm_Click()

Dimi%,c%

Fori=100To999

IfiMod7=0Thenc=c+1

Nexti

Printc

EndSub

3.3判断素数问题

OptionExplicit

PrivateSubForm_Click()

DimN%,i%,assumeAsBoolean

N=Val(InputBox("inputN"))

assume=True

Fori=2ToN-1

IfNModi=0Then

assume=False

ExitFor

EndIf

Nexti

IfassumeThen

PrintN;"isprime"

Else

PrintN;"isnotprime"

EndIf

EndSub

3.3打印”*”图形

PrivateSubForm_Click()

Dimi%,j%

Fori=1To9

Forj=1To2*i-1

Print"*";

Nextj

Print

Nexti

EndSub

PrivateSubForm_Click()

Dimi%,j%

Fori=1To9

PrintTab(20-i);

Forj=1To2*i-1

Print"*";

Nextj

Print

Nexti

EndSub

PrivateSubForm_Click()

Me.FontName="宋体"

Dimi%,j%

Fori=9To1Step-1

PrintTab(20-2*i);

Forj=1To2*i-1

Print"*";

Nextj

Print

Nexti

EndSub

PrivateSubForm_Click()

Me.FontName="宋体"

Dimi%,j%

Fori=9To1Step-1

PrintTab(20-i);

Forj=1To2*i-1

Print"*";

Nextj

Print

Nexti

EndSub

PrivateSubForm_Click()

Me.FontName="宋体"

Dimi%,j%

Fori=1To9

PrintTab(i);

Forj=1To8

Print"*";

Nextj

Print

Nexti

EndSub

PrivateSubForm_Click()

Me.FontName="宋体"

Dimi%,j%

Fori=1To9

PrintTab(20-i);

Forj=1To2*i-1

Ifj=1Orj=2*i-1Ori=9Then

Print"*";

Else

Print"";

EndIf

Nextj

Print

Nexti

EndSub

3.4最大公约数

OptionExplicit

PrivateSubForm_Click()

Dimm%,n%,tmp%,r%

m=Val(InputBox("inputM"))

n=Val(InputBox("inputN"))

Ifm

tmp=n:

n=m:

m=tmp

EndIf

r=mModn

Whiler<>0

m=n

n=r

r=mModn

Wend

Printn

EndSub

3.5水仙花数

所谓水仙花数是1个三位数,其个位数字、十位数字和百位数字的立方之和等于此数本身。

编写程序找出三位数中所有的水仙花数。

OptionExplicit

PrivateSubForm_Click()

Dimi%,a%,b%,c%

Fori=100To999

a=i\100

b=(iMod100)\10

c=iMod10

Ifa^3+b^3+c^3=iThen

Printi

EndIf

Nexti

EndSub

3.6打印出Faibonacci数列的前40个数,每行打印5个数。

OptionExplicit

PrivateSubForm_Click()

DimF1#,F2#,F3#,i%

F1=1:

F2=1

PrintF1,F2,

Fori=3To40

F3=F2+F1

PrintF3,

IfiMod5=0ThenPrint

F1=F2

F2=F3

Nexti

EndSub

3.7打印出九九乘法表

OptionExplicit

PrivateSubForm_Click()

Dimi%,j%,s%

Fori=0To9

Forj=0To9

s=i*j

Printi;"*";j;"=";s;Tab(12*(j+1));

Nextj

Print

Nexti

Print:

Me.FontSize=20

PrintTab(20);"九九乘法表"

EndSub

4数组

4.1输入10个数组元素,找出其中的最大数。

PrivateSubForm_Click()

Dimx%(1To10),i%,Max%,loc%

Fori=1To10

x(i)=Val(InputBox(""))

Printx(i);

Nexti

Print

Max=x

(1):

loc=1

Fori=2To10

IfMax

Max=x(i):

loc=i

EndIf

Nexti

Print"themaximumis:

x(";loc;")=";x(loc)

EndSub

4.2随机产生10个两位整数放于数组中,找出其中的最小数。

OptionExplicit

PrivateSubForm_Click()

Dimx%(1To10),i%,Min%,loc%

Fori=1To10

x(i)=Int(Rnd*90)+10

Printx(i);

Nexti

Print

Min=x

(1):

loc=1

Fori=2To10

IfMin>x(i)Then

Min=x(i):

loc=i

EndIf

Nexti

Print"theminimumis:

x(";loc;")=";x(loc)

EndSub

4.3随机产生10个两位整数放于数组中,然后任意输入一个数,查找数组中是否有此数。

PrivateSubForm_Click()

Dimx%(1To10),i%,N%,TAsBoolean

Fori=1To10

x(i)=Int(Rnd*90)+10

Printx(i);

Nexti

Print

N=Val(InputBox("inputN"))

Fori=1To10

IfN=x(i)Then

T=True

EndIf

Nexti

IfTThen

PrintN;"isfoundinthearray"

Else

PrintN;"isnotfoundinthearray"

EndIf

EndSub

4.4随机产生10个两位整数放于数组中,用选择法排序,按从小到大排列。

PrivateSubForm_Click()

Dimx%(1To10),i%,j%,Min%,Tmp%,loc%

Fori=1To10

x(i)=Int(Rnd*90)+10

Printx(i);

Nexti

Print

Fori=1To9

Min=x(i):

loc=i

Forj=i+1To10

IfMin>x(j)Then

Min=x(j):

loc=j

EndIf

Nextj

Tmp=x(i):

x(i)=x(loc):

x(loc)=Tmp

Nexti

Fori=1To10

Printx(i);

Nexti

EndSub

4.5随机产生10个两位整数放于数组中,用冒泡法排序,按从大到小排列。

PrivateSubForm_Click()

Dimx%(1To10),i%,j%,Min%,Tmp%,loc%

Fori=1To10

x(i)=Int(Rnd*90)+10

Printx(i);

Nexti

Print

Fori=1To9

Forj=1To10-i

Ifx(j)

Tmp=x(j):

x(j)=x(j+1):

x(j+1)=Tmp

EndIf

Nextj

Nexti

Fori=1To10

Printx(i);

Nexti

EndSub

4.6Faibonacci数列的前40个数存于数组中,打印出来,每行打印5个数。

OptionExplicit

PrivateSubForm_Click()

DimF#(1To40),i%

F

(1)=1:

F

(2)=1

PrintF

(1),F

(2),

Fori=3To40

F(i)=F(i-1)+F(i-2)

PrintF(i),

IfiMod5=0ThenPrint

Nexti

EndSub

4.7二维数组

OptionExplicit

PrivateSubForm_Click()

DimX%(1To5,1To5),i%,j%

Fori=1To5

Forj=1To5

Ifi+j=6Ori=jThen

X(i,j)=0

Else

X(i,j)=1

EndIf

PrintX(i,j);

Nextj

Print

Nexti

EndSub

5.过程和函数

5.1求两个正整数的最小公倍数

OptionExplicit

PrivateSubForm_Click()

DimM%,N%,tmp%

Do

M=Val(InputBox("inputM"))

LoopUntilM>0AndInt(M)=M

Do

N=Val(InputBox("inputN"))

LoopUntilN>0AndInt(N)=N

IfM

M=N:

N=tmp

Print"最小公倍数是:

";M*N/gys(M,N)

EndSub

Functiongys%(ByValx%,ByValy%)

Dimr%

r=xMody

DoWhiler<>0

x=y

y=r

r=xMody

Loop

gys=y

EndFunction

5.2统计1000-9999间素数的个数

OptionExplicit

PrivateSubForm_Click()

Dimi%,c%

i=9999

DoWhilei>=1000

IfisPrime(i)Thenc=c+1

i=i-1

Loop

Print"theprimenumberfrom1000to9999is:

";c

EndSub

FunctionisPrime(ByValN%)AsBoolean

DimtmpAsBoolean,i%

tmp=True

Fori=2ToN-1

IfNModi=0Thentmp=False:

ExitFor

Nexti

IftmpThenisPrime=TrueElseisPrime=False

EndFunction

5.3计算1!

+2!

+……+12!

OptionExplicit

PrivateSubForm_Click()

Dimi%,sum&

i=1

DoUntili>12

sum=sum+factorial(i)

i=i+1

Loop

Printsum

EndSub

Functionfactorial&(ByValN%)

Dimi%,s&

s=1

Fori=2ToN-2

s=s*i

Nexti

factorial=s

EndFunction

6图形图像处理

6.1把窗口的坐标原点移动到窗口的中央,以坐标原点为圆心画出5个同心圆。

OptionExplicit

PrivateSubForm_Click()

Dimx#,y#,i%

x=Me.ScaleWidth

y=Me.ScaleHeight

Me.ScaleLeft=-x/2

Me.ScaleTop=-y/2

Me.Line(-x,0)-(x,0)

Me.Line(0,-y)-(0,y)

Me.CurrentX=0

Me.CurrentY=-y/2+100

Print"Y"

Me.CurrentX=x/2-100

Me.CurrentY=0

Print"X"

Fori=1To6

Me.Circle(0,0),200+i*200

Nexti

EndSub

6.2改变窗口坐标系统的刻度单位,把坐标原点移动到窗口的中央,画出-2*PI到2*PI的正弦函数曲线。

OptionExplicit

PrivateSubForm_Click()

Dimx#,y#

ConstPI#=3.14159265358979

Me.ScaleWidth=4*PI

Me.ScaleHeight=-3

Me.ScaleLeft=-2*PI

Me.ScaleTop=1.5

Me.Line(-2*PI,0)-(2*PI,0)

Me.Line(0,-1.5)-(0,1.5)

Me.CurrentX=0

Me.CurrentY=1.3

Print"Y"

Me.CurrentX=2*PI-0.4

Me.CurrentY=0

Print"X"

Forx=-2*PITo2*PIStep0.01

y=Sin(x)

Me.PSet(x,y)

Nextx

EndSub

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

当前位置:首页 > 小学教育 > 语文

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

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