版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
實驗AVB環(huán)境和可視化編程基礎(chǔ)
1
PrivateSubCommandl_Click()
Label3=Textl
EndSub
2.
PrivateSubForm_Load()
Timerl.Interval=0
EndSub
PrivateSubCommandl_Click()'手動
Timerl.Interval=0
CallMyMove
EndSub
PrivateSubCommand2_Click(),自動
Timerl.Interval=200
EndSub
PrivateSubTimerl_Timer()
CallMyMove
EndSub
SubMyMove()
Labell.MoveLabell.Left-50,Labell.Top
IfLabell.Left<0ThenLabell.Left=Forml.Width
EndSub
3
PrivateSubForm_CIick()
Textl=Val(Textl)+1
EndSub
PrivateSubForm_Load()
Textl=0
EndSub
5
SubCommandl_Click()
Textl.FontName=''隸書''
Textl.FontSize=25
EndSub
SubCommand2_Click()
Text2.Text=Textl.SelText
Textl.FontName=Textl.FontName
Text2.FontSize=Textl.FontSize
EndSub
實驗B:順序結(jié)構(gòu)
①目的
掌握常用函數(shù)的用法以及順序結(jié)構(gòu)程序的編制;
掌握關(guān)系表達式和邏輯表達式的用法;
掌握選擇結(jié)構(gòu)的基本用法。
②內(nèi)容
教材中P263實驗4、5、6、7、8
程序代碼:
實驗4
PrivateSubCommand1_C1ick()
Text2=UCase(Textl.Text)
Print"長度";Len(Textl.Text)
EndSub
PrivateSubForm_Load()
Textl.Text=〃〃
Text2.Text=〃〃
EndSub
實驗5
PrivateSubCommandl_Click()
Randomize
Textl=Int(Rnd*901+100)
EndSub
PrivateSubCommand2_Click()
Dimx%,xl%,x2%,x3%
x=Vai(Textl)
xl=xMod10
x2=(xMod100)\10
x3=x\100
Label1=xl*100+x2*10+x3
EndSub
實驗6
PrivateSubForm_Load()
Label1=Left(Textl,11)
Labe12=Mid(Textl,12,6)
Label3=Right(Textl,5)
EndSub
實驗7
PrivateSubCommand1_C1ick()
Fori=1To5
PrintTab(15-i*2);String(2*——★〃);Spc(18-4*(i-1));
String(2
Nexti
EndSub
PrivateSubCommand2_Click()
Cis
EndSub
另一種
PrivateSubCommand1_C1ick()
Fori=1To5
PrintTab(15-i*2);String(2*i-1,;String(ll-2*i,
;String(2*i-1,”★")
Nexti
EndSub
PrivateSubCommand2_C1ick()
Cis
EndSub
實驗8
PrivateSubForm_Click()
DimaAsSingle
a=InputBox("請輸入一個正實數(shù)”)
Print"a的平方是";Int(a*a*1000+0.5)/1000;
Print"a的平方根是";Int(Sqr(a)*1000+0.5)/1000;
Print"a的立方是“;Int(a*a*a*1000+0.5)/1000;
Print"a的立方根是“;Int(a-(1/3)*1000+0.5)/1000
EndSub
實驗三:選擇結(jié)構(gòu)
①目的
掌握常用函數(shù)的用法以及順序結(jié)構(gòu)程序的編制;
掌握關(guān)系表達式和邏輯表達式的用法;
掌握選擇結(jié)構(gòu)的基本用法。
②內(nèi)容
教材中P2651、3、5、6、7、8
程序代碼:
1、
DimxAsSingle
x=Vai(InputBox("請輸入價錢”))
Ifx<1000Then
y=x
Elselfx<2000Then
y=0.9*x
Elselfx<3000Then
y=0.8*x
Else
y=0.7*x
EndIf
Print〃你應(yīng)支付:〃;y
3、
PrivateSubCommand2_Click()
Dimx!,y!,z!
x=InputBox(〃inputx〃)
y=InputBox("inputy〃)
z=InputBox("inputz〃)
Print〃xyz〃
Print排序前〃;x;〃;y;〃z
Ifx<yThent=x:x=y:y=t
Ify<zThen
t=y:y=z:z=t
Ifx<yThen
t=x:x=y:y=t
EndIf
EndIf
Print排序后〃&x&〃〃&y&〃〃&z
EndSub
5、
Dimm%,n%,x%,y%
PrivateSubForm_Load()
Textl.Text=〃〃
Text2.Text=〃〃
EndSub
PrivateSubText2_LostFocus()
m=Textl.Text
n=Text2.Text
IfnMod200Then
MsgBox(〃腳數(shù)為奇數(shù),重新輸入〃)
Text2.Text=〃〃
Text2.SetFocus
EndIf
Ifn<2*m0rn>4*mThen
MsgBox(“腳數(shù)小于頭數(shù)的倍數(shù)或大于4倍,重新輸入")
Text2.Text=
Text2.SetFocus
EndIf
EndSub
PrivateSubText3_GotFocus0
y=n/2-m
x=m-y
Text3.Text=x
Text4.Text=y
EndSub
6、
PrivateSubCommand1_Click()
DimaAsSingle,bAsSingle,cAsSingle
DimxlAsSingle,x2AsSingle
a=Val(Textl.Text):b=Val(Text2.Text):c=Val(Text3.Text)
d=b*b-4*a*c
Ifa<>0Then
Ifd>OThen
MsgBox”兩實根”
xl=(-b+Sqr(d))/2/a
x2=(-b-Sqr(d))/2/a
Text4.Text=xl:Text5.Text=x2
Elselfd=0Then
MsgBox"兩重根”
xl=-b/2/a
x2=xl
Text4.Text=xl:Text5.Text=x2
Else
MsgBox"兩復(fù)根"
xl=-b/2/a
x2=Sqr(-d)/2/a
Text4.Text=xl&"+"&x2&"i"
Text5.Text=xl&"-"&x2&"i"
EndIf
Else
Ifb<>0Then
MsgBox"單根”
xl=-c/b:x2="c/b
Text4.Text=xl:Text5.Text=x2
Else
MsgBox”無意義”
EndIf
EndIf
EndSub
PrivateSubCommand2_Click()
end
EndSub
PrivateSubForm_Load()
Text1.Text="M
Text2.Text二"”
Text3.Text=""
Text4.Text二"”
Text5.Text="n
EndSub
7、
PrivateSubText3_LostFocus()
SelectCaseTrim(Text3)
Case
Text4=Val(Textl)+Val(Text2)
Case
Text4=Val(Textl)-Val(Text2)
Case
Text4=Val(Textl)*Val(Text2)
Case”/"
IfVal(Text2)=0Then
MsgBox"分母為零,重新輸入"
Text2=""
Text2.SetFocus
Else
Text4=Val(Textl)/Val(Text:2)
EndIf
EndSelect
EndSub
8、
方法一
ch=InputBox("請輸入一個數(shù)字1—一7")
t=Choose(ch,“星期一",“星期二","星期三","星期四",”星期五","星期六“,”星期
日")
MsgBox(t)
方法二
PrivateSubForm_Click()
ch=InputBox("請輸入一個數(shù)字1——7")
SelectCasech
Case"1"
MsgBox"星期一"
Case"2"
MsgBox"星期二"
Case"3"
MsgBox"星期三"
Case"4"
MsgBox"星期四"
Case"5"
MsgBox"星期五"
Case"6"
MsgBox"星期六"
Case"7"
MsgBox"星期日"
EndSelect
EndSub
實驗三:循環(huán)結(jié)構(gòu)
①目的
掌握循環(huán)結(jié)構(gòu)的功能;
掌握For-Next和Do-Loop循環(huán)控制語句的用法;
掌握多重循環(huán)結(jié)構(gòu)的用法。
②內(nèi)容
教材中P2681、2、3、4、6
1
PrivateSubForm_Click()
Fori=1To10
PrintTab(20-i);String(2*i-1,Right(Str(i),1))
Nexti
EndSub
2
PrivateSubForm_Click()
Fori=1To9
PrintTab(i+10);String(20-2*i,Chr(i+64))
Nexti
EndSub
3
PrivateSubCommandl_Click()
Dims!,t!,i&
s=1
1
i=1
DoWhile1/t>0.0001
t=t+i
s=s+1/1
i=i+1
Loop
PrintHDoWhile結(jié)構(gòu)”;s,i-1;“項“
EndSub
PrivateSubCommand2_Click()
Dims!,t!,i&
s=1
t=1
Fori=ITo100000
t=t+i
s=s+1/1
If1/1<0.0001ThenExitFor
Nexti
Print”For結(jié)構(gòu)”;s,i;“項”
EndSub
4
PrivateSubForm_Click()
DimpiAsDouble,nAsSingle
n=InputBox(nsdfdn)
pi=2
Fori=1Ton
pi二pi*2*i*2*i/(2*i-1)/(2*i+1)
Nexti
Printpi
EndSub
6
PrivateSubForm_Click()
Fori=100To999
x=Int(i/100)
y二Int((i-x*100)/10)
z=i-x*100-y*10
Ifi=x*x*x+y*y*y+z*z*zThen
Printi,
EndIf
Nexti
EndSub
另一種方法
PrivateSubForm_Click()
Fori=1To9
Forj=0To9
Forz=0To9
Ifi*i*i+j*j*j+z*z*z=i*100+j*10+zThen
Printi*100+j*10+z,
EndIf
Nextz
Nextj
Nexti
EndSub
實驗E:數(shù)組和自定義類型
①目的
掌握數(shù)組的概念;
體會數(shù)組在處理有序數(shù)據(jù)方面的優(yōu)越性;
掌握數(shù)組的常用解題算法。
②內(nèi)容
教材中實驗:1、2、3、4、5、6
1、
PrivateSubForm_Click()
Dima(lTo10)AsInteger,i%,maxa%,mina%,avera!
Fori=1To10
a(i)=Int(Rnd*100)
Nexti
mina=a(l)
maxa=a(l)
avera=a(l)
Fori=2To10
Ifa(i)>maxaThenmaxa=a(i)
Ifa(i)<minaThenmina=a(i)
avera=avera+a(i)
Nexti
Fori=1To10
Printa(i);
Nexti
Print“max=";maxa,"min=";mina,“aver二";avera/10
EndSub
2、
PrivateSubForm_Click()
Dima
a=Array(56,78,98,88,76,78)
Fori=0To5
PrintString(a⑴\5,“?");a(i)
Nexti
EndSub
3、統(tǒng)計各分數(shù)段的個數(shù)
Dima(lTo20)AsInteger
PrivateSubCommandl_Click()
Randomize
Fori=1To20
a(i)=Int(Rnd*101)
j=j+1
Picture1.PrintTab(6*j-5);a(i);
IfjMod4=0ThenPicture1.Print:j=0
Nexti
EndSub
PrivateSubCommand2_Click()
Dims(5To9)AsInteger
Fori=1To20
j=a(i)\10
Ifj<6Then
s(5)=s(5)+1
Elselfj<9Then
s(j)=s(j)+1
Else
s(9)=s(9)+1
EndIf
Nexti
Fori=5To9
Picture2.Print"s(";i;")的人數(shù)有";s(i)
Nexti
EndSub
4、
PrivateSubForm_Click()
Dima(lTo10)AsInteger
Randomize
Fori=1To10
a(i)=Int(Rnd*90+10)
Printa(i);
Nexti
Fori=1To9
k二i
Forj=i+1To10
Ifa(k)<a(j)Thenk=j
Nextj
t=a(i):a(i)=a(k):a(k)=t
Nexti
Fori=1To10
Printa(i);
Nexti
EndSub
5、
Dima%(3,3),b%(3,3)
PrivateSubForm_Load()
Randomize
Fori=0To3
Forj=0To3
a(i,j)=Int(Rnd*36+35)
b(i,j)=Int(Rnd*41+100)
Nextj
Nexti
EndSub
PrivateSubCommandl_Click()
Picture1.Cis
Fori=0To3
Forj=OToi
Picture1.Printa(i,j);°
Nextj
Picture1.Print
Nexti
EndSub
PrivateSubCommand2_Click()
Picture2.Cls
Fori=0To3
Forj=iTo3
Picture2.PrintTab(j*6);b(i,j);
Nextj
Picture2.Print
Nexti
EndSub
PrivateSubCommand3_Click()
Picture3.Cis
sa=0
Fori=0To3
sa=sa+a(i,i)
Nexti
sb=0
Fori=0To3
sb=sb+b(i,3-i)
Nexti
Picture3.Print"A數(shù)組主對角線元素和為:sa
Picture3.Print"B數(shù)組副對角線元素和為:sb
EndSub
6、
PrivateSubPicturel_Click()
Dims(20,20)AsInteger
n=Vai(Text1.Text)
Picture1.Cis
Fori=1Ton
s(i,1)=1:s(i,i)=1
Nexti
Fori=3Ton
Forj=2Toi-1
s(i,j)=s(i-l,j-l)+s(i-l,j)
Nextj
Nexti
Fori=1Ton
Forj=1Toi
Picture1.PrintTab(1+4*j);s(i,j);
Nextj
Picture1.Print
Nexti
EndSub
楊輝三角形的第二種方法
PrivateSubPicturel_Click()
Dims(20,20)AsInteger
n=Val(Textl.Text)
Picture1.Cis
Fori=1Ton
s(i,1)=1:s(i,i)=1
Nexti
Fori=3Ton
Forj=2Toi-1
s(i,j)=s(i-l,j-l)+s(i-l,j)
Nextj
Nexti
Fori=1Ton
Forj=1Toi
Picture1.PrintTab(13-2*i+4*j);s(i,j);
Nextj
Picture1.Print
Nexti
EndSub
實驗六:過程
①目的
掌握過程的基本概念和編制方法;
掌握參數(shù)傳遞的不同方式;
用過程實現(xiàn)一些比較復(fù)雜的算法。
②內(nèi)容
教材中1、2、3、4、8
1、
PrivateSubForm_Click()
Dima(lTo10),amin,i%
Fori=1To10
a(i)=-Int(Rnd*101+300)
Printa(i);
Nexti
Calls(a(),amin)
Print〃min=〃;amin
EndSub
Subs(b(),min)
Dimi%
min=b(l)
Fori=2To10
Ifb(i)<minThenmin=b(i)
Nexti
EndSub
2、
PrivateSubCommandl_Click()
DimaAsInteger,bAsInteger
a=Val(Textl.Text)
b=Val(Text2.Text)
Picture1.Printa;b;“最大公約數(shù)”;f(a,b)
EndSub
PrivateFunctionf(byvalmAsInteger,byvalnAsInteger)AsInteger
Ifm<nThent=m:m=n:n=t
r=mModn
DoWhile(r<>0)
m=n
n=r
r=mModn
Loop
f=n
EndFunction
PrivateSubForm_Load()
Text1.Text=””
Text2.Text="n
EndSub
3、
PrivateSubCommandl_Click()
Dimx!
X=val(textl.text)
PrintMySin(x),Sin(x)
EndSub
PublicFunctionMySin(ByValx!)
Dimn%,s!,t!
t=x
s=t
Forn=2To1000step2
t=-1*t*x*x/(n*(n+1))
s=s+t
IfAbs(t)<0,00001ThenExitFor
Nextn
MySin=s
EndFunction
4、
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13Then
IfIsH(Textl)Then
Picture!.PrintTextl;n★”
Else
PictureJ.PrintTextl
EndIf
Textl”
EndIf
EndSub
FunctionIsH(ssAsString)AsBoolean
t=True
ss=Trim(ss)
Ls=Len(ss)
Fori=1ToLs\2
IfMid(ss,i,1)<>Mid(ss,Ls+1-i,1)Then
t=False
ExitFor
EndIf
Nexti
IsH=t
EndFunction
8、
用子過程
PrivateSubmaxlength(sAsString,maxsAsString,lengthAsInteger)
DimbAsString
maxs=
length=0
Fori=1ToLen(s)
x=Mid(s,i,1)
Ifx=nMThen
IfLen(b)>lengthThenlength=Len(b):maxs二b
b=,H,
Else
b=b+x
EndIf
Nexti
IfLen(b)>lengthThenlength=Len(b):maxs=b
EndSub
PrivateSubForm_Click()
DimaAsString,1AsInteger,cAsString
a=InputBox(nasadsH)
maxlengtha,c,1
Printc,1
EndSub
用函數(shù)過程
PrivateFunctionmaxlength(sAsString)AsString
DimbAsString
maxlength=
length=0
Fori=1ToLen(s)
x=Mid(s,i,1)
Ifx=nMThen
IfLen(b)>lengthThenlength=Len(b):maxlength=b
b"
Else
b=b+x
EndIf
Nexti
IfLen(b)>lengthThenlength=Len(b):maxlength=b
EndFunction
PrivateSubForm_Click()
DimaAsString
a=InputBox(nasadsn)
Printmaxlength(a),Len(maxlength(a))
EndSub
另一種方法
PrivateSubCommand1_Click()
Dimstr$
str=Textl
Text2=maxlength(str)
EndSub
PrivateFunctionmaxlength(str$)AsString
s=Split(str,nu)
1=Len(s(0)):maxlength=s(0)
Fori=1ToUBound(s)
IfLen(s(i))>lThen
maxlength=s(i)
1=Len(s(i))
EndIf
Nexti
EndFunction
實驗七:用戶界面設(shè)計
①目的
掌握窗口菜單、彈出菜單和實時菜單的設(shè)計方法;
學(xué)會通用對話框的使用;
掌握文件列表框、文件夾列表框和驅(qū)動器列表框的用法;
掌握數(shù)據(jù)文件的基本操作(打開、讀、寫、關(guān)閉)。
②內(nèi)容
教材中實驗1、2、3、6、P2737、8
本次試驗為綜合性。
1、
PrivateSubCommand1_C1ick()
Text2.Text=""
Text2.Text=Combol.Text
IfOptionl.ValueThen
Text2.Text=Text2.Text+vbCrLf+Optionl.Caption
Elself0ption2.ValueThen
Text2.Text=Text2.Text+vbCrLf+0ption2.Caption
Else
Text2.Text=Text2.Text+vbCrLf+0ption3.Caption
EndIf
Text2.Text=Text2.Text+vbCrLf+Textl.Text
IfCheckl.Value=1Then
Text2.Text=Text2.Text+vbCrLf+Checkl.Caption
EndIf
IfCheck2.Value=1Then
Text2.Text=Text2.Text+vbCrLf+Check2.Caption
EndIf
IfCheck3.Value=1Then
Text2.Text=Text2.Text+vbCrLf+Check3.Caption
EndIf
EndSub
PrivateSubForm_Load()
Combol.Additem〃聯(lián)想〃
Combol.Additem〃方正〃
Combol.Additem〃IBM〃
Combol.Additem"Compaq”
Combol.Additem〃兼容機〃
EndSub
PrivateSubTextl_LostFocus()
DimstrAsString
str=RTrim$(Textl.Text)
IfUCase$(Right$(str,2))<>〃MB〃Then
Textl.Text=〃〃
Textl.SetFocus
ExitSub
EndIf
IfNotIsNumeric(Left(str,Len(str)-2))Then
Textl.Text=〃〃
Textl.SetFocus
ExitSub
EndIf
EndSub
2、
PrivateSubCheckl_Click()
IfCheckl.Value=0Then
Textl.FontBold=False
ElselfCheckl.Value=1Then
Textl.FontBold=True
EndIf
EndSub
PrivateSubCheck2_Click()
IfCheck2.Value=0Then
Textl.Fontltalic=False
ElselfCheck2.Value=1Then
Textl.Fontltalic=True
EndIf
EndSub
PrivateSubCommand1_C1ick()
IfOptionl.Value=TrueThen
Label1.Caption=Sin(Vai(Textl.Text))
Elself0ption2.Value=TrueThen
Label1.Caption=Exp(Vai(Textl.Text))
Elself0ption3.Value=TrueThen
Label1.Caption=Sqr(Vai(Textl.Text))
EndIf
EndSub
PrivateSubForm_Load()
Textl.Text=〃〃
EndSub
3、
PrivateSubcalc()
DimSixAsSingle,SlxbjAsSingle
Slxbj=VScrol11.Value*(1+Vai(Text3.Text)/100*HScrol11.Value
/12)
Text5.Text=Slxbj
Text4.Text=Slxbj-VScrolll.Value
EndSub
PrivateSubHScrol1l_Change()
Text2.Text=HScrolll.Value
EndSub
PrivateSubHScrol12_Change()
Text3.Text=Format(HScrol12.Value,〃0.00〃)
EndSub
PrivateSubTextl_Change()
calc
EndSub
實驗八:圖形操作
①目的
學(xué)會建立坐標系;
掌握常用的圖形方法;
學(xué)會繪制常用的幾何圖形。
②內(nèi)容
教材中實驗1、2、3、4、5、6、P2831
1、
PrivateSubForm_Click()
Cis
Fori=1To20
XI二ScaleWidth*Rnd
Y1=ScaleHeight*Rnd
X2=ScaleWidth*Rnd
Y2=ScaleHeight*Rnd
r=Int(Rnd*16)
d=Int(Rnd*5+1)
DrawWidth=d
Line(XI,Y1)-(X2,Y2),QBColor(r)
Nexti
2、
PrivateSubForm_Click()
Cis
Fori=1To200
XI=ScaleWidth*Rnd
Y1=ScaleHeight*Rnd
r=Int(Rnd*16)
d=Int(Rnd*4+3)
DrawWidth=d
PSet(XI,Yl),QBColor(r)
Nexti
EndSub
3、
PrivateSubCommandl_Click()
Picture1.Cis
Picture1.Scale(-4,4)-(4,-4)
r=Picture!.ScaleWidth/2
ForS=0To2*3.14Step0.00001
x=r*Cos(4*S)*Cos⑸
y=r*Cos(4*S)*Sin(S)
Picture1.PSet(x,y)
NextS
EndSub
PrivateSubCommand2_Click()
End
EndSub
4、
PrivateSubCommand1_Click()
Scale(-4,4)-(4,-4)
ForS=0To2*3.14Step0.1
Line(0,0)-(S*Cos(S),S*Sin(S))
NextS
EndSub
5
PrivateSubForm_Click()
Dimr,xi,yi,xj,yj,xO,yO,aifAsSingle
Cis
r=Forml.ScaleHeight/2
xO=Forml.ScaleWidth/2
yO=Forml.ScaleHeight/2
n=Val(Textl)
aif=3.1415926*2/n
Fori=1Ton-1
xi=r*Cos(i*aif)+xO
yi=r*Sin(i*aif)+yO
Forj=i+1Ton
xj=r*Cos(j*aif)+xO
yj=r*Sin(j*aif)+yO
Line(xi,yi)-(xj,yj)
Nextj
Nexti
EndSub
6、
PrivateSubForm_Click()
Scale(-100,100)-(100,-100)
Fori=0To40Step2
Circle(i,0),i/2
Nexti
EndSub
P2831、
PrivateSubCommandl_Click()
DimaAsString,bAsString,cAsInteger
Open"f:\score.dat"ForOutputAs#1
Open"f:\scorel.dat"ForOutputAs#2
Fori=1To3
a=InputBox(〃學(xué)號〃)
b=InputBox(〃姓名〃)
c=Vai(InputBox(〃成績〃))
Write#1,a,b,c
Print#2,a,b,c
Nexti
Close
EndSub
PrivateSubCommand2_Click()
Open"f:\score.dat"ForInputAs#1
Open"f:\scorel.dat"ForInputAs#2
Textl.Text=〃〃
Text2.Text=〃〃
DoWhileNotEOF(l)
LineInput#1,x
Textl.Text=Textl.Text+x+vbCrLf
LineInput#2,y
Text2.Text=Text2.Text+y+vbCrLf
Loop
Close
EndSub
1.畫坐標系及正弦曲線。(要求其他曲線也會)
PrivateSubForm_Click()
Scale(-5,1)-(5,-1)
Line(-5,0)-(5,0),QBColor(12)
Line(0,-1)-(0,1),QBColor(9)
Forx=-3.14To3.14Step0.01
y=Sin(x)
PSet(x,y),QBColor(3)
Nextx
EndSub
窗體文件保存在f:\hxm\F8LFrm中,工程文件保存在f:\hxm\P8LVbp中,hxm
是文件夾。
2.畫圓和橢圓、矩形。
PrivateSubForm_Click()
Scale(-50,20)-(50,-20)
Line(-20,20)-(20,-20),,B
Circle(0,0),20
Circle(0,0),20,,,,2/1
Circle(0,0),20…,1/2
EndSub
窗體文件保存在f:\hxm\F82.Fnn中,工程文件保存在f:\hxm\P82.Vbp中,hxm
是文件夾。
3.畫矩形及填充顏色
PrivateSubForm_Click()
Scale(-50,50)-(50,-50)
FillStyle=0
FillColor=QBColor(12)
Line(-20,20)-(20,-20),QBColor(9),B
EndSub
窗體文件保存在f:\hxm\F83.Frm中,工程文件保存在f:\hxm\P83.Vbp中,hxm
是文件夾。
4.本程序含有如下菜單系統(tǒng):一級菜單有“文件”和“畫圖”,“文件”菜單下有
一二級菜單“退出”;“畫圖”菜單下有兩個二級菜單“畫曲線”、“畫矩形”,“文
件”名稱為:“退出”名稱為:mn_fl_end;“畫圖”名稱為:mn_dr;“畫
曲線”名稱為:mn_dr_yx3;“畫矩形"名稱為:mn_dr_re。
完成以下功能:
單擊畫曲線按鈕,以(-10,1000)和(10,-1000)為對角頂點建立坐標系;畫
出坐標軸和Y=X-3的曲線,X的取值區(qū)間為[T0,10];
單擊畫矩形按鈕,以(-100,100)和(100,-100)為對角頂點建立坐標系;以
(-70,50)和(70,-50)為對角頂點,顏色為12畫矩形框;
單擊“退出”停止程序的運行。
窗體文件保存在f:\hxm\F86.Frm中,工程文件保存在f:\hxm\P86.Vbp中,hxm
是文件夾。
PrivateSubmn_dr_re_Click()
Scale(-100,100)-(100,-100)
Line(-70,50)-(70,-50),QBColor(12),B
EndSub
PrivateSubmn_dr_yx3_Click()
Scale(-10,1000)-(10,-1000)
Forx=-10To10Step0.01
y二x八3
PSet(x,y)
Nextx
EndSub
PrivateSubmn_fl_end_Click()
End
EndSub
實驗一:VB開發(fā)環(huán)境和程序設(shè)計初步
①目的
掌握VisualBasic系統(tǒng)的進入、退出;
熟悉開發(fā)環(huán)境;
加深理解對象、屬性、事件以及事件過程等概念;
掌握工程的保存以及打開方法;
熟悉常用對象的常用屬性、事件和方法。
②內(nèi)容
教材中實驗L1(改為例2.1)、實驗1.3、實驗1.4、實驗
1.5、實驗1.6。
程序代碼
1.1換成例2.1
PrivateSubTextl_KeyPress(KeyAsciiAsInteger)
DimaaAsString*1
DimLengthAsInteger1Length存放文本框中字符
串的長度
Length=Len(Text2.Text)求Text2中字符串長度
aa=Chr$(KeyAscii)將ASCII碼轉(zhuǎn)換成字符
SelectCaseaa
CaseTo,大寫轉(zhuǎn)換成小寫
aa=Chr$(KeyAscii+32)
CasenanTonzn,小寫轉(zhuǎn)換成大寫
aa=Chr$(KeyAscii-32)
Case"
CaseElse
aa=*****
EndSelect
,將轉(zhuǎn)換文本框已有的內(nèi)容與剛輸入并轉(zhuǎn)換的字符連
接
Text2.Text=Text2.Text&aa
EndSub
PrivateSubCommandl_Click()
Textl.Text=""
Text2.Text=
EndSub
PrivateSubCommand2_Click()
End
EndSub
1.3
,Label控件通過位置和顏色結(jié)合產(chǎn)生浮雕效果
PrivateSubForm_Load()
Label2.Top=Label1.Top+50
Label2.Left=Labell.Left+50'Label和Label!
錯位
Label2.ForeColor=QBColor(O)1Label2字為默認
黑色
Labell.ForeColor=QBColor(15),Labell字為白色
EndSub,位置和顏色結(jié)合
產(chǎn)生浮雕效果
,控件移動可通過Move方法實現(xiàn),見左移
PrivateSubCommandl_Click()
Labell.MoveLabell.Left-50單擊一次同時
左移SOtwip單位
Label2.MoveLabell.Left-50
EndSub
,也可通過控件的位置屬性改變移動,見右移
PrivateSubCommand2_Click()
Labell.Left=Labell.Left+50'單擊一次同時右
移SOtwip單位
Labell.Left=Labell.Left+50
EndSub
1.4同上
僅在兩個命令按鈕的單擊事件中將Left改為top
1.5
PrivateSubCommandl_Click()
Cis
EndSub
PrivateSubForm_Click()
PrintTab(lO);
PrintTab(9);
Fori=1To5*輸出五行
PrintTab(9-i);”★?Spc(i-1);Spc(i-1);
Nexti
EndSub
1.6
PrivateSubCommandl_Click()
Cis
EndSub
PrivateSubForm_Click()
PrintTab(10);
PrintTab(9);
Fori=1To5*輸出五行
PrintTab(9-i);”★";Spc(i-1);”★?Spc(i-1);
Nexti
Fori=5To1Step-1輸出五行
PrintTab(9-i);Spc(i-1);Spc(i-1);
Nexti
PrintTab(9);
PrintTab(lO);
EndSub
實驗2:選擇結(jié)構(gòu)
①目的
掌握常用函數(shù)的用法以及順序結(jié)構(gòu)程
序的編制;
掌握關(guān)系表達式和邏輯表達式的用法;
掌握選擇結(jié)構(gòu)的基本用法。
②內(nèi)容
教材中P2651、3、5、6、7、8
程序代碼:
1、
DimxAsSingle
x=Vai(InputBox(〃請輸入價錢〃))
Ifx<1000Then
y二x
Elselfx<2000Then
y=0.9*x
Elselfx<3000Then
y=0.8*x
Else
y=0.7*x
EndIf
Print〃你應(yīng)支付:〃;y
3、
5、
Dimm%,n%,x%,y%
PrivateSubFormLoadO
Textl.Text=〃〃
Text2.Text=〃〃
EndSub
PrivateSubText2_LostFocus()
m=Textl.Text
n=Text2.Text
IfnMod200Then
MsgBox(〃腳數(shù)為奇數(shù),重新輸入〃)
Text2.Text二〃〃
Text2.SetFocus
EndIf
Ifn〈2*m0rn〉4*mThen
MsgBox(〃腳數(shù)小于頭數(shù)的倍數(shù)或大
于4倍,重新輸入〃)
Text2.Text=〃〃
Text2.SetFocus
EndIf
EndSub
PrivateSubText3_GotFocus()
y=n/2-m
x=m-y
Text3.Text=x
Text4.Text=y
EndSub
實驗2.6
PrivateSubForm_Click()
r=0.008
m=26
h=13
n=Log(m/h)/Log(l+r)
Printn
EndSub
實驗3.2
PrivateSubForm_Click()
s=Val(InputBox(”請輸入上網(wǎng)時間”))
Ifs<10Then
f=30
Elselfs<50Then
f=3*s
Else
f=2.5*s
Iff>150Thenf=150
EndIf
Printf
EndSub
實驗3.3
PrivateSubCommand1_Click()
DimblAsBoolean,b2AsBoolean,b3As
Boolean,b4AsBoolean
Dimml%,m2%,m3%
ml=Textl:m2=Text2:m3=Text3
bl=(ml+m2+m3)/3>=95
b2=(ml=100Andm2=100Andm3>=80)
b3=(m3=100Andm2=100Andml>=80)
b4=(ml=100Andm3=100Andm2>=80)
IfblOrb2Orb3Orb4Then
Text4二”一等獎”
Else
Text4二”無一等獎”
EndIf
EndSub
實驗3.4
PrivateSubForm_Click()
x=Val(InputBox("請輸入x的值”))
y二Val(InputBox("請輸入y的值”))
z二Val(InputBox("請輸入z的值"))
Printx,y,z
Ifx>yThen
t=x:x=y:y=z
EndIf
Ify>zThen
t=y:y=z:z=t
Ifx>yThen
t=x:x=y:y=t
EndIf
EndIf
Printx,y,z
EndSub
實驗三:循環(huán)結(jié)構(gòu)
①目的
掌握循環(huán)結(jié)構(gòu)的功能;
掌握For-Next和Do-Loop循環(huán)控制語
句的用法;
掌握多重循環(huán)結(jié)構(gòu)的用法。
②內(nèi)容
教材中實驗4.1、實驗4.2、實驗4.3、實驗
4.4、實驗4.6。
4.1
PrivateSubForm_Click()
Fori=1To10
PrintTab(20-i);String(2*i-1,Right(Str(i),
1))
Nexti
EndSub
4.2
PrivateSubForm_Click()
Fori=5To1St叩-1
PrintTab(18-3*i);”★";String(3*i-1,”☆
");“
Nexti
PrintTab(18);
Fori=1To5
PrintTab(18-3*i);"☆“;String(3*i-1,”★
Nexti
EndSub
4.3
PrivateSubCommand1_Click()
Dims!,t!,i&
s=1
t=1
i=1
DoWhile1/t>0.0001
t=t+i
s=s+1/1
i=i+1
Loop
PrintnDoWhile結(jié)構(gòu)”;s,i-1;“項“
EndSub
PrivateSubCommand2_Click()
Dims!,t!,i&
s=1
t=1
Fori=1To100000
t=t+i
s=s+1/1
If1/1<0.0001ThenExitFor
Nexti
Print"For結(jié)構(gòu)”;s,i;“項"
EndSub
4.4
PrivateSubForm_Click()
DimpiAsDouble,nAsSingle
n=InputBox(nsdfdn)
pi=2
Fori=1Ton
pi=pi*2*i*2*i/(2*i-1)/(2*i+1)
Nexti
Printpi
EndSub
4.6
PrivateSubForm_Click()
Fori=100To999
x=Int(i/100)
y=Int((i-x*100)/10)
z=i-x*100-y*10
Ifi=x*x*x+y*y*y+z*z*zThen
Printi,
EndIf
Nexti
EndSub
另一種方法
PrivateSubForm_Click()
Fori=1To9
Forj=0To9
Forz=0To9
Ifi*i*i+j*j*j+z*z*z=i*100+j*
10+zThen
Printi*100+j*10+z,
EndIf
Nextz
Nextj
Nexti
EndSub
4.8
PrivateSubCommand1_Click()
x=Textl.Text
IfLen(x)>7Then
MsgBox”大于7位,請重輸”
Textl.Text=nn
Textl.SetFocus
Else
Fori=1To7
a=a+Mid(x,i,1)*(8-i)
Nexti
a=aMod10
Label1.Caption=a&x
EndIf
EndSub
實驗四:數(shù)組
①目的
掌握數(shù)組的概念;
體會數(shù)組在處理有序數(shù)據(jù)方面的優(yōu)越性;
掌握數(shù)組的常用解題算法。
②內(nèi)容
教材中實驗5.1、實驗5.3、實驗5.4、實驗5.6、實
驗5.7。
5.1
PrivateSubForm_Click()
Dima(lTo10)AsInteger,i%,maxa%,mina%,avera!
Fori=1To10
a(i)=Int(Rnd*100)
Nexti
mina=a(l)
maxa=a(l)
avera=a(l)
Fori=2To10
Ifa(i)>maxaThenmaxa二a(i)
Ifa(i)<minaThenmina=a(i)
avera=avera+a(i)
Nexti
Fori=1To10
Printa(i);
Nexti
Print"max=";maxa,"min=";mina,"aver=";avera/10
EndSub
5.2統(tǒng)計各分數(shù)段的個數(shù)
PrivateSubForm_Click()
Dims(5To9)AsInteger
Randomize
Fori=1To20
mark/Int(Rnd*101)
Printmark;
IfiMod10=0ThenPrint
j二mark\10
Ifj<6Then
s⑸=s(5)+1
Elselfj<9Then
s(j)=s(j)+1
Else
s(9)=s(9)+1
EndIf
Nexti
Fori=5To9
Prints(i)
Nexti
EndSub
5.3方法一
PrivateSubForm_Click()
Dims(lTo15)AsString*1,cAsString*1
s(l)=Chr(Int(Rnd*26+65))
Forn=2To15
re:c=Chr(Int(Rnd*26+65))
Forj=1Ton-1'找到有重復(fù)字母,重新產(chǎn)生
Ifs①二cThenGoTore
Nextj
s(n)二c
Nextn
Fori=1To15
Prints(i);
Nexti
EndSub
方法二
PrivateSubForm_Click()
Dims(lTo15)AsString*1,cAsString*1,FoundAs
Boolean
s(l)=Chr(Int(Rnd*26+65))
n=2
DoWhilen<=15
c=Chr(Int(Rnd*26+65))
Found=False
Forj=1Ton-1
Ifs(j)=cThenFound二True
Nextj
IfNotFoundThen
s(n)=c
n=n+1
EndIf
Loop
Fori=1To15
Prints(i);
Nexti
EndSub
5.4產(chǎn)生10個遞增的數(shù)
PrivateSubForm_Click()
Dims(lTo10)AsInteger,cAsInteger
Randomize
s(l)=Int(Rnd*301+100)
Fori=2To10
re:c二Int(Rnd*301+100)
Ifc<=s(i-1)ThenGoTore
s(i)=c:k=i
Ifc=400ThenExitFor
Nexti
Fori=1Tok
Prints(i);
Nexti
EndSub
5.5
PrivateSubForm_Click()
Dimxf%(lTo5),mark%(lTo5),jd%,i%,sumxf%,
sumxfmark%
Fori=1To5
xf(i)=Val(InputBox("輸入學(xué)分"))
mark(i)=Val(InputBox("輸入成績"))
Nexti
sumxf=0
sumxfmark=0
Fori=1To5
sumxf=sumxf+xf(i)
Ifmark(i)>=90Then
jd=4
Elselfmark(i)>=80Then
jd=3
Elselfmark(i)>=70Then
jd=2
Elselfmark(i)>=60Then
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年物業(yè)管理改善協(xié)議3篇
- 小班音樂教案錦集10篇
- 雙十一營銷活動方案大全10篇
- 醫(yī)院護士演講稿(合集15篇)
- 軍訓(xùn)心得高一范文5篇
- 邀請活動的邀請函八篇
- 感恩中學(xué)生演講稿三篇
- 會計的實習(xí)報告三篇
- 乒乓球比賽的作文400字合集7篇
- 保護水資源倡議書15篇
- DB32T 4353-2022 房屋建筑和市政基礎(chǔ)設(shè)施工程檔案資料管理規(guī)程
- 航空小鎮(zhèn)主題樂園項目規(guī)劃設(shè)計方案
- 保潔冬季防滑防凍工作措施
- 少兒美術(shù)課件-《我的情緒小怪獸》
- 拆除工程原始記錄
- 重視圍透析期慢性腎臟病患者的管理課件
- 預(yù)應(yīng)力鋼絞線張拉伸長量計算程序單端(自動版)
- 企業(yè)內(nèi)部審計情況報表
- 基坑監(jiān)測課件ppt版(共155頁)
- 露天臺階爆破設(shè)計
- 中式婚禮PPT幻燈片課件
評論
0/150
提交評論