vbnet新-第6章數(shù)據(jù)處理_第1頁(yè)
vbnet新-第6章數(shù)據(jù)處理_第2頁(yè)
vbnet新-第6章數(shù)據(jù)處理_第3頁(yè)
vbnet新-第6章數(shù)據(jù)處理_第4頁(yè)
vbnet新-第6章數(shù)據(jù)處理_第5頁(yè)
已閱讀5頁(yè),還剩63頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

6.1

程序開(kāi)發(fā)的兩步界面設(shè)計(jì)代碼設(shè)計(jì)程序順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)程序基本控制結(jié)構(gòu)(三種)6.2

數(shù)據(jù)的順序結(jié)構(gòu)處理輸出計(jì)算輸入順序結(jié)構(gòu)的程序設(shè)計(jì)是最簡(jiǎn)單的,只要按照解決問(wèn)題的順序?qū)懗鱿鄳?yīng)的語(yǔ)句就行。順序結(jié)構(gòu)就是各語(yǔ)句按出現(xiàn)的先后次序執(zhí)行順序結(jié)構(gòu)可以獨(dú)立使用構(gòu)成一個(gè)簡(jiǎn)單的完整程序,常見(jiàn)的輸入、計(jì)算,輸出的程序就是順序結(jié)構(gòu)。輸出計(jì)算輸入賦值語(yǔ)句(常量或表達(dá)式、通過(guò)TextBox控件等)賦值語(yǔ)句向TextBox控件、Label控件相應(yīng)屬性賦值或通過(guò)使用MsgBox函數(shù)等語(yǔ)句或工具語(yǔ)法格式:變量名=表達(dá)式對(duì)象名.屬性名

=

表達(dá)式6.2數(shù)據(jù)的輸入--賦值語(yǔ)句功能:

計(jì)算賦值號(hào)“=”右邊表達(dá)式的值,然后賦給賦值號(hào)“=”左邊的變量或?qū)傩?。x=5x=20*5y=2*x+10st$=“abcdef1234”x=val(TextBox1.text)TextBox1.Text=x錯(cuò)誤的賦值5=x+yx+y=10sin(x)=0.5f(x)=x^2+x+106.2數(shù)據(jù)的輸入--賦值語(yǔ)句例如:賦值語(yǔ)句一般要求賦值號(hào)兩邊的類型一致。當(dāng)兩邊類型不一致時(shí)賦值語(yǔ)句的轉(zhuǎn)換規(guī)則將等號(hào)右邊表達(dá)式的值強(qiáng)制轉(zhuǎn)換成符合等號(hào)左邊變量或?qū)ο髮傩缘臄?shù)據(jù)類型值;如強(qiáng)制轉(zhuǎn)換不成功,則在程序運(yùn)行時(shí)會(huì)報(bào)錯(cuò)。6.2數(shù)據(jù)的輸入--賦值語(yǔ)句intScore%

=

4.2intScore%

=

"456"intScore%

=

"hey5678"intScore%

=

"87ea65“intScore%

=

""'轉(zhuǎn)換時(shí)四舍五入,結(jié)果為4'intScore的值為456‘出錯(cuò)'出錯(cuò)'出錯(cuò)6.2數(shù)據(jù)的輸入--賦值語(yǔ)句Dim

a%a=TrueDim

b%b=FalseDim

blnB1

AsBooleanblnB1=

78Dim

blnB2

As

BooleanblnB2

=0Dim

strS1$strS1=

TrueDim

strS2$strS2=

45.67'a=-1'b=0'blnB1=True'blnB2=False'strS1="True"'strS2="45.67"賦值語(yǔ)句的應(yīng)用:重復(fù)多次執(zhí)行累加(1)Sum

=

Sum

+

x計(jì)數(shù)(2)n=

n+1累乘(3)T=

T

*X6.2數(shù)據(jù)的輸入--賦值語(yǔ)句Dim

n%,T%n=n

+1'

n+=1T=T*5'T*=5Dim

str1$textbox1.text

=

textbox1.text

&

str1‘textBox1.text &=

str16.2數(shù)據(jù)的輸入--賦值語(yǔ)句復(fù)合賦值運(yùn)算符:op=op為:+,-,*,/,\,&如:+=

,-=,*=,/=,\=,&=復(fù)合賦值語(yǔ)句格式為:變量op=表達(dá)式等價(jià)于變量=變量op

表達(dá)式6.3數(shù)據(jù)的輸出—輸出方式兩種方式:方式一:在應(yīng)用程序界面中,通過(guò)賦值語(yǔ)句將結(jié)果賦給

Label、文本框TextBox、

框PictureBox等控件的相應(yīng)屬性進(jìn)行輸出顯示。TextBox1.text=“a*b的結(jié)果為”

&

a*b方式二:通過(guò)使用MsgBox函數(shù),以彈出消息框的形式,進(jìn)行輸出。MsgBox(“a*b的結(jié)果為”

&

a*b)MsgBox的功能是進(jìn)行提示,用以確認(rèn)某種程序的操作,簡(jiǎn)稱“消息框”。2.

MsgBox(消息框)MsgBox函數(shù)用于在屏幕上的消息框中顯示簡(jiǎn)短消

息,并等待用戶單擊按鈕,然后返回一個(gè)整數(shù)型的數(shù)值,讓應(yīng)用程序了解用戶單擊的是哪一個(gè)按鈕。語(yǔ)法格式:MsgBox(Prompt[,Buttons][,Title])功能:在屏幕上顯示一個(gè)消息框,根據(jù)選擇確定其后的操作。其中:Buttons=基本類型[+圖標(biāo)類型][+默認(rèn)按鈕]表6.1

按鈕的類型及其對(duì)應(yīng)的值符號(hào)常量值顯示出來(lái)的按鈕vbOkOnly0顯示“確定”按鈕vbOKCancel1顯示“確定”和“取消”按鈕vbAbortRetryIgnore2顯示“中止(A)”、“重試(R)”、和“忽略(I)”按鈕vbYesNoCancel3顯示“是(Y)”、“否(N)”和“取消”按鈕vbYesNo4顯示“是(Y)”、“否(N)”按鈕vbRetryCancel5顯示“重試(R)”、和“取消”按鈕表6.2

圖標(biāo)的類型及其對(duì)應(yīng)的值符號(hào)常量值在消息框上顯示出來(lái)的圖標(biāo)vbCritical16關(guān)鍵信息圖標(biāo)vbQuestion32詢問(wèn)信息圖標(biāo)vbExclamation48警告信息圖標(biāo)vbInformation64信息圖標(biāo)表6.3

默認(rèn)按鈕及其對(duì)應(yīng)的值符號(hào)常量值默認(rèn)按鈕DefaultButton10第一個(gè)按鈕是默認(rèn)的活動(dòng)按鈕DefaultButton2256第二個(gè)按鈕是默認(rèn)的活動(dòng)按鈕DefaultButton3512第三個(gè)按鈕是默認(rèn)的活動(dòng)按鈕符號(hào)常量值用戶單擊的按鈕vbOK1“確定”vbCancel2“取消”vbAbort3“中止”vbRetry4“重試”vbIgnore5“忽略”vbYes6“是””vbNo7“否”當(dāng)用戶單擊消息框上的某按鈕時(shí),MsgBox函數(shù)將返回一個(gè)常量來(lái)確認(rèn)該按鈕被按動(dòng)了,下表是按鈕和常量之間的對(duì)應(yīng)關(guān)系。通過(guò)對(duì)返回值的判斷,就可以確定消息框中到底是哪個(gè)按鈕被按動(dòng),從而確定程序下一步的運(yùn)行方式。表Msgbox函數(shù)的可能返回值6.4

數(shù)據(jù)分支處理對(duì)于要先做判斷再選擇的問(wèn)題就要使用分支結(jié)構(gòu),如下面例子。分支結(jié)構(gòu)的執(zhí)行是依據(jù)一定的條件選擇執(zhí)行路徑,而不是嚴(yán)格按照語(yǔ)句出現(xiàn)的物理順序。分支結(jié)構(gòu)-IF語(yǔ)句塊IFIf

條件

Then語(yǔ)句塊1[Else語(yǔ)句塊2]End

If行IFIf

條件

Then

語(yǔ)句塊1

[Else

語(yǔ)句塊2]當(dāng)條件表達(dá)式的值為True時(shí),執(zhí)行Then后面的語(yǔ)句塊1,否則執(zhí)行Else后面的語(yǔ)句塊2條件語(yǔ)句塊1語(yǔ)句塊2TFIfThenElse缺省Else部分的分支結(jié)構(gòu)-IF語(yǔ)句塊IFIf

條件

Then語(yǔ)句塊End

IfThen行IFIf

條件

語(yǔ)句塊當(dāng)條件表達(dá)式的值為True,執(zhí)行Then后面的語(yǔ)句塊,否則不做任何操作。條件語(yǔ)句塊TFIfThenElse例:變量a,b均有值,要求:變量

a的值必須比變量b

小,否則交換變量a和b的值。分析:a<b時(shí),兩者值不變a>b時(shí),兩者的值交換If a>b

Thent

=aa

=

bb=

tEnd

Iftba也可改寫成行IF語(yǔ)句,如下所示:If a>b

Then t

=

a

a

=

b:

b=

t312例:輸入實(shí)數(shù)x,求下面的分段函數(shù)f(x)的值Private

Sub

Button1_Click(ByVal

sender

AsSystem.Object,

ByVal

e

As

System.EventArgs)

HandlesButton1.ClickDim

x,

y

As

Singlex

=

Val(TextBox1.Text)If

x

<=

4

Theny

=

1

-

x

^

2Elsey

=

(x

-4)^

(1

/

4)End

IfTextBox2.Text

=

yEnd

Sub分支結(jié)構(gòu)練習(xí)格式:IIf(表達(dá)式,TruePart,F(xiàn)alsePart)IIF函數(shù)功能:如果表達(dá)式的值為真,則函數(shù)IIF返回表達(dá)式

TruePart的值,否則返回表達(dá)式FalsePart的值。

IIf函數(shù)是If…Then…Else結(jié)構(gòu)的簡(jiǎn)潔表示例如,將x,y中大的數(shù),放入Tmax變量中,可用:If

x>y

Then

Tmax=

x

Else

Tmax

=

y實(shí)現(xiàn),也可用如下方法實(shí)現(xiàn):Tmax

=

IIf(x>y,x,y)第24

頁(yè)6.4

數(shù)據(jù)的多分支處理對(duì)于要先做判斷再選擇的問(wèn)題就要使用分支結(jié)構(gòu),如下面例子:分支結(jié)構(gòu)的執(zhí)行是依據(jù)一定的條件選擇執(zhí)行路徑,而不是嚴(yán)格按照語(yǔ)句出現(xiàn)的物理順序。IF嵌套If

表達(dá)式1

Then……If

表達(dá)式2

Then語(yǔ)句塊1[Else語(yǔ)句塊2]End

If……Else……If

表達(dá)式3

Then語(yǔ)句塊3[Else語(yǔ)句塊4

]End

If……End

If當(dāng)要實(shí)現(xiàn)多分支時(shí),可以在IF語(yǔ)句的語(yǔ)句塊1或語(yǔ)句塊2處再用IF語(yǔ)句,這樣就是IF嵌套。語(yǔ)法格式:If

表達(dá)式1

Then……If

表達(dá)式2

Then語(yǔ)句塊1Else語(yǔ)句塊2End

If……ElseIf

表達(dá)式3

Then語(yǔ)句塊3Else語(yǔ)句塊4End

IfIf

表達(dá)式1

Then……If

表達(dá)式2

Then語(yǔ)句塊1Else語(yǔ)句塊2End

If……ElseIf

表達(dá)式3

Then語(yǔ)句塊3Else語(yǔ)句塊4End

IfEnd

If書寫方式如下語(yǔ)法格式If

表達(dá)式1Then語(yǔ)句塊1ElseIf

表達(dá)式2

Then語(yǔ)句塊2…ThenElseIf

表達(dá)式n語(yǔ)句塊n[Else語(yǔ)句塊n+1]End

If可實(shí)現(xiàn)如下多分支結(jié)構(gòu)表達(dá)式1語(yǔ)句塊1語(yǔ)句塊2表達(dá)式2語(yǔ)句塊n語(yǔ)句塊n+1TFTF表達(dá)式nTFelseElseifElseifThenIf例6.6

某商場(chǎng)促銷采用購(gòu)物打折的顧客一次購(gòu)物金額:辦法,即每位①在1000元以上者(含1000元),按7折②在500元以上者(含500元),按8.5折③在200元以上者(含200元),按9.5折④低于200元,不打折。。。。編程實(shí)現(xiàn)當(dāng)輸入購(gòu)物金額時(shí),并顯示最終的需付金額。根據(jù)題目的表述,可以歸納如下式子,其中x表示購(gòu)物金額,y表示需付的金額。Private

SubButton1_Click(ByVal

sender

AsSystem.Object,

ByVal

e

AsSystem.EventArgs)

HandlesButton1.ClickDim

x,

y

As

Singlex

=

Val(TextBox1.Text)If

x

>=

1000Theny

=0.7

*

xElseIf

x

>=

500

Theny

=0.85

*xElseIf

x

>=

200

Theny

=0.95

*xElsey

=

xEnd

IfTextBox2.Text

=

yEnd

Sub多分支結(jié)構(gòu)舉例例已知字符變量ch中存放了一個(gè)字符,判斷該字符是字母字符、數(shù)字字符還是其他字符。If

UCase(ch)>="A"And

UCase(ch)<="Z"ThenMsgBox(ch

&

"是字母字符")ElseIf

ch

>="0"And

ch

<="9"ThenMsgBox(ch

&

"是數(shù)字字符")ElseMsgBox(ch

&

"是其他字符")EndIfx

=

aEnd

IfMsgbox("x="

&x)End

Sub下列程序執(zhí)行后,變量X的值為(

)Private

Sub

Form1_Click(…-)…-.Dim

a,

b,

c,

x

As

Singlea

=100

:b

=

20

:c

=300If

b

>a

Thenc

=

a

:

a

=

b

:

b

=cEnd

IfIf

b

>

c

Thenx

=

bElseIf

a

>c

Thenx

=

cElseX=1006.4.2 Select

Case語(yǔ)句多分支情況還可以使用Select

Case語(yǔ)句實(shí)現(xiàn)。Select

Case語(yǔ)句結(jié)構(gòu)格式如下:Select

Case<測(cè)試表達(dá)式>[Case<情況列表1>[<語(yǔ)句塊1>]][Case<情況列表2>[<語(yǔ)句塊2>]]……[Case

Else[<語(yǔ)句塊n+1>]]End

Select<測(cè)試表達(dá)式>用于表示要進(jìn)行判斷的對(duì)象<情況列表>用于表示條件的分支情況,它可以是下面的表示法或其組合(各項(xiàng)之間以逗號(hào)間隔):<常量>;<下界>to<上界>;Is<關(guān)系運(yùn)算符><表達(dá)式>要求<測(cè)試表達(dá)式>的類型和<情況列表>的類型一致。<情況列表>例子”1.

10,9“a”,”e”,”o”,”i”,”u”“

”,”

”,”2. 10to

353. Is>=

80Is

<

60Select

Case語(yǔ)句的執(zhí)行過(guò)程為:將<測(cè)試表達(dá)式>的值分別和各個(gè)<情況列表>的各項(xiàng)進(jìn)行比較,如相等或在其區(qū)間范圍

中,則執(zhí)行相應(yīng)的語(yǔ)句塊,執(zhí)

行完后執(zhí)行EndSelect后面的語(yǔ)句,如果沒(méi)有一個(gè)<情況列表>的各項(xiàng)值符合要求,則執(zhí)行

Case

Else對(duì)應(yīng)的語(yǔ)句塊(沒(méi)有

CaseElse子句,則什么都不做),執(zhí)行完后執(zhí)行End

Select后面的語(yǔ)句。例:編寫程序,當(dāng)輸入X的值后用Private

Sub

Button1_Click(ByVal_

senderSelect

Case語(yǔ)句計(jì)算輸出Y的值。AsSystem.Object,ByVal

e

As

_System.EventArgs)

Handles

_Button1.ClickDim

x,

y

AsSinglex

=

Val(TextBox1.Text)Select

Case

xCase

Is

<

0y

=

xCaseIs

<=

10y

=

x

*

x

CaseIs

<=

20y

=

10Case

Elsey

=

0.5

*

x

+

20End

SelectMsgBox("y="

&

y)End

Sub例6.11通過(guò)文本框輸入某學(xué)生某課程的百分制成績(jī)(為整數(shù)),要求在彈出的消息框中按如下規(guī)則顯示信息:成績(jī)大于等于90分,顯示成績(jī)?yōu)椤皟?yōu)秀”;成績(jī)大于等于80分,小于90分,顯示成績(jī)?yōu)椤傲己谩保怀煽?jī)大于等于60分,小于80分,顯示成績(jī)?yōu)椤昂细瘛?;成?jī)小于60分,顯示成績(jī)?yōu)椤安患案瘛?;良strResulCase

80To

89strResulCase

60To

79strResult

="合格"CaseElsestrResult

="不及格"End

SelectMsgBox("輸入成績(jī)?yōu)?

&

intMark

&

",評(píng)價(jià)為"

&strResult)End

SubPrivateSub

Button1_Click(ByValsender

AsSystem.Object,

ByVal

e

As

System.EventArgs)

HandlesButton1.ClickDimintMark%,

strResult$intMark

=

Val(TextBox1.Text)Select

Case

intMa

kCase

Is>=

90如果輸入的成績(jī)不在0~100之間,結(jié)果會(huì)如何?Private

Sub

Button1_Click(ByVal

sender

As

System.Object,

ByVal

eAs

System.EventArgs)

Handles

Button1.ClickDim

intMark%,

strResult$intMark

=

Val(TextBox1.Text)If

intMark

<

0

Or

intMark

>

100

ThenMsgBox("輸入錯(cuò)!")ElseSelect

Case

intMark

\

10Case

9,

10strResult

="優(yōu)秀"Case

8strResult

="良好"Case

6,

7strResult

="合格"Case

ElsestrResult

="不及格"End

SelectMsgBox("輸入成績(jī)?yōu)?&

intMark

&

",評(píng)價(jià)為"&

strResult)End

IfEnd

Sub6.5

循環(huán)結(jié)構(gòu)當(dāng)某件事情多次反復(fù)執(zhí)行時(shí),則需用循環(huán)來(lái)實(shí)現(xiàn)。如:計(jì)算S=1+2+3+……+100反復(fù)做加法。求p=n!=1*2*3*……*n反復(fù)做乘法。求π反復(fù)累加各項(xiàng)。等6.5

循環(huán)結(jié)構(gòu)循環(huán)語(yǔ)句類型:循環(huán)次數(shù)已知的循環(huán)-計(jì)次循環(huán)For...Next循環(huán)語(yǔ)句;根據(jù)條件循環(huán)-條件循環(huán)Do...Loop循環(huán)語(yǔ)句[Step

步長(zhǎng)]格式:For

循環(huán)控制變量

=初值To

終值語(yǔ)句塊[Exit

For]語(yǔ)句塊Next

[循環(huán)控制變量

]6.5.1

FOR…Next語(yǔ)句For…Next語(yǔ)句用于循環(huán)次數(shù)預(yù)知的循環(huán)結(jié)構(gòu)。循環(huán)控制變量:為數(shù)值型變量,控制循環(huán)的次數(shù)。初值、終值、步長(zhǎng):均為數(shù)值型表達(dá)式步長(zhǎng)可為正數(shù),也可為負(fù)數(shù)。缺省時(shí),步長(zhǎng)為1循環(huán)體FOR循環(huán)的執(zhí)行流程超過(guò)的意思為:步長(zhǎng)>=0時(shí)為大于步長(zhǎng)<0時(shí)為小于有下列兩種情況循環(huán)體執(zhí)行0次:初值<終值并且步長(zhǎng)<0初值>終值并且步長(zhǎng)>0步長(zhǎng)為0時(shí)可能出現(xiàn)死循環(huán)。其他情況下循環(huán)體的執(zhí)行次數(shù)可按下式計(jì)算:Int((終值-初值)/步長(zhǎng))+1循環(huán)變量=初值循環(huán)變量的值循環(huán)體循環(huán)變量=循環(huán)變量+步長(zhǎng)T超過(guò)終值?F計(jì)算下列循環(huán)語(yǔ)句的次數(shù)For i=

5.5

to

3.5

step -0.5Int

(

(

3.5-5.5)/(-0.5))+1

=5For i=

3.5

to

5.5

step -0.5不執(zhí)行循環(huán)體For i=

-3

to

20

step

0步長(zhǎng)為0,死循環(huán)循環(huán)體內(nèi)需要有exit

for

語(yǔ)句才可跳出該循環(huán)例intSum

=

0For

i

=

1To

100例6.12

求1~100之間的奇數(shù)之和。即要計(jì)算1+3+5+7+9+…+97+99

和。????Private

Sub

Button1_Click(senderAs

Object,

e

AsEventArgs)Handles

Button1.ClickDim

i,intSum

As

Integer‘累加器清0Step

2intSum=intSum+i

‘累加Next

iMsgBox(""11++2+3.+..+..9.9++9190=0=""

&intSum)End

Sub例編程輸出10!。Private

Sub

Button1_Click(senderAs

Object,

e

AsEventArgs)Handles

Button1.ClickDim

i,intP

AsIntegerintP=1

‘累乘器清1For

i=1To

10intP=intP

*

i

‘累乘Next

iMsgBox(“10!="

&

intP)End

Sub例:求100以內(nèi)能被3和7整除的所有正整數(shù)之和.要求打印出符合條件的正整數(shù)以及它們的和。PrivateSub

Button1_Click(ByVal

sender

AsSystem.Object,

ByVal

e

As

System.EventArgs)

HandlesButton1.ClickDim

sum,

i

As

IntegerTextBox1.Clear()sum

=0For

i

=1

To

100If

i

Mod

3

=

0

And

i

Mod

7

=

0

Thensum

+=

iTextBox1.Text

&=

i

&

vbCrLfEnd

IfNext

iLabel1.Text

=

"Sum="&

sumEnd

SubDims%,i%s

=1Fori=1To10s

=s*iIfi=2ThenExit

ForEnd

IfNext

iMsgbox("s="

&

s

&

",i="

&

i)可以通過(guò)ExitFor語(yǔ)句終止循環(huán),終止循環(huán)后,循環(huán)控制變量的值保持退出時(shí)的值不變。s=2,i=2例:判斷x是否是素?cái)?shù)?注:素?cái)?shù)又稱質(zhì)數(shù)。指僅能被1和此整數(shù)自身整除的大變量flag表示是否能被某數(shù)整除Private

Sub

Button1_Click(ByVal

sender

As

System.Object,

ByVal

eAs

System.EventArgs)

Handles

Button1.ClickDim

x,i

As

Integer,

flag

As

Boolean于或等x于=

2V的al(整Tex數(shù)tBo。x1.Text)判別方f法lag是=

:True

'假設(shè)x是素?cái)?shù)For

i

=

2

To

x

-

1對(duì)于數(shù)x

從If

ix=2M,od

3i

,=

…0

,Thexn-1判別x能否被i整除,只要有一個(gè)能整除,fxla就g=不F是als素e數(shù)'x不,是否素則數(shù),x是將f素lag數(shù)置為。FalseExit

ForEnd

IfNext

iIf

flag

ThenMsgBox(x

&

"是素?cái)?shù)!")ElseMsgBox(x

&

"不是素?cái)?shù)!")End

IfEnd

Sub6.5.2

Do…Loop語(yǔ)句問(wèn)題:有一張厚度為0.1

,假設(shè)可以一直對(duì)折,對(duì)折多少次之后,其厚度就能超過(guò)珠穆朗瑪峰的高度8848米?循環(huán)次數(shù)?循環(huán)次數(shù)需要根據(jù)條件來(lái)判斷--循環(huán)次數(shù)未知使用Do…Loop語(yǔ)句6.5.2DO…Loop語(yǔ)句Do…Loop語(yǔ)句用于循環(huán)次數(shù)未知的循環(huán)結(jié)構(gòu)。格式1:Do

[{While|Until

}條件]語(yǔ)句塊[Exit Do

][語(yǔ)句塊]Loop格式2:Do語(yǔ)句塊[Exit Do

][語(yǔ)句塊]Loop

[{While|Until

}條件]特點(diǎn):先執(zhí)行后判斷,循環(huán)體至少執(zhí)行一次循環(huán)次數(shù)≥1特點(diǎn):先判斷后執(zhí)行,循環(huán)體可能一次都不執(zhí)行循環(huán)次數(shù)≥0。While條件:條件結(jié)果為True(或非0)時(shí)執(zhí)行循環(huán)體;為False(或0)時(shí)結(jié)束循環(huán)Until條件: 條件結(jié)果為True(或

非0)時(shí)結(jié)束循環(huán)體;為False(或0)時(shí)執(zhí)行循環(huán)例例6.12

求1~100之間的奇數(shù)之和。????PEE即要計(jì)算1+3+5+7+9+…+97+99

和。Private

Sub

Button1_Click(sender

As

Object,e

AsEventArgs)Handles

Button1.ClickDim

i,intSum

As

Integer‘累加器清0intSum

=

0i=1dointSum=intSum+i

‘累加i=i+1loop

until

i>100MsgBox("1+2+...+99+100="

&

intSum)EndSub珠穆朗瑪峰高度:8848米例:將厚度為0.5

張對(duì)折多少次后,其總厚度可超過(guò)珠穆朗瑪峰的高度?--思考:需要幾個(gè)變量?變量:num

為折紙的次數(shù),n為高度Dim num%,

n!n=0.5e-3num=0Do

until n>

8848

(do

while

n<=8848)n=2*nnum=num+1LoopMsgbox(“折疊次數(shù)為“&

num)6.5.3

多重循環(huán)在一個(gè)循環(huán)體內(nèi)又包含了另一個(gè)完整的循環(huán)稱為循環(huán)的嵌套。各種循環(huán)可以相互嵌套。注意:避免循環(huán)交叉Dim

i%,

j%

Dim

n%,

m%,

k%m

=0: k

=0For

i

=1

To5k

=

k+

1

n

=

0For

j

=

1

To

3n

=n

+1m

=m

+1Next

jNextiDim

i%,

j%

Dim

n%,

m%,

k%m

=0: k

=0For

i=1To5k

=k

+1n

=0

j=1do

while

j<=3n

=n

+1m

=m

+1j=j+1loopNext

iFor i=1

To

10For

j=1

To

20…Next

jNext

iFor i=1

To

10…Next

iFor i=1

To

10…Next

i對(duì)于循環(huán)的嵌套,要注意以下事項(xiàng):內(nèi)循環(huán)變量與外循環(huán)變量不能同名;外循環(huán)必須完全包含內(nèi)循環(huán),不能交叉;正確小技巧:Next后不寫循環(huán)變量名,可避免循環(huán)交叉。循環(huán)嵌套的執(zhí)行過(guò)程可按鐘表的指針走動(dòng)過(guò)程理解。例:輸出矩形的九九乘法表分析:如此,可寫出基本框架:ji重循環(huán):解決此類問(wèn)題的一般規(guī)律是利外循環(huán)控制行內(nèi)循環(huán)控制列九九表可看作是由字符組成的平面圖形。Private

Sub

Button1_Click(ByVal

sender

AsSystem.Object,

ByVal

e

As

System.EventArgs)Handles

Button1.ClickDim

row,

col

As

IntegerDim

s

As

String=

""

For

row

=1

To

9For

col

=

1

To

9s

&=",

row,

col,String.Format("{0,1}*{1,1}={2,2}row

*

col)Next

col'vbCrLf用來(lái)控制換行s

&=vbCrLfNext

rowLabel1.Text

=

sEnd

Sub注釋語(yǔ)句注釋以REM開(kāi)頭,用英文標(biāo)點(diǎn)的單引號(hào)“'”引導(dǎo)注釋內(nèi)容。Exit語(yǔ)句在VB.Net中,有多種形式的Exit語(yǔ)句,用于退出某種控制結(jié)構(gòu)的執(zhí)行。Exit的形式如下:Exit

For、Exit

Do、Exit

Sub、Exit

Function等。End語(yǔ)句獨(dú)立的End語(yǔ)句用于結(jié)束一個(gè)程序的運(yùn)行,它可以放在任何事件過(guò)程中。6.6

其他語(yǔ)句6.7

綜合應(yīng)用計(jì)算π的近似值,π的計(jì)算公式為:???①分別輸出當(dāng)n=10、100、1000時(shí)的結(jié)果,比較該公式的收斂程度。分析:運(yùn)算結(jié)果是什么?--每項(xiàng)的乘積思考:1.誰(shuí)是循環(huán)變量?2.循環(huán)變量的初值3.循環(huán)變量每次變化的值4.循環(huán)結(jié)束的條件

5.循環(huán)體內(nèi)的語(yǔ)句6。乘積的初始值22

42

621

3

3

5

5

7

(2n

1)

(2n

1)(2n)2π

2

...Private

Sub

Button1_Click(ByVal

sender

AsSystem.Object,

ByVal

e

As

System.EventArgs)Handles

Button1.ClickDim

pi,

p

As

SingleDim

n,

k

AsIntegerpi

=

2n

=

Val(TextBox1.Text)For

k

=

1

To

np

=

(2

*

k)

^

2/

((2

*

k

-

1)

*(2

*

k+

1))pi

*=

p

Next

Label3.Text

=piEnd

Sub62例:編一程序,顯示出所有的水仙花數(shù).所謂水仙花數(shù),是指一個(gè)3位數(shù),其各位數(shù)字立方和等于該數(shù)字本身.例如,153是水仙花數(shù),因?yàn)?53=13+53+33

。變量定義:a

百位,b

十位

c

個(gè)位

m

為3位的數(shù)方法1:分離三位數(shù)Private

Sub

Button1_Click(ByVal

sender

As

System.Object,ByVal

e

As

System.EventArgs)

Handles

Button1.ClickDim

a,

b,c,

m

As

IntegerLabel1.Text="水仙花數(shù)為:"&

vbCrLfFor

m=100

To

999a

=m

\

100b

=

(m

Mod

100)

\

10c

=m

Mod10'分離百位數(shù)

'分離十位數(shù)

'分離個(gè)位數(shù)If

m

=a^

3+

b^3

+c

^3

ThenLabel1.Text

=

Label1.Text&

m

&

vbCrLfEndIfNext

mEnd

Sub方法

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論