




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第四章
控制結(jié)構(gòu)
4.1順序控制結(jié)構(gòu)順序結(jié)構(gòu)就是各語句按出現(xiàn)的先后次序執(zhí)行。一般的程序設(shè)計(jì)語言中,順序結(jié)構(gòu)的語句主要是賦值語句、輸入/輸出語句等。在VB中也有賦值語句,而輸入/輸出可以通過文本框、print方法等實(shí)現(xiàn),也可以通過系統(tǒng)提供的函數(shù)和過程來實(shí)現(xiàn)。4.1.1賦值語句賦值語句的一般形式如下:
變量名=表達(dá)式
對(duì)象.屬性=表達(dá)式程序執(zhí)行時(shí),先計(jì)算右邊表達(dá)式的值,然后將值賦給左邊的變量或?qū)傩浴?/p>
例如:X=100
‘把數(shù)值賦給變量X;Text1.Text="VB歡迎你"
‘把字符串賦給Text1的Text屬性Label1.Caption=Date()
‘把Date函數(shù)的結(jié)果賦給Label1的Caption屬性Label1.Top=Label1.Top-100
‘把表達(dá)式的值賦給Label1的Top屬性
在賦值語句中,賦值運(yùn)算符“=”代表賦值操作,而不代表等量關(guān)系。
注意:當(dāng)表達(dá)式的類型與變量的類型不一致時(shí),強(qiáng)制轉(zhuǎn)換成左邊的精度變量名=表達(dá)式表達(dá)式可以是任何類型的表達(dá)式,一般與左邊的變量類型一致例如:DimiasIntegeri=3+2如果右邊表達(dá)式類型與左邊變量類型不同,則:1)表達(dá)式均為數(shù)值型,但精度不同時(shí),表達(dá)式結(jié)果自動(dòng)轉(zhuǎn)換成左邊的精度在賦值給變量。如:i%=3.56i=42)變量為數(shù)值型,表達(dá)式為字符串時(shí),若表達(dá)式為數(shù)字型字符串,則自動(dòng)轉(zhuǎn)換為數(shù)值型在賦值給變量。x%=“123”x=123x%=“abc”出錯(cuò)x!=“”出錯(cuò)3)變量為數(shù)值型,表達(dá)式為邏輯型時(shí),true轉(zhuǎn)換成-1,false轉(zhuǎn)換成0后賦值給變量x%=truex-1使用賦值語句時(shí)應(yīng)注意:以下的賦值語句均是錯(cuò)誤的:5=x+y常量在左邊x+y=5表達(dá)式在左邊Sin(x)=x+y不能在一句賦值語句中為多個(gè)變量賦值:正確x=1y=1z=1錯(cuò)誤:x=y=z=14.1.2人機(jī)交互函數(shù)和過程Vb程序與用戶之間的直接交互可以通過InputBox()函數(shù)、MsgBox()函數(shù)和Msg過程進(jìn)行。1.InputBox()函數(shù)InputBox()函數(shù)可以產(chǎn)生一個(gè)對(duì)話框,這個(gè)對(duì)話框作為輸入數(shù)據(jù)的界面,等待用戶輸入數(shù)據(jù),當(dāng)用戶單擊“確定“按鈕或回車時(shí),函數(shù)返回輸入的值,類型為字符型。函數(shù)格式如下:
變量$=InputBox(Prompt[,Title][,Default][,XPos][,YPose])例4-1應(yīng)用InputBox函數(shù)進(jìn)行患者信息的輸入,運(yùn)行界面如圖
程序代碼如下:PrivateSubForm_Click()Dimcl$,msg1$,msg2$,msg3$,msg$,I$cl=Chr(13)+Chr(10)‘回車、換行msg1="請(qǐng)輸入患者姓名"msg2="輸入后單擊確定按鈕"msg3="或按回車鍵"msg=msg1+cl+msg2+cl+msg3I=InputBox(msg,"患者信息輸入框","張三",400,400)EndSub注意各項(xiàng)參數(shù)次序必須一一對(duì)應(yīng),Prompt項(xiàng)不可省略,其他項(xiàng)可以省略,但處于中間的默認(rèn)參數(shù)要用逗號(hào)占位符跳過該函數(shù)返回的值為字符型,如果需要輸入數(shù)值并參加運(yùn)算時(shí),在運(yùn)算前運(yùn)用Val(c)函數(shù)將其類型轉(zhuǎn)換為數(shù)值類型例:inputBox.vbp2.MsgBox()函數(shù)和MsgBox過程MsgBox()函數(shù)可以產(chǎn)生一個(gè)消息框,等待用戶選擇按鈕,當(dāng)用戶單擊某個(gè)按鈕時(shí),函數(shù)返回按鈕的值,類型為整型。函數(shù)格式如下:變量%=MsgBox(Prompt[,Type][,Title])Promp:字符串表達(dá)式,用于提示信息Type:消息框類型Title:字符串表達(dá)式,在標(biāo)題欄中顯示4.1.2人機(jī)交互函數(shù)和過程分組內(nèi)部常數(shù)按鈕值描述按鈕數(shù)目VBOkOnlyVBOkCancelVBAboutRetryignreVBYesNoCancelVBYesNoVBRetryCancel012345只顯示“確定”按鈕顯示“確定”“取消”按鈕顯示“終止”“重試”“忽略”按鈕顯示“是”“否”“取消”按鈕顯示“是”“否”按鈕顯示“重試”“取消”按鈕圖標(biāo)類型VBCriticalVBQusetionVBExclsmationVBinformation16324864關(guān)鍵信息圖標(biāo)紅色STOP標(biāo)志詢問信息圖標(biāo)?警告信息圖標(biāo)!信息圖標(biāo)i默認(rèn)按鈕VBDefaultButton1VBDefaultButton2VBDefaultButton30256512第1個(gè)按鈕為默認(rèn)第2個(gè)按鈕為默認(rèn)第3個(gè)按鈕為默認(rèn)模式VBApplicationModelVBSystemModel04096應(yīng)用模式系統(tǒng)模式其中Type為整型表達(dá)式,用來控制在消息框中顯示的按鈕、圖標(biāo)的種類、數(shù)量。其按鈕、圖表設(shè)置值及意義如下表所示:變量%=MsgBox(Prompt[,Type][,Title])例如:要顯示“重試”、“取消按鈕”、關(guān)鍵信息圖標(biāo)紅色stop圖標(biāo),第一個(gè)按鈕為默認(rèn)、系統(tǒng)模式type值為5+16+0+4096,或VBRetryCancel+VBCritical+VBDefualtButton+VBSystomModelt=vbRetryCancel+vbCritical+VBDefualtButton+VBSystomModelret=MsgBox("消息框示例",t,"消息框")例msgBox.vbp
MsgBox函數(shù)返回所選按鈕整數(shù)值的意義如下表所示:
內(nèi)部常數(shù)返回值被單擊的按鈕VBOkVBCancelVBAboutVBRetryVBIgnreVBYesVBNo1234567確定取消終止重試忽略是否若只需給出prompt參數(shù),可以這樣使用Ret=msgBox“prompt”4.2選擇結(jié)構(gòu)4.2.1IF條件語句1.IF……Then語句(單分支結(jié)構(gòu))語句形式:(1)IF<表達(dá)式>Then語句塊EndIF(2)IF<表達(dá)式>Then語句塊表達(dá)式語句塊FT單分支結(jié)構(gòu)流程示意圖其中:表達(dá)式一般為關(guān)系表達(dá)式、邏輯表達(dá)式,也可以為算術(shù)表達(dá)式。表達(dá)式的值按非零為True,零為False進(jìn)行處理。語句塊:可以是一條或多條語句。如果采用形式(2)表示則語句之間要用冒號(hào)分隔,并且一定寫在同一行上。If和endif要成對(duì)出現(xiàn)例4-3已知兩個(gè)變量x和y,比較它們的大小,使x中的值大于y。(要實(shí)現(xiàn)兩個(gè)變量中的數(shù)互相交換通常以使用第三變量為過渡,在此為t)語句如下:IFx<yThent=x‘將變量x中的值暫時(shí)存放于變量t中x=y‘用變量y中的值替代變量x中的值y=t‘再將原變量x中的值替代變量y中的值EndIF或者IFx<yThent=x:x=y:y=t2.IF……..Then……Else(雙分支結(jié)構(gòu))語句形式:IF<表達(dá)式>Then<語句塊1>Else<語句塊2>EndIF或者:IF<表達(dá)式>Then<語句塊1>Else<語句塊2>如果表達(dá)式的值為非零或True執(zhí)行語句塊1,否則執(zhí)行語句塊2。表達(dá)式語句塊1語句塊2FT雙分支結(jié)構(gòu)流程示意圖例4-2編寫一醫(yī)生工作站的登錄檢驗(yàn)程序,運(yùn)行界面如圖4-3。對(duì)登錄名(醫(yī)生工號(hào))和密碼的規(guī)定如下:(1)醫(yī)生工號(hào)不超過6位數(shù)字,密碼為6位字符,密碼輸入時(shí)顯示為“*”。本題假設(shè)密碼為“cljuan”。(2)當(dāng)醫(yī)生工號(hào)輸入非數(shù)字字符,密碼不正確時(shí),顯示相關(guān)信息。(3)若單擊“重試”按鈕,則清除原來輸入的內(nèi)容,焦點(diǎn)定位在原輸入文本框,等待用戶輸入。若單擊取消按鈕,程序停止運(yùn)行。
本程序運(yùn)行結(jié)果如圖所示,程序代碼見后頁(yè)。例4-2程序代碼如下:PrivateSubCommand1_Click()DimIAsIntegerIFNotText2="cljuan"ThenI=MsgBox("密碼錯(cuò)誤",5+64+0+VBSystemModel,"登錄密碼")IFI=2ThenEndElseText2=""‘用戶單擊“取消”按鈕返回按鈕值text2=“”‘用戶單擊”重試”按鈕文本框置空,等待用戶重新輸入Text2.SetFocus‘將焦點(diǎn)設(shè)置在文本框2上,方便用戶輸入EndIFEndSubPrivateSubText1_LostFocus()‘焦點(diǎn)離開文本框1時(shí)觸發(fā)LostFocus事件IFNotIsNumeric(Text1)Then‘利用IsNumeric()函數(shù)判斷文本框中輸入的是否為數(shù)字字符MsgBox"醫(yī)生工號(hào)必須是數(shù)字字符"Text1=""Text1.SetFocusEndIFEndSub3.IF……Then……ElseIF(多分支結(jié)構(gòu))語句形式:
IF<表達(dá)式1>Then<語句塊1>ElseIF<表達(dá)式2>Then<語句塊2>
[Else<語句塊n+1>]EndIFTTTTTT表達(dá)式1表達(dá)式2表達(dá)式n語句塊1語句塊2語句塊n語句塊n+1FFF多分支結(jié)構(gòu)流程示意圖……不管有幾個(gè)分支,依次判斷,當(dāng)某條件滿足,執(zhí)行相應(yīng)的語句,其余分支不再執(zhí)行;若條件都不滿足,且有Else子句,則執(zhí)行該語句塊,否則什么也不執(zhí)行。.
ElseIf不能寫成
ElseIf。PrivateSubCommand1_Click() Dimx,y Picture1.Cls x=Val(Text1.Text)‘將文本轉(zhuǎn)換為數(shù)值型后賦值給變量x,y y=Val(Text2.Text) IFx<90Andy<60Then Picture1.Print"血壓偏低" ElseIFx<=140Andy<=90Then Picture1.Print"血壓正常" ElseIFx<160Andy<95Then Picture1.Print"臨界高血壓" Else Picture1.Print"高血壓" EndIFEndSubPrivateSubCommand2_Click() EndEndSub例4-5按照世界衛(wèi)生組織(WHo)建議使用的血壓標(biāo)準(zhǔn)是:凡正常成人收縮壓應(yīng)小于或等于140MmHg,舒張壓小于或等于90MmHg。如果成人收縮壓大于或等于160MmHg,舒張壓大于或等于95MmHg為高血壓;血壓值在上述兩者之間,亦即收縮壓在141—159MmHg之間,舒張壓在91-94MmHg之間,為臨界高血壓。低血壓通常指血壓低于90/60MmHg。運(yùn)行界面與程序代碼如下:例已知百分制成績(jī)mark,顯示對(duì)應(yīng)的五級(jí)制成績(jī)哪些正確,哪些錯(cuò)誤?返回724.2.2SelectCase語句SelectCase語句是多分支結(jié)構(gòu)的又一種表示形式,又稱情況語句。語句形式:
SelectCase變量或表達(dá)式Case表達(dá)式列表1<語句塊1>Case表達(dá)式列表2<語句塊2>……[CaseElse<語句塊n+1>]EndSelectF表達(dá)式列表1語句塊1表達(dá)式列表2語句塊2表達(dá)式列表n語句塊n…..語句塊n+1TTTSelect語句流程示意圖FF…..PrivateSubCommand1_Click()DimcodeAsStringcode=Trim(Text2.Text)SelectCasecodeCase"+"Text4.Text=Val(Text1)+Val(Text3)Case"-"Text4.Text=Val(Text1)-Val(Text3)Case"*"Text4.Text=Val(Text1)*Val(Text3Case"/"IFVal(Text3)=0ThenMsgBox("除數(shù)不能為0,請(qǐng)重新輸入")Text3="“Text4.Text=""Text3.SetFocusElseText4=Val(Text1)/Val(Text3EndIFEndSelectEndSubPrivateSubCommand2_Click() EndEndSubPrivateSubCommand3_Click() Text1="" Text2="" Text3="" Text4="" Text1.SetFocusEndSub例4-7編寫一個(gè)簡(jiǎn)便四則運(yùn)算器,應(yīng)用SelectCase判斷運(yùn)算符。運(yùn)行界面如圖【程序代碼】<表達(dá)式列表>:與<變量或表達(dá)式>同類型的下面四種形式之一:表達(dá)式例:case"A"一組枚舉表達(dá)式(用逗號(hào)分隔)case2,4,6,8
表達(dá)式1To表達(dá)式2 case60To100
Is關(guān)系運(yùn)算符表達(dá)式 caseIs<605.IF語句的嵌套語句形式:
IF<表達(dá)式1>Then
語句塊1IF<表達(dá)式2>Then
語句塊2…EndIF
語句塊3…EndIF例4-6輸入3個(gè)整數(shù),按從小到大的順序輸出。程序運(yùn)行界面如圖程序代碼如下:PrivateSubCommand1_Click()Dimx%,y%,z%,t%Form1.Clsx=Val(InputBox("請(qǐng)輸入1個(gè)整數(shù)"))y=Val(InputBox("請(qǐng)輸入1個(gè)整數(shù)"))z=Val(InputBox("請(qǐng)輸入1個(gè)整數(shù)"))Print"您輸入三個(gè)的數(shù)是:";x;Spc(1);y;Spc(1);zIFx>yThen‘如果x>y則x,y交換t=x:x=y:y=tEndIFIFy>zThent=y:y=z:z=tIFx>yThent=x:x=y:y=tEndIFEndIFPrint"從小到大的順序是:";x;Spc(1);y;Spc(1);zEndSubPrivateSubCommand2_Click()EndEndSub例2-7在文本框中輸入1-1000之間的數(shù)字,如果輸入非數(shù)值,或數(shù)值超出范圍,給予提示,并重新輸入。運(yùn)行效果及程序代碼如下:PrivateSubForm_Load()Text1.Text=""Text2.Text=""EndSubPrivateSubText1_KeyPress(KeyAsciiAsInteger)IfKeyAscii=13Then'回車鍵的ASCII碼值為13IfIsNumeric(Text1.Text)Then'判斷是否是數(shù)值x=Val(Text1.Text)Ifx<0Orx>1000ThenText1.Text=""Text1.SetFocus'焦點(diǎn)回到文本框Text2.Text="數(shù)值超出范圍,再輸入!"'文本框中顯示提示信息ElseText2.Text="輸入正確!"EndIfElseText1.SetFocusText2.Text="請(qǐng)輸入數(shù)字!"EndIfEndIfEndSub4.2.3條件函數(shù)VB中提供的條件函數(shù):IIF()函數(shù)和Choose()函數(shù),適用于簡(jiǎn)單的判斷場(chǎng)合。前者代替IF語句,后者可代替SelectCase語句,IIF()函數(shù)函數(shù)形式:IFF(表達(dá)式,條件為True時(shí)的值,條件為False時(shí)的值)例如:求x,y中大的數(shù),放入變量T中,可以應(yīng)用語句T=IFF(x>y,x,y)Choose()函數(shù)函數(shù)形式:
Choose(整型表達(dá)式,選項(xiàng)列表)其中整型表達(dá)式的值決定函數(shù)返回選項(xiàng)列表中的哪個(gè)值。如果整型表達(dá)式為1,則函數(shù)返回選項(xiàng)列表中的第一項(xiàng)的值,若整型表達(dá)式為2,則函數(shù)返回選項(xiàng)列表中的第2項(xiàng)的值,…依次類推。如果整型表達(dá)式的值小于1或大于列出的選項(xiàng)數(shù)目時(shí),函數(shù)返回Null。如果整型表達(dá)式的值為非整型時(shí),系統(tǒng)自動(dòng)取其整數(shù)進(jìn)行判斷。例如,根據(jù)x是1~4的值,轉(zhuǎn)換成“內(nèi)科”、“外科”、“婦科”、“兒科”的語句可以寫成:kb=Choose(x,“內(nèi)科”,“外科”,“婦科”,“兒科”)4.3循環(huán)結(jié)構(gòu)4.3.1For循環(huán)語句For循環(huán)語句是計(jì)數(shù)型循環(huán)語句,用于控制循環(huán)次數(shù)預(yù)知的循環(huán)結(jié)構(gòu)。語句形式:For循環(huán)變量=初值To終值[Step步長(zhǎng)]
Next循環(huán)變量說明:循環(huán)變量必須是數(shù)值型步長(zhǎng):一般為正數(shù),初值小于終值;若為負(fù)數(shù),初值大于終值;Step缺省時(shí)默認(rèn)為1。語句塊:重復(fù)執(zhí)行的部分,構(gòu)成循環(huán)體,可以是一句或多句。ExitFor:退出循環(huán),執(zhí)行Next后的下一條語句。循環(huán)次數(shù):n=Int(+1)<語句塊>[ExitFor]<語句塊>循環(huán)體終值-初值
步長(zhǎng)TF循環(huán)變量=初值循環(huán)變量≤終值語句塊有ExitFor語句塊循環(huán)變量=循環(huán)變量+步長(zhǎng)FT步長(zhǎng)>0時(shí)For循環(huán)語句流程示意圖例4-8求100以內(nèi)所有數(shù)的和。程序塊如下:Sum=0‘sum為累加和變量,設(shè)初值為0Fori=1To100Sum=Sum+iNexti又如:求10的階乘。T=1‘T為連乘積的變量,設(shè)初值為1Fori=1To10T=T*iNexti退出循環(huán)時(shí),i的值是多少呢?4.3.2Do…Loop循環(huán)語句Do循環(huán)用于控制循環(huán)次數(shù)未知的循環(huán)結(jié)構(gòu)。語句形式:(1)Do[{While|Until}<條件>]<語句塊>[ExitDo]<語句塊>Loop(2)Do<語句塊>[ExitDo]<語句塊>Loop[{While|Until}<條件>
]TFF表達(dá)式列表語句塊有ExitDo語句塊DoWhile…Loop循環(huán)流程圖TDo…LoopWhile流程示意圖FT表達(dá)式列表語句塊ExitDo語句塊T例4-9利用DoWhile循環(huán)編寫一個(gè)將十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)的程序。程序運(yùn)行界面如圖:程序代碼如下:PrivateSubCommand1_Click()Dimx$,n%,a%,n=InputBox("請(qǐng)輸入1個(gè)整數(shù)")Print"十進(jìn)制數(shù)為:";nx=""DoWhilen<>0a=nMod2n=n\2x=Chr(48+a)&xLoopPrint"二進(jìn)制數(shù)為:";xPrintEndSub例
我國(guó)有13億人口,按人口年增長(zhǎng)0.8%計(jì)算,多少年后我國(guó)人口超過26億。分析:解此問題兩種方法,可根據(jù)公式:26=13*(1+0.008)n
直接利用標(biāo)準(zhǔn)對(duì)數(shù)函數(shù)求得;也可利用循環(huán)求得,程序如下:PrivateSubCommand1_Click()x=13n=0DoWhilex<26x=x*1.008n=n+1LoopPrintn,xEndSub例4-10求100以內(nèi)的素?cái)?shù)
素?cái)?shù)素?cái)?shù)也成質(zhì)數(shù),就是大于2且只能被1和本身整除的整數(shù)。
我們從素?cái)?shù)的定義來求解:從i=2,3,4,…,m-1依次判斷m能否被i整除,只要有一個(gè)能整除m就不是素?cái)?shù),否則m為素?cái)?shù)。運(yùn)行結(jié)果如圖PrivateSubCommand1_Click()DimiAsInteger,mAsInteger,FlagAsBoolean,nAsIntegerPrint"100以內(nèi)的素?cái)?shù)有"Form=3To100Flag=TrueFori=2Tom-1IF(mModi)=0ThenFlag=FalseNextiIFFlag=TrueThenn=n+1PrintSpc(3-Len(Str(m)));m;IFnMod10=0ThenPrintEndIFNextmEndSub4.3.3循環(huán)的嵌套例4-11利用隨機(jī)函數(shù)產(chǎn)生20個(gè)50~100范圍內(nèi)的隨機(jī)數(shù),顯示最大值和最小值。運(yùn)行界面如圖
[程序代碼]PrivateSubCommand1_Click() DimmaxaAsInteger,minaAsInteger,xAsInteger,iAsInteger Form1.Cls‘每單擊一次清除原來內(nèi)容 maxa=50‘假設(shè)較小的數(shù)為最大 mina=100‘假設(shè)較大的數(shù)為最小 Randomize Fori=1To20 x=Int(Rnd*51+50) Printx; IFiMod10=0ThenPrint IFx>maxaThenmaxa=x IFx<minaThenmina=x Nexti Print Print"最大值為";maxa Print"最小值為";minaEndSub
一個(gè)循環(huán)體內(nèi)又包含了一個(gè)完整的循環(huán)結(jié)構(gòu)稱為循環(huán)的嵌套.
例打印九九乘法表.
Fori=1To9Forj=1To9se=i&"×"&j&"="&i*jPicture1.PrintTab((j-1)*9+1);se;NextjPicture1.PrintNexti思考:打印上三角或下三角程序如何改動(dòng)?要打印下三角?Forj=1Toi
Forii=1To10Forjj=1To20… Nextii Nextjj
Forii=1To10Forii=1To20… Nextii Nextii
Forii=1To10Forjj=1To20… NextjjNextii
Forii=1To10…NextiiForii=1To10…Nextii對(duì)于循環(huán)的嵌套,要注意以下事項(xiàng):內(nèi)循環(huán)變量與外循環(huán)變量不能同名;外循環(huán)必須完全包含內(nèi)循環(huán),不能交叉;不能從循環(huán)體外轉(zhuǎn)向循環(huán)體內(nèi),反之則可以。正確 錯(cuò)誤對(duì)于循環(huán)的嵌套,需要注意以下事項(xiàng):
內(nèi)循環(huán)變量與外循環(huán)變量不能同名。
外循環(huán)必須完全包含內(nèi)循環(huán),不能交叉。
以下程序段是錯(cuò)誤的:(1)內(nèi)外循環(huán)變量同名錯(cuò)誤:Fori=1To10Fori=1To20….NextiNexti(2)內(nèi)外循環(huán)交叉Fori=1To10Forj=1To10…NextiNextj4.4其他輔助控制語句
1.GoTo語句形式:GoTo{標(biāo)號(hào)|行號(hào)}作用:無條件地轉(zhuǎn)移到標(biāo)號(hào)或行號(hào)指定的那行語句.標(biāo)號(hào)是一個(gè)字符序列,行號(hào)是一個(gè)數(shù)字序列.2.Exit語句多種形式:ExitFor、ExitDo、ExitSub、ExitFunction等。作用:退出某種控制結(jié)構(gòu)的執(zhí)行。3.End語句多種形式:End、EndIf、EndSelect、EndWith、EndType、 EndSub、EndFunction、
作用:End結(jié)束一個(gè)程序的運(yùn)行;其余表示某個(gè)結(jié)構(gòu)的結(jié)束,與對(duì)應(yīng)的結(jié)構(gòu)語句配對(duì)出現(xiàn)。4.5常用算法(一)算法是對(duì)某個(gè)問題求解過程的描述
1.累加、連乘
1~100的5或7的倍數(shù)的和
Sum=0Fori=1To100IfiMod5=0OriMod7=0Then
Sum=Sum+iEndIfNextiPrintSum3~10的乘積
t=1Fori=3To10
t=t*iNextiPrintt思考:若把循環(huán)體前面置各變量初值的語句放在循環(huán)體內(nèi),程序運(yùn)行時(shí)會(huì)產(chǎn)生什么情況?2.窮舉法
“窮舉法”也稱為“枚舉法”或“試湊法”,即將可能出現(xiàn)的各種情況一一測(cè)試,判斷是否滿足條件,一般采用循環(huán)來實(shí)現(xiàn)。例
百元買百雞問題。假定小雞每只5角,公雞每只2元,母雞每只3元?,F(xiàn)在有100元錢要求買100只雞,編程列出所有可能的購(gòu)雞方案。設(shè)母雞、公雞、小雞各為x、y、z只,根據(jù)題目要求,列出方程為:x+y+y=1003x+2y+0.5z=100三個(gè)未知數(shù),兩個(gè)方程,此題有若干個(gè)解。解決此類問題采用“試湊法”,把每一種情況都考慮到。方法一:最簡(jiǎn)單三個(gè)未知數(shù)利用三重循環(huán)來實(shí)現(xiàn)。方法二:從三個(gè)未知數(shù)的關(guān)系,利用兩重循環(huán)來實(shí)現(xiàn)。Forx=0to100Fo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全國(guó)醫(yī)學(xué)檢驗(yàn)技術(shù)人員考試試卷及答案
- 【湘教版】湖南省岳陽市君山區(qū)重點(diǎn)達(dá)標(biāo)名校2026屆中考數(shù)學(xué)最后沖刺模擬試卷含解析
- 統(tǒng)編版語文五年級(jí)下冊(cè) 第五單元 教材解讀大單元集體備課課件
- 全新購(gòu)車協(xié)議書合同范本(2025版)
- 聯(lián)營(yíng)合同書范本2025年
- 勞務(wù)外包個(gè)人簡(jiǎn)單合同范本(2025版)
- 商場(chǎng)防火責(zé)任協(xié)議書參考模板2025年
- 臨街商店攤位出租合同(2025版)
- 施工管理合同范本2025年
- 石材鋪裝合同范本2025年
- 廣告標(biāo)識(shí)牌、宣傳品、物料設(shè)計(jì)、制作方案投標(biāo)文件(技術(shù)方案)
- 日本簽證個(gè)人信息處理同意書
- DB50∕T 632-2015 火災(zāi)高危單位消防安全評(píng)估規(guī)程
- 2024年湖北襄樊公開招聘社區(qū)工作者考試試題答案解析
- DB61-T 1248-2019 壓裂返排液 回配壓裂液用水水質(zhì)要求
- 井下礦山頂板安全知識(shí)培訓(xùn)
- 病歷質(zhì)量管理持續(xù)改進(jìn)
- 護(hù)理實(shí)習(xí)生安全教育
- 自動(dòng)化生產(chǎn)線設(shè)計(jì)與運(yùn)營(yíng)技術(shù)手冊(cè)
- T-CRACM 0005-2024 非醫(yī)療生殖健康保健機(jī)構(gòu)服務(wù)管理規(guī)范
- TCNFIA 212-2024 食品接觸材料及制品用油墨 符合性聲明要求
評(píng)論
0/150
提交評(píng)論