




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
VisualBasic
程序設計教程
(第3版)
HIQHCREDUCATIONPRESS
向泠大孽封駕機多.基礎??乒?/p>
http://jsjjc.tongj
VB程序設計教程(第3版)果書目當\
目錄
天、
1工
U
E早
VisualBasic程序設計概述
-
天2工、
U
E早
VB可視化編程基礎
-天、
3工
U
E早
VB語言基礎
-天、
4工
行早
章VB控制結構
第5
章數(shù)組和自定義類型
第6
上、過程
7工
身早
上、用戶界面設計
8工
身早
分、數(shù)據(jù)文件
9工
身早
圖形操作
第10章數(shù)據(jù)庫應用基礎
本書目塞卜
VB程序設計教程(第3版)
教學安排
早內(nèi)容學時實驗與學時
第1章VisualBasic程序設計概述1實驗11+1
第2章VB可視化編程基礎2實驗22+2
第3章vb語言基礎3實驗32+2
第4章VB控制結構6實驗42+2
第5章數(shù)組和自定義類型4實驗52+2
第6章過程4實驗61+1
第7章用戶界面設計4實驗72+2
第8章數(shù)據(jù)文件4實驗82+2
第9章圖形操作4實驗92+2
合計16周48學時(32+16)+課外163216+16
*第10章數(shù)據(jù)庫應用基礎8實驗102+4
VB程序設計教程(第3版)忝書目用學,、3
第4章VB控制結構
4?1順序結構
4?2選擇結構
4?3循環(huán)結構
4?4其它輔助控制語句
4?5綜合應用
4?6程序調(diào)試
和目利收
VB程序設計教程(第3版)4
4.1順序結構
VB具有結構化程序設計的三種程序控制結構,
即順序結構、選擇結構、循環(huán)結構,是程序設計
的基礎。
(1)順序結構
各語句按出現(xiàn)的先后次序執(zhí)行
用傳統(tǒng)流程
圖表示為
VB程序設計教程(第3版)本書目錄補一章目錄5
(2)選擇結構
根據(jù)條件決定執(zhí)行的語句
VB程序設計教程(第3版)本書目勢
(3)循環(huán)結構
根據(jù)條件重復執(zhí)行語句(稱為循環(huán)體)
I、當型循環(huán)結構II、直到型循環(huán)結構
VB程序設計教程(第3版)果書目錄
4.1順序結構
?一般程序設計語言中順序結構的語句主要:
賦值語句和輸入/輸出語句等。
?在VB中
賦值語句
輸入/輸出通過:
?文本框控件、標簽控件、
?InputBox函數(shù)、MsgBox函數(shù)和過程
?Print方法等來實現(xiàn)。
VB程序設計教程(第3版)本書目勢
4.1.1賦值語句
形式:變量名=表達式
[對象名,]屬性名=表達式
功能:計算表達式的值,再將此值賦給變量或?qū)?/p>
象屬性。
給變量賦值和設定屬性是VB編程中常見的兩個
任務。例如:
n=n+11計數(shù)累加
Textl.Text='M,'清除文本框的內(nèi)容
Textl.Text="歡迎使用VB”
賦值語句注意點
⑥“二”符號有兩個意義
賦值號、關系運算符等號
形式相同,系統(tǒng)會根據(jù)所處的位置判斷符號的意義
>賦值號左邊只能是變量,不能是常量、常數(shù)符號
表達式。下面均為錯誤的賦值語句:
Now()=x+y'左邊是表達式(函數(shù))
5=sqr(s)+x+y,左邊是常量
VB程序設計教程(第3版)⑥本書目更Z章目、.\
4.1.2數(shù)據(jù)輸出和輸入
1.InputBox函數(shù)
打開一個對話框,等待用戶輸入,返回字符串
一類型的輸入值。
形式:InputBox(提示[,標題兒默認值][,x坐標
位置兒丫坐標位置])///
注意:提示項不能省略。\醯矗名/r^~i
若要多行提示,可在每行
行末加回車換行vbCrLfo/
例4.1利用InputBox輸入基本工資和營業(yè)額)按
營業(yè)額的5%提成,江基實發(fā)工資并顯示。
VB程序設計教程(第3版)
2.MsgBox函數(shù)和MsgBox過程
打開一個信息框,等待用戶選擇一個按按鈕。
MsgBox函數(shù)返回所選按鈕的值,
MsgBox過程不返回值
MsgBox函數(shù)形式:
變量[%]=MsgBox(提示[,按鈕兒標題])
MsgBox過程形式:
MsgBox提示[,按鈕][,標題]
按鈕項是一整型表達式,決定信息框按鈕的數(shù)
目和類型及出現(xiàn)在信息框上的圖標形式。
VB程序設計教程(第3版)O本書目史八一章目'.
MsgBox按鈕設置
分組內(nèi)部常數(shù)值描述
VBOkOnly0確定按鈕
VBOkCancel1確定、取消按鈕
按鈕
VBAboutRetrylgnore2終止、重試、忽略按鈕
數(shù)目
VBYesNoCancel3是、否、取消按鈕
VBYesNo4是、否按鈕
VBRetryCancel5重試、取消按鈕
VBCritical16關鍵信息圖標Q
圖標VBQuestion32詢問信息圖標卻
類型VBExclamation48警告信息圖標Jy
VBInformation64信息圖標專
默認VBDefaultButtonl0第1個按鈕為默認一
按鈕VBDefaultButton256第2個按鈕為默認
VBDefaultButton3512第3個按鈕為默認
VB程序設計教程(第3版)敘本書目史?7章目臬
MsgBox所選按鈕返回值
內(nèi)部常數(shù)返回值被單擊|噬登錄
的按鈕帳號123456
vbOk1確定密碼火火火火
vbCancel2取消
vbAbort3終止檢驗密碼
vbRetry4重試
vblgnore5忽略
八密碼錯誤
vbYes6是
vbNo7否匚割瑩□:取消
例列2編一賬號和密碼輸入的檢驗程序,當輸入不正
確,如賬號為非數(shù)字字符,密碼不正確等,顯示有關
信息,再輸入。
VB程序設計教程(第3版)忝書目錄章目錄
3.Print方法
作用:在對象上輸出信息。
對象.Print[Spc(77)|Tab(刀)][輸出列表][;
對象:窗體、圖形框或打印機。缺省為窗體。
Spc(n)函數(shù):從當前位置起空刀個空格
Tab(n)函數(shù):從最左端開始計算的第n列
分號:定位在上一個被顯示的字符之后
逗號:定位在下一個打印區(qū)開始處(每區(qū)14列)
Print語句尾無分號或逗號,輸出后換行
例4.3Print方法輸出圖形
利用String函數(shù)顯示重復字符
利田彳居環(huán)結物函數(shù)顯不
VB程序設計教程(第3版)本書目錄■午
4.Format格式輸出函數(shù)
形式:Format(表達式[,”格式字符串[)
常用數(shù)值格式化符及舉例
符號作用表達式格式字符串顯示結果
0用0填充不足的位置1234.567“00000.0000”01234.5670
#位置不足時不填充01234.567”#####.####"1234.567
千分位1234.567”##,##0.000”1,234.567
%數(shù)值乘以100,加百分號1234.567”####.##%”123456.7%
$在數(shù)字前強加$1234.567”$###.##"$1234.57
E+用指數(shù)表示1234.567n0.00E+00n1.23E-01
例4.4利用Format函數(shù)顯示數(shù)侑。
VB程序設計教程(第3版)忝書目用學16
4.2選擇結構
?計算機要處理的問題往往是復雜多變的,
僅采用順序結構是不夠的。
?必須利用選擇結構等來解決實際應用中的
各種問題。
?VB中主要通過If條件語句和Select情況語
句來實現(xiàn)。它們都是對條件進行判斷,根據(jù)
判斷結果,選擇執(zhí)行不同的分支。
VB程序設計教程(第3版)本書目錄今、章目錄
4.2.1If條件語句
LIf…Then語句(單分支結構)
IfV表達式》Then
語句塊(可以是一句或多句語句
EndIf語句塊
或Ifv表達式)ThenV語句》
表達式:關系表達式、邏輯表達式,算術表達式。
表達式值按非零為True,零為FaIse進行判斷。
該語句的作用是當表達式的值為True,執(zhí)行Then后
面的語句塊,否則不做任何操作。
IF演示
VB程序設計教程(第3版)本書目錄今、章目錄18
單分支結構
例:已知兩個數(shù)x和y,比較它們的大小,使得x
大于y。
Ifx<yThen
t=x
x=y
y=t
EndIf
或Ifx<yThent=x:x=y:y=t
簡單If形式無EndIf時,只能是一句語句或語句間用
冒號分隔,而且必須在一行上書寫。
VB程序設計教程(第3版)19
雙分支結構
2.If…Then…Else語句
If表達式Then―
語句塊1J—i一口
E]§e語句塊i語句塊2
語句塊2vv
EndIf
或If表達式Then語句1Else語句2
當表達式的值為True時,執(zhí)行Then后面的
語句塊1,否則執(zhí)行Else后面的語句塊2
VB程序設計教程(第3版)忝書目錄章目錄
雙分支結構例
計算分段函數(shù)y」sinx+G7-0
Vcosx-x'+3xx=0
單分支y=cos(x)—x人3+3*x
結構實現(xiàn)Ifx<>0Theny=sin(x)+sqrt(x^x+1)
Ifx<>0Then
雙分支y=sin(x)+sqr(x*x+1)
Else
結構實現(xiàn)y=cos(x)—xA3+3*x
EndIf
VB程序設計教程(第3版)忝書目錄章目錄
多分支結構
3?lf.??Then.??Elself語句
If表達式1Then
語句塊1
Elself
[Else
EndIf
作用:根據(jù)不同的表達式值確定執(zhí)行哪個語句塊
VB程序設計教程(第3版)忝書目錄章目錄
多分支結構例
例4.7已知變量ch中存放了一個字符,判斷該字符是
字母字符、數(shù)字字符還是其他字符。
IfUCase(ch)>="A”AndUCase(ch)<=Then
MsgBox(ch+“是字母字符")’考慮大小寫字母
Elselfch>=110"Andch<="9"Then'數(shù)字字符
MsgBox(ch+”是數(shù)字字符”)
Else'除上述字符以外的字符
MsgBox(ch+”是其他字符”)
不管有幾個分支,依次判斷,當某條件滿足,執(zhí)行相應
的語句,其余分支不再執(zhí)行;若條件都不滿足,且有
Else子句,則執(zhí)行該語句塊,否則什么也不執(zhí)行。
Elself不能寫成日seIf
VB程序設計教程(第3版)殿》書目更Z章目臬
If語句的嵌套
If語句的嵌套是指If或日se后面的語句塊中又包含If語
If表達式1Then
If表達式2Then
■■■Ifx<yThent=x:x=y:y=t
EndIf
■■■Ify<zThen
EndIft=y:y=z:z=t
例已知x,y,z三個數(shù),Ifx<yThen
使得x>y>zt=x:x=y:y=t
用一個IF語句和一個嵌套EndIf
的IF語句實現(xiàn)EEnnddIIff
VB程序設計教程(第3版)
4-2-2SelectCas。語句
SelectCase變量或表達式
Case表達式列表1
語句塊1
Case表達式列表2
語句塊2表達式列表與變量或表達式的類型必
■■■須相同,是下面4種形式之一:
[CaseElse?表達式例:
語句塊n+1]?一組用逗號分隔的枚舉值2,4,6,8
EndSelect?表達式1To表達式260To100
?Is關系運算符表達式Is<60
VB程序設計教程(第3版)本書目錄章目景
SelectCas。語句例
將例4.7改用SelectCase語句實現(xiàn):
SelectCasech
Case"a11To"z",To
MsgBox(ch+”是字母字符”)
Case"0"To"9"
MsgBox(ch+”是數(shù)字字符”)
CaseElse
MsgBox(ch+”是其他字符”)
EndSelect
多分支結構,用SelectCase語句比If…Then…Elself
語句直觀,程序可讀性強。但不是所有的多分支結構
均可用SelectCase語句代替If…Then…Elself語句。
VB程序設計教程(第3版)本書目錄補一章目錄26
SelectCas。語句例
例4.9判斷坐標點(x,y),落在哪個象限。
代碼一代碼二
Ifx>0Andy>0ThenSelectCasex,y
MsgBox("在第一象限”)Casex>0Axdy>0
Elselfx<0Andy>0ThenMsgBox("在第一象限”)
Casexv0Axdy>0
MsgBox("在第二象限“)
MsgBox("在第二象限”)
Elselfx<0Andy<0Then
Casex<0Andy<0
MucRcW〃在第二象陽Q
代碼二錯誤:
1.SelectCase后不能出現(xiàn)多個變量
2.Case后不能出現(xiàn)變量及有關運算符
VB程序設計教程(第3版)本書目錄補一章目錄
4.2.3條件函數(shù)
(1)Hf函數(shù)
Hf(表達式,表達式為真時的值,表達式為假時的值)
Hf函數(shù)是If...Then...Else結構的簡潔表示
例如,將x,y中大的數(shù),放入Tmax變量中:
Tmax=llf(x>y,x,y)
該語句與如下語句等價:
Ifx>yThenTmax=xElseTmax=y
VB程序設計教程(第3版)本書目錄補一章目錄28
4.2.3條件函數(shù)
(2)Choose函數(shù)DimnopAsInteger,opAsChar
Choose健Randomize()
根據(jù)表達式的任nop=lnt(Rnd()*4+1)
果整數(shù)表達式4°P=Choose(nop,"x,丁,.,,)
MsgBox("nop="&nop&"op="&op)
例才艮據(jù)Nop的值K
Op=Choose(Nop,5rL
例4.10根據(jù)當前日期,顯示今日是星期幾。
t=Choose(Weekday(Now)「星期日”「星期一”「星期
二”「星期三”,“星期四”「星期五”「星期六”)
MsgBoxJ今天是:11&Now&t)
VB程序設計教程(第3版)本書目錄補一章目錄29
4.3循環(huán)結構
?計算機最擅長的功能之一就是按規(guī)定的條件,
重復執(zhí)行某些操作。
?例如,按照人口某增長率,對人口增長統(tǒng)計;
根據(jù)各課程的學分、績點和學生的成績,統(tǒng)計
每個學生的平均績點等。
?這類問題都可通過循環(huán)結構來方便地實現(xiàn)。
VB中提供了主要兩類循環(huán)語句:
?For循環(huán)語句(一般已知循環(huán)次數(shù));
?Do條件型循環(huán)語句(一般未知循環(huán)次數(shù)).
VB程序設計教程(第3版)本書目錄今、章目錄
4.3.1For循環(huán)語品
Fori=1To100Step2
For循環(huán)語句用于控制循環(huán)2
For循環(huán)變量=初值ToZsum=sum+i
語句塊Nexti
[ExitFor]VMsgBox(sum)
語句塊
Next循環(huán)變量計算
循環(huán)變量必須為數(shù)值型。1?100的奇數(shù)和
循環(huán)次數(shù)=加(+憶+1)
「>0初值<終值=1時,可省略
步長1<0初值,終值
j=0死循環(huán)
VB程序設計教程(第3版)本書目錄補一章目錄31
For循環(huán)語句
循環(huán)流程:
(1)循環(huán)變量被賦初值,它
僅被賦值一次。
(2)判斷循環(huán)變量是否在終
值內(nèi),如果是,執(zhí)行循環(huán)體;
如果否,結束循環(huán),執(zhí)行
Next的下一語句。
(3)循環(huán)變量加步長,轉(zhuǎn)Q),
繼續(xù)循環(huán)
例4.12將可打印的
ASCH碼制成表格輸出
VB程序設計教程(第3版)忝書目錄章目錄
4.3.2Do.“Loop循環(huán)語句
Do循環(huán)用于控制循環(huán)次數(shù)未知的循環(huán)結構。
形式1:形式2:
Do{Wh"e|Unt"}v條件〉Do
語句塊語句塊
[ExitDo[ExitDo
語句塊]語句塊]
LoopLoop{While|Until}v條件,
形式1為先判斷后執(zhí)行,有可能一次也不執(zhí)行;
形式2為先執(zhí)行后判斷,至少執(zhí)行一次。
VB程序設計教程(第3版)本書目錄補一章目錄33
Do“.Loop流程
DoWhileLoop
VB程序設計教程(第3版)忝書目錄章目錄
循環(huán)例題
例4.13我國有13億人口,按人口年增長0.8%
計算,多少年后我國人口超過26億。
解此問題兩種方法,可根據(jù)公式:
26=13(1+0.008)n
log(2)
n二---------------------------------
log(1.008)
直接利用標準函數(shù)對數(shù)可求得,但求得的年數(shù)不
為整數(shù);也可利用循環(huán)求得。
VB程序設計教程(第3版)本書目錄補一章目錄
4.3,3循環(huán)的嵌套
在一個循環(huán)體內(nèi)又包含了一個完整的循環(huán)結構
稱為循環(huán)的嵌套。循環(huán)嵌套對For循環(huán)語句和
Do…Loop語句均適用。
例4.14打印九九乘法表
國ForwlI-1同岡
九九乘法表
1X1=11X2=21X3=31X4=41X5=51X6=61X7=71X8=81X9=9
2X1=22X2=42X3=62X4=82X5=102X6=122X7=142X8=162X9=18
3X1=33X2=63X3=93X4=123X5=153X6=183X7=213X8=243X9=27
4X1=44X2=84X3=124X4=164X5=204X6二244X7=284X8=324X9=36
5X1=55X2=105X3=155X4=205X5=255X6=305X7=355X8=405X9=45
6X1=66X2=126X3=186X4=246X5=306X6=366X7=426X8=486X9=54
7X1=77X2=147X3=217X4=287X5=357X6=427X7=497X8=567X9=63
8X1=88X2=168X3=248X4=328X5=408X6=488X7=568X8=648X9=72
9X1=99X2=189X3=279X4=369X5=459X6=549X7=639X8=729X9=81
思考:打印上三角或下三角程序如何改動?
VB程序設計教程(第3版)本書目錄章目景
4.4其他輔助控制語句
4.4.1GoTo語句
無條件地轉(zhuǎn)移到標號或行號指定的那行語句。
GoTo{標號|行號}
注意:標號是字符序列,首字符必須為字母,標號后
應有冒號;行號是一個數(shù)字序列;
例4.15判斷輸入的數(shù)是否為素數(shù)
素數(shù)就是除1和本身以外,不能被其他任何整數(shù)整除的
數(shù)。根據(jù)此定義,判別某數(shù)"是否為素數(shù)最簡單的方法
就是依次用途2一療1去除,只要有一個數(shù)能整除勿,m就
不是素數(shù);否則勿是素數(shù)。
要求一定范圍內(nèi)的素數(shù),只要將m作為外循環(huán)體變量。
VB程序設計教程(第3版)本書目錄今、章目錄
4.4.2退出和結束語句
1.Exit語句
VB中有多種形式的Exit語句,用于退出某種控
制結構的執(zhí)行。Exit的形式如下:
ExitFor、ExitDo>
ExitSub>ExitFunction
2.End語句
獨立的End語句用于結束一個程序的運行,它
可以放在任何事件過程中。
VB程序設計教程(第3版)本書目錄補一章目錄38
4.5綜合應用
例416由計算機自動產(chǎn)生四則運算題,并能判
斷答案的正確性。
設計思路:
(1)通過隨機函數(shù)Rnd產(chǎn)生試題的操作數(shù)和運算
符,運算符+、?、義、?可對應編號1~4。產(chǎn)
生表達式通過Form_Load事件過程。
(2)需要有一個全局無量保存四則運算題的正確
答案,用戶答案可通過文本框輸入。
(3)本題主要將隨機函數(shù)、If語句、Select語句
綜合在一起使用。
VB程序設計教程(第3版)敘本書目史?7章目臬
綜合應用■最大公約數(shù)
例4.17用輾轉(zhuǎn)相除法求兩自然數(shù)的最大公約數(shù)。
求最大公約數(shù)的算法思想:
輾轉(zhuǎn)相減法
(1)對于兩數(shù)陽,n,使得股>〃■m=m-nm>n
■n-n-mn>m
(2)陽除以〃得余數(shù)r■〃為公約數(shù)m-n
(3)若r=0,貝切為最大公約數(shù),DoWhilem<>nmn
Ifm>nThen146
結束;否則執(zhí)行(4)
m=m-n86
(4)/6小nJ,再重復執(zhí)行(2)Else26
n=n-m24
EndIf22
Loop
VB程序設計教程(第3版)卷書目錄彳章目.
綜合應用■級數(shù)求和
例4.18求自然對數(shù)e的近似值,其誤差小于0.00001。
1111口1
近彳以公式6=1-1--+—+—+,,,+—+?,?=>一
1!2!3!?!仁!i
分析:本例涉及到程序設計中兩個重要運算:
累加Z、連乘
累加:在原有和的基礎上再加一個數(shù);
連乘:在原有積的基礎上再乘以一個數(shù)。
該題先求",再將"/進行累加,循環(huán)次數(shù)未知,
可先設置一個次數(shù)很大的值,然后在循環(huán)體內(nèi)判
斷是否到達精度,也可用DoWhile來實現(xiàn)。
VB程序設計教程(第3版)出本書目史?7章目臬
綜合應用■試湊法
例4?19百元買百雞。假定小雞每只5角,公雞每只2元,
母雞每只3元,編程求解購雞方案。
分析:
(1)設母雞、公雞、小雞各為x、y>z,列出方程為:
jr+y+z=100
3JT+2J/+0.5N=100
三個未知數(shù),兩個方程,此題求若干個整數(shù)解。
(2)計算機求解此類問題,采用試湊法(也稱窮舉法)來
實現(xiàn),即將可能出現(xiàn)的各種情況一一羅列測試,判斷
是否滿足條件,采用循環(huán)結構來實現(xiàn)。
VB程序設計教程(第3版)本書目錄今、章目錄42
綜合應用■遞推法
遞推(迭代)法基本思想是把一個復雜的計算過程轉(zhuǎn)化為
簡單過程的多次重復。每次都從舊值的基礎上遞推出新
值,并由新值代替舊值。
例4.20小猴有桃若干,第一天吃掉一半多一個;第二
天吃剩下桃子的一半多一個;以后每天都吃尚存桃子的
一半多一個,到第7天只剩一個,問小猴原有桃多少?
分析:用后一天的數(shù)推出前一天的桃子數(shù)。設第〃天的
桃子為二,是前一天的桃子的二分之一減去1。
1
X
即:Xn=—-1也就是:n-\-+1)義2
2,
迭代法類似的應用求高次方程的近似根。
VB程序設計教程(第3版)本書目錄今、章目錄43
4.6程序調(diào)試
?隨著程序的復雜性提高,程序中的錯誤也
伴隨而來。
?對初學者,看到出現(xiàn)錯誤不要害怕,關鍵
是如何改正錯誤,失敗是成功之母。
?上機的目的,不光是為了驗證你編寫的程
序的正確性,還要通過上機調(diào)試,學會查找
和糾正錯誤的方法和能力。
?VB為調(diào)試程序提供了一組交互的、有效的
調(diào)試工具。
VB程序設計教程(第3版)本書目錄今、章目錄44
4.6-1錯誤類型
語法錯誤、運行時錯誤和邏輯錯誤三類。
1、語法錯誤
錯誤的代碼顯示為紅色,
窗口上顯示出錯的原因。
VB程序設計教程(第3版)忝書目用不、『章目錄
2、運行錯誤
指令代碼執(zhí)行了一非法操作引起的。例如,類
型不匹配、試圖打開一個不存在的文件等。程
序會自動中斷,并給出有關的錯誤信息。
序工程1-Foral(Code)匚~『口|底
Fora▼|[Load
OptionExplicit、-T
PrivateSubForm_Load()
Dima%,b%,c%,flagAsBoolean
Textl.FontSize:"四號"
EndSul
ZPJLU
VB程序設計教程(第3版)46
3、邏輯錯誤
程序運行后,得不到所期望的結果,這說明程
序存在邏輯錯誤。
例如,運算符使用不正確、語句的次序不對、
循環(huán)語句的起始、終值不正確等。
通常,邏輯錯誤不會產(chǎn)生錯誤提示信息,故錯
誤較難排除,需要程序員仔細地閱讀分析程序,
并具有調(diào)試程序的經(jīng)驗。
VB程序設計教程(第3版)本書目錄今、章目錄47
4.6.2調(diào)試和排錯
VB的三種模式
1、設計模式(設計)
可以進行程序的界面設計、屬性設置、代碼編
寫等。
2、運行模式(運行)
執(zhí)行啟動命令進入運行模式。在此階段,可以
查看程序代碼,但不能修改。
3、中斷模式(Break)
執(zhí)行中斷命令,進入中斷模式。在中斷模式下
可以查看代碼、修改代碼、檢查數(shù)據(jù)。
VB程序設計教程(第3版)本書目錄今、章目錄48
調(diào)試和排錯■插入斷點
VB程序設計教程(第3版)本書目晏,、^章目暴、.
本章小節(jié)
■結構化程序設計三種結構
順序結構、選擇結構、循環(huán)結構
If■■■Then語句、SelectCase語句、For與
D。循環(huán)語句
■賦值語句與復合賦值語句
B數(shù)據(jù)輸出和輸入
lnputBox>MsgBox
■常用算法
素數(shù)判定、級數(shù)求和、試湊法、迭代法解方程
VB程序設計教程(第3版)本書目
思考題
1.結構化程序設計有哪三種基本結構?
2.MseBox與InputBox有何區(qū)別?
3.多分支If語句與SelectCase語句有何區(qū)別?
4.如果事先不知道循環(huán)次數(shù),如何用
For…Next結構實現(xiàn)循環(huán)?
5.語法錯誤、運行時錯誤和邏輯錯誤之間有何
區(qū)別?
VB程序設計教程(第3版)忝書目錄章目錄
第5章數(shù)組和自定義類型
5?1數(shù)組的概念
5?2數(shù)組的基本操作和排序
5?3列表框和組合框控件
5?4自定義類型及其數(shù)組
5?5綜合應用
VB程序設計教程(第3版)本書目錄補一章目錄
.ng5,1數(shù)組的概念
1.引例
例5.1求100個學生的平均成績,并統(tǒng)計高于平均分的
人數(shù)。用簡單變量和循環(huán),求平均成績程序段如下:
aver=0
Fori=1To100
mark=lnputBox("輸入學生成績")
aver=aver+mark
Nexti
aver=aver/100
問題
(1)mark只能放一個堂生的成績,無法統(tǒng)計高于平均
分的人數(shù)。|mark
(2)若用簡單變量保存100個學生的成績,則需定義
100個變量和仲用100句輸入語句。由此引入了數(shù)組。
VB程序設計教程(第3版)O本書目數(shù)
用數(shù)組解決問題的程序如下:
Dimmark(99)AsIntegerv聲明數(shù)組mark
Dimaver!,overn%,i%
aver=0
Fori=0To99'輸入成績,求分數(shù)和
mark(i)=lnputBox("輸入學生的成績”)
aver=aver+mark(i)
Nexti
aver=aver/100'求100人的平均分
overn=0
Fori=0To99'統(tǒng)計高于平均分的人數(shù)
Ifmark(i)>averThenovern=overn+1
Nexti
MsgBox(”平均分:"&aver&”高于平均分人數(shù):”&
overn)
mark(0)mark(1)mark(2)...mark(98)mark(99)
VB程序設計教程(第3版)本書目錄補一章目錄54
數(shù)組:不是一種數(shù)據(jù)類型,而是一組相同類
型的變量的集合。
作用:用一個數(shù)組名代表邏輯上相關的一
批數(shù)據(jù),用下標表示該數(shù)組中的各個元素,
和循環(huán)語句結合使用,使得程序書寫簡潔。
使用:必須先聲明后使用
VB程序設計教程(第3版)本書目錄今、章目錄
56.2數(shù)組聲明
一維數(shù)組
Dim數(shù)組名([下標下界To]上界)[As類型]
說明:下標下界缺省為0,下標上界為常數(shù)。
數(shù)組大小為:下標上界?下標下界+1。
作用:聲明了數(shù)組名、類型、維數(shù)、數(shù)組大小
在內(nèi)存分配一塊連續(xù)的區(qū)域。
VB程序設計教程(第3版)本書目錄補一章目錄56
例:Dimmark(99)AsInteger
聲明了一維定長整型數(shù)組mark,
共有100個元素,下標范圍為0To99;
mark數(shù)組的各元素是mark(0),mark(1)
mark(99);
markji)親示由下標i的值決定是哪一個元素。
mark藪組內(nèi)存分配如下:
mark(0)mark(1)mark(2)???mark(98)mark(99)
每個數(shù)組元素有一個唯一的順序號,下標不能超
出數(shù)組聲明時的上、
下界范圍,否則會產(chǎn)生“下標越界”錯誤。數(shù)組
元素的使用規(guī)則與同類型的簡單變量相同
VB程序設計教程(第3版)O本書目史八一章目'.
多維數(shù)組聲明
Dim數(shù)組名(([下標1下界To]上界1,([下標下界2To]
上界2…)[As類型]
下標數(shù)決定了數(shù)組的維數(shù),數(shù)組的大小為每一維大小
的乘積。
例Dimx(2,4)AsLong
聲明了一個長整型的二維數(shù)組x;共占據(jù)3X5個長整
型變量的空間..
x(0,0)x(0,1)x(0,2)x(0,3)x(0,4)
x(1,0)x(1,1)x(1,2)x(1,3)x(1,4)
x(2,0)x(2,1)x(Z2)x(2,3)x(2,4)
VB程序設計教程(第3版)本書目受章目
5.1.3動態(tài)數(shù)組及聲明
建立動態(tài)數(shù)組要分兩步:
用Dim語句聲明數(shù)組,但不能指定數(shù)組大小
Dim數(shù)組名()As數(shù)據(jù)類型
用ReDim語句動態(tài)地分配元素個數(shù)
ReDim數(shù)組名(下標[,下標2…])
例:Dims()AsSingle
SubForm_Load()
???
ReDims(4,8)
EndSub
VB程序設計教程(第3版)本書目錄補一章目錄59
定義動態(tài)數(shù)組大小注意:
Dim是說明語句,可出現(xiàn)在程序的任何地
方,而ReDim是執(zhí)行語句,只能在過程中
在過程中可多次使用ReDim語句來改變數(shù)
組的大小,但不能改變維數(shù)和類型
?可在ReDim后加Preserve參數(shù)用來保留
數(shù)組中的數(shù)據(jù),若使用Preserve參數(shù)后,只
能改變最后一維的大小。
例5.2編一個程序,顯示有n個數(shù)的非波那契數(shù)
序列
VB程序設計教程(第3版)出本書目史?7章目臬
5.2數(shù)組的基本操作
1、數(shù)組的輸入
通過TextBox控件或InputBox函數(shù)輸入
Dims(3,4)ASInteger
Fori=0To3
Forj=0To4
s(IJ)=InputBox("輸入,,&i&“「&j&11元素”)
Nextj
Nexti
VB程序設計教程(第3版)本書目錄補一章目錄
2、數(shù)組的輸出
例5.3形成5x5的方陣,分別輸出方陣中各元素、上
三角和下三角元素
BFOXMI0回區(qū))
1產(chǎn)0生方陣數(shù)據(jù)34|顯示o上三1角數(shù)2組3元釘4|顯0示下三角數(shù)組元素
5678967895ir
l*
101112A13A14A12XI31410A1*1
116112
5171819Xe8195*1
20212223242420011718
^A222324
方陣規(guī)律:第一行的元素為04,以后每一行是前一
行對應元素增加5
上三角規(guī)律:每一行的起始列與行號相同,只要控制
內(nèi)循環(huán)的初值
用Tab函數(shù)或Space定位控制輸出的空格,
VB程序設計教程(第3版)
3、求數(shù)組和、最值、位置
例5.4求一維數(shù)組中各元素之和、最小數(shù)組元素,
并將最小值數(shù)組元素與數(shù)組中第一個元素交換
?:?求元素
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 下浮 合同標準文本
- 中級會計職稱保險合同標準文本
- 代理商期權合同樣本
- 不簽訂服務合同樣本
- 公廁維修勞務合同樣本
- 義烏建設平臺合同標準文本
- 業(yè)務承包配送合同標準文本
- 一手門市買賣合同樣本
- 低價車間租賃合同標準文本
- 代銷合同與經(jīng)銷合同標準文本
- 倉庫每日檢查記錄表
- 用A4紙做會議《姓名牌》模版
- 醫(yī)院陪護服務投標方案(技術標 )
- 幼兒園小班音樂教案《做客》含反思
- 研學旅行PPT模板
- 施工組織設計-暗標
- 小區(qū)車位出租合同范本(三篇)
- 道路橋梁隧道工程監(jiān)理單位抽檢記錄表
- GB/T 20522-2006半導體器件第14-3部分:半導體傳感器-壓力傳感器
- GB/T 13824-2015旋轉(zhuǎn)與往復式機器的機械振動對振動烈度測量儀的要求
- 三相三線電能表錯誤接線分析課件
評論
0/150
提交評論