




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
VB基本控制語(yǔ)句教學(xué)目標(biāo)掌握VB順序結(jié)構(gòu)語(yǔ)句:賦值語(yǔ)句、用戶(hù)交互函數(shù)和過(guò)程(InputBox函數(shù)與MsgBox函數(shù)和過(guò)程)。掌握選擇結(jié)構(gòu)(分支結(jié)構(gòu))語(yǔ)句:If-Then語(yǔ)句和SelectCase語(yǔ)句。熟練掌握循環(huán)結(jié)構(gòu)語(yǔ)句:For循環(huán)語(yǔ)句、Do-Loop循環(huán)語(yǔ)句。掌握在程序中經(jīng)常使用的算法,例如窮舉、遞推、迭代、判斷素?cái)?shù)、求最大公約數(shù)、求平均值、求最大值/最小值等、數(shù)據(jù)的排序、查找算法等,初步具有根據(jù)給定算法編制程序的能力。順序結(jié)構(gòu)程序設(shè)計(jì)結(jié)構(gòu)化程序設(shè)計(jì)的三種基本控制結(jié)構(gòu)(流程圖)順序選擇循環(huán)S1S2ynC?S1S2yn當(dāng)CS1順序結(jié)構(gòu)流程輸入數(shù)據(jù)處理數(shù)據(jù)輸出結(jié)果
a=InputBox("a=")a=Text1.Text
Msgbox"a="&aPrint"a=";aText1.Text=aLabel1.Caption=a賦值語(yǔ)句形式如下:
變量名=表達(dá)式
對(duì)象名.屬性值=表達(dá)式
含義:把右邊表達(dá)式的值賦給左邊變量的值。左右兩邊不可顛倒。【注意】(1)賦值號(hào)與關(guān)系運(yùn)算符等于號(hào)都用“=”表示,注意加以區(qū)分。如:Ifa=bthenc=d(2)賦值號(hào)左邊只能是變量,不能是常量、常數(shù)符號(hào)或表達(dá)式。如:
x+y=3(3)不能在一句賦值語(yǔ)句中,同時(shí)給多個(gè)變量賦值。例如:dimx%,y%,z%x=y=z=1(4)如下賦值語(yǔ)句形式很常用:x=x+1sum=sum+x
××判斷下面語(yǔ)句的正確性n%=3.6k%="abc123"sin(x)=x+yText1.Text=""a=b=c=1s=s+1√
n的結(jié)果為4×
出錯(cuò),類(lèi)型不匹配×
出錯(cuò),左邊是函數(shù)√清除文本框內(nèi)容×
不能連續(xù)賦值√
s的原值加1再賦給s例:計(jì)算三角形面積abc
Dima%,b%,c%,s#,area#Dimstr1$
a=val(InputBox("a:"))b=val(InputBox(“b:"))c=val(InputBox(“c:"))
s=(a+b+c)/2area=sqr(s*(s-a)*(s-b)*(s-c))str1=“area=“&area
Msgbox”三角形面積”&str1,,”計(jì)算結(jié)果”開(kāi)平方字符串轉(zhuǎn)換成數(shù)字例:求一元二次方程的根
Dima%,b%,c%,delt!,x1!,x2!,s$a=Val(InputBox(“inputa:”))……
delt=b*b-4*a*c
x1=(-b+sqr(delt))/(2*a)x2=(-b-sqr(delt))/(2*a)s=“x1=”&x1&“x2=”&x2
MsgBoxsIfdelt>=0ThenElses="NoRoot!";EndIf有沒(méi)有出錯(cuò)的可能?選擇結(jié)構(gòu)程序設(shè)計(jì)If
條件Then{語(yǔ)句組1}Else
{語(yǔ)句組2}Endif條件語(yǔ)句組1語(yǔ)句組2TrueFalseIf…Then…Else…條件語(yǔ)句If…Then…條件語(yǔ)句語(yǔ)句組條件TrueFalseIf
條件
Then
{語(yǔ)句組}EndIfIf
條件
Then
語(yǔ)句一行內(nèi)完成的If語(yǔ)句不需要EndIf例:輸入任意一個(gè)實(shí)數(shù),輸出其絕對(duì)值
DimiAsSinglei=Inputbox("Inputadata:")
If
i<=0
Then
i=-i
EndIfPrint"Absolute:";iIfi<=0Theni=-i一行內(nèi)完成的If語(yǔ)句不需要EndIf邏輯表達(dá)式舉例變量A是3或7的倍數(shù)變量B既是3的倍數(shù)也是7的倍數(shù)Amod3=0andAmod7=0Amod3=0orAmod7=0Ymod4=0andYmod100<>0orYmod400=0閏年的條件是:年號(hào)(Y)能被4整除但不能被100整除;或者年號(hào)能被400整除判斷某一年是否是閏年。閏年的條件:閏年的條件是:年號(hào)(Y)能被4整除但不能被100整除;或者年號(hào)能被400整除
Ymod4=0andYmod100<>0orYmod400=0課堂思考邏輯運(yùn)算符的優(yōu)先級(jí):Not→And→Or調(diào)試錯(cuò)誤設(shè)置斷點(diǎn)和逐語(yǔ)句跟蹤
斷點(diǎn)是告訴VB掛起程序執(zhí)行的一個(gè)標(biāo)記,當(dāng)程序執(zhí)行到斷點(diǎn)處即暫停程序的運(yùn)行,進(jìn)入中斷模式。中斷模式下,直接查看某個(gè)變量的值,只要把鼠標(biāo)指向所關(guān)心的變量處,稍停一下,就在鼠標(biāo)下方顯示該變量的值。斷點(diǎn)標(biāo)記當(dāng)前行例:輸入變量x的值,求函數(shù)y的值y=,x≥0,x<0If
x>=0
Then
y=sqr(x^2+1)Elsey=x/2EndIf
√IIf(條件,表達(dá)式1,表達(dá)式2)
先求出兩個(gè)表達(dá)式的值。當(dāng)條件成立時(shí),函數(shù)值為表達(dá)式1的值;條件不成立時(shí),函數(shù)值為表達(dá)式2的值。條件函數(shù)(IIf函數(shù))y=IIf(x>=0,sqr(x^2+1),x/2)多分支——If…Then…ElseIf
If條件1Then
語(yǔ)句組1[ElseIf
條件2Then
語(yǔ)句組2][ElseIf
條件3Then
語(yǔ)句組3]
……[Else
語(yǔ)句組n+1]EndIf是一個(gè)IF語(yǔ)句只有一個(gè)EndIfElseIf不可分開(kāi)寫(xiě)EndIf語(yǔ)句組4False語(yǔ)句組3條件1False條件3語(yǔ)句組1條件2語(yǔ)句組2TrueTrueTrueFalse例
:求分段函數(shù)的值x2+1x≤0y=2x+10x≤107x-15x>10
DimxAsSingle,yAsSinglex=Val(Inputbox("Inputadata:"))
If
x<=0
Then
y=x^2+1
ElseIf
x<=10
Then
y=2*x+10Else
y=7*x-15
EndIfPrint"Absolute:“;y
Else相當(dāng)于x>0,故只需寫(xiě)x<=10此處Else相當(dāng)于x>10例:輸入一個(gè)字符,判斷該字符是字母字符、數(shù)字字符還是其它字符,并作相應(yīng)的顯示。
DimsAsString*1s=Inputbox("Inputachar:")
If
Lcase(s)>=”a”
and
Lcase(s)<=”z”
Then
Msgboxs&”是字母字符”
ElseIf
s>=”0”
and
s<=”9”
Then
Msgboxs&”是數(shù)字字符”
Else
Msgboxs&”是其它字符”
EndIf定長(zhǎng)字符串長(zhǎng)度只能為1P43分支的嵌套
If
條件1Then
If
條件2Then
語(yǔ)句組1
Else
語(yǔ)句組2EndIf
Else
If
條件3Then
語(yǔ)句組3
Else
語(yǔ)句組4EndIf
EndIf語(yǔ)句組4False語(yǔ)句組3條件1False條件3語(yǔ)句組1條件2語(yǔ)句組2TrueTrueTrueFalse分支嵌套是指在一個(gè)分支結(jié)構(gòu)中又包含有另一個(gè)分支結(jié)構(gòu)。
If條件1Then
語(yǔ)句組1
ElseIf
條件2Then
語(yǔ)句組2
ElseIf
條件3Then
語(yǔ)句組3Else
語(yǔ)句組4EndIf多分支和分支的嵌套
If條件1Then
語(yǔ)句組1
Else
If
條件2Then
語(yǔ)句組2
Else
If條件3Then
語(yǔ)句組3
Else
語(yǔ)句組4
EndIf
EndIf
Endif可以相互轉(zhuǎn)換三個(gè)EndIf一個(gè)EndIf例:輸入任意三個(gè)數(shù),按升序排列輸出。Ifa<bThen
Ifb<cThen
Print"a<b<c"
Else
Ifa<cThenPrint"a<c<b"
ElsePrint"c<a<b"
EndIfElse
Ifa<cThenPrint"
b<a<c"
Else
Ifb<cThenPrint"
b<c<a"
ElsePrint"c<b<a"
EndIfEndIf單行If格式,無(wú)需EndIf方法二Ifa<b&b<cThenPrint"a<b<c"Ifa<candc<bThenPrint"a<c<b"Ifb<aanda<cThenPrint"b<a<c"Ifb<candc<aThenPrint"b<c<a"Ifc<aanda<bThenPrint"c<a<b"Ifc<bandb<aThenPrint"c<b<a"注意兩個(gè)條件同時(shí)成立--“與”andand例:開(kāi)始運(yùn)行如左下圖所示,單擊“出題”按鈕后計(jì)算機(jī)自動(dòng)出題,窗口如右下圖所示,此時(shí)由用戶(hù)輸入加法運(yùn)算答案,然后單擊“判定”按鈕。如果用戶(hù)運(yùn)算正確則提示“運(yùn)算正確”,否則顯示“運(yùn)算錯(cuò)誤”。再次按下“出題”就會(huì)再出一道題。
If條件1Then
語(yǔ)句組1ElseIf條件2Then語(yǔ)句組2
If條件3
Then
語(yǔ)句組3Else
語(yǔ)句組4
EndIfEndIfIf條件1Then
語(yǔ)句組1If條件2Then
語(yǔ)句組2
ElseIf條件3Then
語(yǔ)句組3EndIfEndIfEndIf分析語(yǔ)句的結(jié)構(gòu)原則:在嵌套的If語(yǔ)句中每一個(gè)Else與其前面最近的If語(yǔ)句配對(duì)注意:1)If...EndIf的配對(duì)2)多層嵌套,不可交叉3)Else總是跟最近的If…Then匹配4)不管有幾個(gè)分支,程序執(zhí)行了一個(gè)分支后不再執(zhí)行其余的分支5)書(shū)寫(xiě)時(shí)一般采用鋸齒縮進(jìn)格式SelectCase
變量或表達(dá)式
Case
表達(dá)式列表1
語(yǔ)句塊1
Case
表達(dá)式列表2
語(yǔ)句塊2
……
CaseElse
語(yǔ)句塊n+1EndSelectSelectCase情況語(yǔ)句只能是一個(gè),不能多個(gè)并列表達(dá)式列表的四種形式表達(dá)式例:"A"一組枚舉表達(dá)式(用逗號(hào)分隔)2,4,6,8
表達(dá)式1To表達(dá)式2 60To100Is關(guān)系運(yùn)算符表達(dá)式 Is<60例:用SelectCase語(yǔ)句改寫(xiě)判斷字母、數(shù)字或其它字符例:分別輸入年份和月份,根據(jù)輸入數(shù)據(jù)顯示該年該月有多少天?Dim
y%,m%y=InputBox(“輸入年份:")m=InputBox(“輸入月份:")SelectCasemCase1,3,5,7,8,10,12
MsgBoxy&“年”&m&“月有31天!”
Case4,6,9,11
MsgBoxy&“年”&m&“月有30天!”
Case2
。。。。。。
CaseElse
Magbox“輸入錯(cuò)誤,月份應(yīng)該是1-12之間!”EndSelect要先判斷閏年,才能求天數(shù)If
ymod400=0orymod4_=0andymod100<>0
Then
MsgBoxy&“年”&m&“月有29天!”Else
MsgBoxy&“年”&m&“月有28天!”Endif例:已知輸入某課程的百分制成績(jī)Mark,需要顯示對(duì)應(yīng)五級(jí)制的評(píng)定,評(píng)定條件如下:等級(jí)=優(yōu)良中及格不及格Mark>=9080<=Mark<9070<=Mark<8060<=Mark<70Mark<60Ifmark>=90ThenPrint"優(yōu)"ElseIfmark>=80ThenPrint"良"ElseIfmark>=70ThenPrint"中"ElseIfmark>=60ThenPrint"及格"ElsePrint"不及格"EndIfIfmark<60ThenPrint"不及格"ElseIfmark<70ThenPrint"及格"ElseIfmark<80ThenPrint"中"ElseIfmark<90ThenPrint"良"ElsePrint"優(yōu)"EndIf正確
Ifmark>=60ThenPrint"及格"
ElseIfmark>=70ThenPrint"中"
ElseIfmark>=80ThenPrint"良"
ElseIfmark>=90ThenPrint"優(yōu)"
ElsePrint"不及格"
EndIf錯(cuò)誤條件書(shū)寫(xiě)必須從邊界條件開(kāi)始Ifmark>=90Then
Print"優(yōu)"ElseIf
80<=mark<90Then
Print"良"ElseIf70<=mark<80ThenPrint"中"ElseIf
60<=mark<70Then
Print"及格"Else
Print"不及格"EndIf錯(cuò)誤注意關(guān)系表達(dá)式的書(shū)寫(xiě)
Ifmark>=90ThenPrint"優(yōu)"
ElseIf80<=markandmark<90ThenPrint"良"
ElseIf70<=markandmark<80ThenPrint"中"
ElseIf60<=markandmark<70ThenPrint"及格"ElsePrint"不及格"EndIf正確但Else本身就已經(jīng)是否定前一個(gè)條件,故and后面的條件無(wú)需寫(xiě)。Ifmark>=90ThenPrint"優(yōu)"Ifmark>=80ThenPrint"良"Ifmark>=70ThenPrint"中"Ifmark>=60ThenPrint"及格"Ifmark<60ThenPrint"不及格"錯(cuò)誤5個(gè)獨(dú)立的If語(yǔ)句,每一個(gè)都會(huì)執(zhí)行一次。正確SelectCasemarkCaseIs>=90Print"優(yōu)"CaseIs>=80Print"良"CaseIs>=70Print"中"CaseIs>=60Print"及格"CaseElsePrint"不及格"EndSelectSelectCasemarkCasemark>=90Print"優(yōu)"Casemark>=80Print"良"Casemark>=70Print"中"Casemark>=60Print"及格"CaseElsePrint"不及格"EndSelect錯(cuò)誤在SelectCase中出現(xiàn)的變量,不允許出現(xiàn)在Case子句中,要用Is來(lái)代替。正確:is>=90或80to90正確90,80,70或60分的成績(jī)會(huì)不會(huì)出錯(cuò)?SelectCasemarkCaseIs>=90Print"優(yōu)"Case80To90Print"良"Case70To80Print"中"Case60To70Print"及格"CaseElsePrint"不及格"EndSelect已經(jīng)執(zhí)行了某一個(gè)分支之后就不會(huì)再運(yùn)行其他分支SelectCase
val
Case0to5Print"不及格"Case6
"及格"
Case7
"中"Case8:
"良好"
CaseElse
"優(yōu)秀"EndSelectval=mark\10;循環(huán)結(jié)構(gòu)程序設(shè)計(jì)例
求1+2+3+……+100的值DimSum%Sum=0Sum=Sum+1‘Sum的值變?yōu)?Sum=Sum+2‘Sum的值變?yōu)?+2的和3Sum=Sum+3‘Sum的值變?yōu)?+2+3的和6………………‘省略了96條語(yǔ)句,若要程序執(zhí)行必須補(bǔ)充完整Sum=Sum+100‘Sum的值變?yōu)?+2+3+…+100的和5050Print“1+2+3+……+100=”;SumFori=1to100Sum=Sum+iNextiFor
循環(huán)變量
=
初值
To終值
[Step
步長(zhǎng)
]
……
……
Next
循環(huán)變量For...Next語(yǔ)句
(一般用于可預(yù)知循環(huán)次數(shù))[ExitFor]中途退出循環(huán)循環(huán)體循環(huán)變量=循環(huán)變量+步長(zhǎng)循環(huán)變量未超出終值?TrueFalse循環(huán)變量=初值循環(huán)體Next
循環(huán)變量For循環(huán)變量
=
初值
To
終值
[Step
步長(zhǎng)
]計(jì)數(shù)循環(huán)流程圖Sum=0Fori=1to100Sum=Sum+iNextiPrint“Sum=”;Sum13610iSum011(0+1)23(0+1+2)36(0+1+2+3)410(0+1+2+3+4)…………994950(0+1+2+……+99)1005050(0+1+2+……+99+100)101Sum=0Fori=1to100Sum=Sum+iNexti49505050循環(huán)程序的執(zhí)行iSum0iSum01
iSum011(0+1)iSum011(0+1)23(0+1+2)iSum011(0+1)23(0+1+2)36(0+1+2+3)iSum011(0+1)23(0+1+2)36(0+1+2+3)410(0+1+2+3+4)iSum011(0+1)23(0+1+2)36(0+1+2+3)410(0+1+2+3+4)…………994950(0+1+2+……+99)iSum011(0+1)23(0+1+2)36(0+1+2+3)410(0+1+2+3+4)…………994950(0+1+2+……+99)1005050(0+1+2+……+99+100)Sum輸出Sum的值
思考:(1)求1~100間的偶數(shù)和及奇數(shù)和(2)求(3)求例
求10!(1*2*3*……*10)的值預(yù)測(cè)程序運(yùn)行結(jié)果:
Fori=2To13Step3
Printi,NextiPrintPrint“I=“,i循環(huán)執(zhí)行次數(shù):輸出i的值分別為:出了循環(huán)輸出為:25811I=14例:輸入10個(gè)學(xué)生的成績(jī),編程實(shí)現(xiàn)求這10個(gè)學(xué)生的平均成績(jī)。
Dimi%,mark%,sum%,aver!
Fori=1To10
mark=Val(InputBox("輸入成績(jī):"))Printmarksum=sum+mark
Nexti
aver=sum/10Print"平均分為";aver例:輸入若干個(gè)學(xué)生的成績(jī),求總分、平均分。輸入時(shí)以-1作為結(jié)束標(biāo)記。Dimn%,i%,sum%,mark%,aver!mark=Val(InputBox("請(qǐng)輸入成績(jī)"))DoWhile
mark<>-1Printmarksum=sum+mark‘計(jì)算總分
n=n+1‘計(jì)算人數(shù)
mark=Val(InputBox("請(qǐng)輸入成績(jī)"))Loopaver=sum/n‘求平均分Print"總分為:";sumPrint"平均為:";aver兩個(gè)InputBox能不能只要其中一句?條件前置的
Do...Loop語(yǔ)句DoWhile條件
語(yǔ)句組
語(yǔ)句組LoopTrueFalse語(yǔ)句組條件[ExitDo]中途退出循環(huán)DoUntil條件
語(yǔ)句
ExitDo
語(yǔ)句Loop條件成立進(jìn)入循環(huán)條件不成立進(jìn)入循環(huán)Do循環(huán):主要用于循環(huán)次數(shù)不確定條件后置的Do...Loop語(yǔ)句False語(yǔ)句組條件TrueDo
語(yǔ)句組
語(yǔ)句組LoopWhile條件
[ExitDo]中途退出循環(huán)Do
語(yǔ)句
ExitDo
語(yǔ)句LoopUntil條件
條件成立繼續(xù)循環(huán)條件不成立繼續(xù)循環(huán)例
用DoLoop語(yǔ)句來(lái)求1~100的和Dimi%,sum%Sum=0Fori=1to100
Sum=Sum+iNextPrintsumDimi%,sum%Sum=0i=1Dowhilei<=100
Sum=Sum+ii=i+1LoopPrintsumDoloop語(yǔ)句的循環(huán)體內(nèi)必須自己加上改變循環(huán)變量的語(yǔ)句,否則將死循環(huán)。循環(huán)控制變量自動(dòng)加上步長(zhǎng)若少了這句會(huì)怎樣?例:輸入一字符串,統(tǒng)計(jì)字母“a”(包括大小寫(xiě))的個(gè)數(shù)。Dimi%,s$,ch$,n%s=InputBox("請(qǐng)輸入一串字符串:")Print"字符串為:";sn=0Fori=1ToLen(s)
ch=Mid(s,i,1)IfLCase(ch)="a"Thenn=n+1NextPrint"字符a的個(gè)數(shù)為:";nEndSub
Do...Loop循環(huán)語(yǔ)句DoWhile|Until
條件
語(yǔ)句組Loop語(yǔ)句組條件語(yǔ)句組條件Do
語(yǔ)句組LoopWhile|Until
條件
可用ExitDo中途退出循環(huán)i!=13DoWhilei<=26n=n+1i=i*(1+0.008)LoopPrintn&"年后,人口將達(dá)到"&i&"億"實(shí)驗(yàn):我國(guó)有13億人口,如果按人口年增長(zhǎng)0.8%計(jì)算,多少年后將達(dá)到26億?i!=13Don=n+1i=i*(1+0.008)Ifi>=26ThenExitDoLoopPrintn&"年后,人口將達(dá)到"&i&"億"i!=13Don=n+1i=i*(1+0.008)LoopUntili>=26Printn&"年后,人口將達(dá)到"&i&"億"i!=13DoWhilei<=26n=n+1i=13*(1+0.008)^nLoop不能寫(xiě)成“=”能不能將i定義為整型?n=n+1不能少實(shí)驗(yàn):輸入10個(gè)同學(xué)考試的等級(jí),如果A計(jì)5分,B計(jì)4分,以此類(lèi)推,求這10個(gè)同學(xué)的平均成績(jī)。
Dimi%,sum%,mark$,aver!Fori=1to10
mark=InputBox("請(qǐng)輸入成績(jī)")
SelectcaseUcase(mark)Case”A”:sum=sum+5Case”B”:sum=sum+4Case”C”:sum=sum+3
Case”D”:sum=sum+2Case”E”:sum=sum+1CaseElse:sum=sum+0
EndSelect
Nextaver=sum/10
Print"平均為:";aver如果不知道學(xué)生的具體人數(shù),輸入”Q”時(shí)結(jié)束,怎樣修改程序?能不能改成i?循環(huán)語(yǔ)句適用于所有循環(huán)結(jié)構(gòu)在循環(huán)中改變與“條件”有關(guān)的變量的值避免死循環(huán)For
循環(huán)變量
=
初值
To
終值
[Step
步長(zhǎng)
]
……
……
Next
循環(huán)變量[ExitFor]DoWhile條件
語(yǔ)句組
語(yǔ)句組Loop[ExitDo]一般用于已知循環(huán)次數(shù)的循環(huán)循環(huán)控制變量自動(dòng)加步長(zhǎng)可用Ctrl+Break強(qiáng)行退出死循環(huán)例:輸出斐波那契級(jí)數(shù)1、1、2、3、5、8、13……的前30項(xiàng)。此級(jí)數(shù)項(xiàng)的規(guī)律是:前兩項(xiàng)的值各為1,從第3項(xiàng)起,每一項(xiàng)是前2項(xiàng)的和。(要求一行輸出6項(xiàng))a+bc(第3項(xiàng))①③②a+bc(第4項(xiàng))④⑥⑤a+bc(第5項(xiàng))⑦⑨⑧a+bc(第6項(xiàng))⑩c=a+ba=bb=c……Dima#,b#,c#,i%a=1'第一項(xiàng)為1b=1'第二項(xiàng)為1Printa;b;'打印前兩項(xiàng)Fori=3To30'求剩余的28項(xiàng)
c=a+b'每一項(xiàng)都是前兩項(xiàng)之和
a=b'新的第一項(xiàng)
b=c‘新的第二項(xiàng)
Printc;'打印輸出
IfiMod6=0ThenPrint
'一行打印6個(gè)即換行Nexti例:輸入一個(gè)正整數(shù),判斷該數(shù)是否為素?cái)?shù)。(素?cái)?shù)是指一個(gè)數(shù)只能被1和其本身整除。)Dimi%,n%,s$n=Val(InputBox("請(qǐng)輸入一個(gè)正整數(shù):"))s=n&"是素?cái)?shù)“Fori=2Ton-1IfnModi=0Thens=n&"不是素?cái)?shù)"
ExitForEndIfNextPrints循環(huán)嵌套循環(huán)體內(nèi)又包含循環(huán)語(yǔ)句,稱(chēng)為循環(huán)嵌套Fori=1to5
Forj=3to1step-1
Print"i=";i,"j=";j
NextjNextiRem單循環(huán)Dimsum#,i%,n#sum=0:n=1Fori=1To10n=n*isum=sum+nNextiPrint"1!+2!+3!+...+10!=";sumRem
雙重循環(huán)Dimsum#,i%,j%,n#sum=0:n=1Fori=1To10n=1Forj=1Toin=n*jNextjsum=sum+nNextiPrint"1!+2!+3!+...+10!=";sum實(shí)驗(yàn):計(jì)算
1!+2!+3!+...+10!例:顯示九九乘法表用雙重循環(huán)完成外循環(huán)控制“行”(1~9行)內(nèi)循環(huán)控制同行中的某“列”(如第1行顯示1列結(jié)果,第5行顯示5列結(jié)果)Fori=1To9
Printi;"|";Forj=1Toi
Printi*j;NextjPrintNextiDimi%,j%Print"*|“;Fori=1To9Print""+i;NextPrintPrint"---|------------------------------------"
//出了內(nèi)循環(huán)要換行Forj=1ToiForj=1To9Forj=iTo9例:顯示圖形Fori=1To9PrintSpace(11-i);
Forj=_________________Print"*";Nextj
___________________Nexti1to2*i-1PrintFori=8To1step-1
PrintSpace(11-i);String(2*i-1,"*")Nexti
Forii=1To10Forii=1To20… Nextii
Nextii
Forii=1To10…Nextii
Forii=1To20…Nextii
Forii=1To10
Forjj=1To20
……
NextjjNextii
正確 錯(cuò)誤嵌套并列
Forii=1To10
Forjj=1To20
……
Nextii
Nextjj例:輸出100以?xún)?nèi)的素?cái)?shù)Dimi%,n%,TagasBooleann=Val(InputBox("請(qǐng)輸入一個(gè)正整數(shù):"))Tag=True
Fori=2Ton-1IfnModi=0Then
Tag=False
ExitForEndIfNextiIfTag=TruethenPrintnForn=1to100Nextn布爾(邏輯)型變量Array函數(shù)(補(bǔ)充內(nèi)容)
Dima(),ba=Array(1,2,3,4,5)b=Array(“abc”,True,“xyz”,123,"45")Array函數(shù):對(duì)數(shù)組各元素賦值,聲明的數(shù)組是動(dòng)態(tài)數(shù)組或連圓括號(hào)都可省,并且其類(lèi)型只能是Variant。數(shù)組的缺省下界為零,上界由Array函數(shù)括號(hào)內(nèi)的元素個(gè)數(shù)可決定,也可通過(guò)UBound函數(shù)獲得.LBound
和
UBound
函數(shù)Dima%(4),b!(3to6,10to20)PrintLBound(a)PrintLBound(b,1),UBound(b,2)LBound
和UBound
函數(shù):返回?cái)?shù)組某維的下界或上界值。LBound(數(shù)組名[,維數(shù)])UBound(數(shù)組名[,維數(shù)])0320直接對(duì)數(shù)組賦值Dima()AsVariant,b()
AsVarianta=Array(1,2,3,4,5)b=a
注意:數(shù)組a與數(shù)組b的類(lèi)型必須相同,且數(shù)組b必須為動(dòng)態(tài)數(shù)組。Fori=LB
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 閱讀課題立項(xiàng)申報(bào)書(shū)模板
- 幼兒早期閱讀課題申報(bào)書(shū)
- 買(mǎi)賣(mài)運(yùn)營(yíng)車(chē)輛合同范本
- 咖啡承包勞務(wù)合同范例
- 合同范例國(guó)標(biāo)規(guī)范
- 課題申報(bào)書(shū)選題依據(jù)
- 共同委托審計(jì)合同范本
- 單項(xiàng)承攬合同范例
- 借用工合同范本
- 員工合同范本 江西個(gè)體
- 思想道德與法治知到章節(jié)答案智慧樹(shù)2023年寧波大學(xué)
- 廖常初《FX系列LC編程及應(yīng)用》課后習(xí)題答案
- 世界社會(huì)主義五百年
- 大學(xué)生職業(yè)生涯規(guī)劃獲獎(jiǎng)作品
- 加氫裂化操作工題庫(kù)(合并版)
- 農(nóng)田土地翻耕合同
- 鐵路混凝土工程施工質(zhì)量驗(yàn)收標(biāo)準(zhǔn)(TB 10424-2018 )培訓(xùn)教材
- 2023年全國(guó)醫(yī)學(xué)博士英語(yǔ)統(tǒng)考真題及參考答案
- 正大集團(tuán)大豬場(chǎng)開(kāi)發(fā)流程
- 房地產(chǎn)金融創(chuàng)新與風(fēng)險(xiǎn)防范的理論演進(jìn)
- GB/T 41255-2022智能工廠通用技術(shù)要求
評(píng)論
0/150
提交評(píng)論