《基本控制結(jié)構(gòu)》PPT課件.ppt
《《基本控制結(jié)構(gòu)》PPT課件.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《《基本控制結(jié)構(gòu)》PPT課件.ppt(34頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
第5章基本控制結(jié)構(gòu),(時(shí)間:9次課,18學(xué)時(shí)),第5章基本控制結(jié)構(gòu),學(xué)習(xí)目的與要求:VisualBasic的基本控制結(jié)構(gòu)是指在使用結(jié)構(gòu)化的程序設(shè)計(jì)語(yǔ)言來(lái)把相關(guān)的命令按照一定的控制結(jié)構(gòu)組成命令的序列,主要包括:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。本章的內(nèi)容是使讀者初步認(rèn)識(shí)結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,了解結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言的有關(guān)特點(diǎn),掌握VisualBasic進(jìn)行程序開發(fā)的一般過程。,第5章基本控制結(jié)構(gòu),5.1控制結(jié)構(gòu)概述5.2順序結(jié)構(gòu)5.3選擇結(jié)構(gòu)5.4循環(huán)結(jié)構(gòu)5.5上機(jī)實(shí)訓(xùn)5.6本章習(xí)題,5.1控制結(jié)構(gòu)概述,計(jì)算機(jī)可以實(shí)現(xiàn)很多功能,但是這些功能都是依靠人事先編制好的程序來(lái)進(jìn)行指導(dǎo)的,所以,程序的編寫也就是對(duì)功能完成的控制流程。在學(xué)習(xí)程序設(shè)計(jì)前我們必須了解算法的基本內(nèi)容。,5.1.1算法,,,,,,,,,,1.算法的概念算法:指用計(jì)算機(jī)解決某一問題的方法和步驟。算法分為兩類:數(shù)值算法:用于解決一般數(shù)學(xué)解析方法難以解決的問題,如:求超越方程的根、求定積分、解微分方程等。非數(shù)值算法:用于對(duì)非數(shù)值信息進(jìn)行查找、排序等。,5.1.1算法,,,,,,,,,,2.算法的特征確定性:指算法的每個(gè)步驟都應(yīng)確切無(wú)誤,沒有歧義。可行性:指算法的每個(gè)步驟必須是計(jì)算機(jī)能夠有效執(zhí)行、可以實(shí)現(xiàn)的,并可得到確定的結(jié)果。有窮性:指一個(gè)算法應(yīng)該在有限的時(shí)間和步驟內(nèi)可以執(zhí)行完畢的。輸入性:指一個(gè)算法可以有0或多個(gè)輸入數(shù)據(jù)。輸出性:指一個(gè)算法必須有一個(gè)或多個(gè)輸出結(jié)果。,5.1.1算法,,,,,,,,,,3.算法的評(píng)價(jià)主要評(píng)價(jià)指標(biāo)是:算法是否正確、運(yùn)行的效率、占用系統(tǒng)資源的多少。4.算法的描述一般常用流程框圖來(lái)描述算法。,5.1.1算法,,,,,,,,,,5.基本算法結(jié)構(gòu)“結(jié)構(gòu)化程序設(shè)計(jì)方法”規(guī)定算法有三種基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。,5.1.2程序設(shè)計(jì)規(guī)則,1.VB代碼書寫規(guī)則2.語(yǔ)句書寫規(guī)則3.程序的注釋方式,5.2順序結(jié)構(gòu),程序的執(zhí)行都是按照程序代碼的書寫順序,從上到下一條一條的執(zhí)行,這種結(jié)構(gòu)稱為“順序結(jié)構(gòu)”。順序結(jié)構(gòu)是最簡(jiǎn)單的一種結(jié)構(gòu),該結(jié)構(gòu)按語(yǔ)句排列的先后順序執(zhí)行,不會(huì)跳過某一條語(yǔ)句或者不按照順序執(zhí)行。一般的程序設(shè)計(jì)語(yǔ)言中,順序結(jié)構(gòu)主要由賦值語(yǔ)句、輸入/輸出語(yǔ)句等構(gòu)成。,5.2.1賦值語(yǔ)句,賦值語(yǔ)句是任何程序設(shè)計(jì)中最基本的語(yǔ)句,賦值語(yǔ)句都時(shí)順序執(zhí)行的。賦值語(yǔ)句的形式為:[let]變量名=表達(dá)式它的作用是計(jì)算右邊表達(dá)式的值,然后賦給左邊的變量,表達(dá)式的類型應(yīng)該與變量名的類型一致。其中的let保留字可以省略。,5.2.1賦值語(yǔ)句,例如:x=2把2賦給xy=x*3計(jì)算x*3的值,得6,把6賦給yx=x+1計(jì)算x+1的值,得3,把3賦給xa="Hello"把“Hello”賦給aText1.Text="你好!"把“你好!”賦給Text1的Text屬性,5.2.1賦值語(yǔ)句,在使用賦值語(yǔ)句時(shí)需要注意以下幾點(diǎn):當(dāng)表達(dá)式為數(shù)值型而與變量精度不同時(shí),強(qiáng)制轉(zhuǎn)換成左邊變量的精度;當(dāng)表達(dá)式是數(shù)字字符串,左邊變量是數(shù)值類型,自動(dòng)轉(zhuǎn)換成數(shù)值類型再賦值,但當(dāng)表達(dá)式中有非數(shù)字字符或空串,則出錯(cuò)。任何非字符類型賦值給字符類型,自動(dòng)轉(zhuǎn)換為字符類型;當(dāng)邏輯型賦值給數(shù)值型時(shí),True轉(zhuǎn)換為-1,F(xiàn)alse轉(zhuǎn)換為0;反之,非0轉(zhuǎn)換為True,0轉(zhuǎn)換為False;賦值號(hào)左邊的變量只能是變量,不能是常量、常數(shù)符號(hào)、表達(dá)式,否則報(bào)錯(cuò);不能在一句賦值語(yǔ)句中,同時(shí)給各變量賦值;在條件表達(dá)式中出現(xiàn)的=是等號(hào),系統(tǒng)會(huì)根據(jù)=號(hào)的位置,自動(dòng)判斷是否為賦值號(hào);N=N+1是累加中常見的賦值語(yǔ)句,表示將N變量中的值加1后再賦值給N。,5.2.2輸入數(shù)據(jù),編寫程序的目的是為了讓計(jì)算機(jī)能為我們完成設(shè)定的工作,因此就必須對(duì)它下達(dá)命令,并將需要處理的數(shù)據(jù)輸入給計(jì)算機(jī),然后計(jì)算機(jī)把處理的信息反饋回來(lái),報(bào)告任務(wù)是否完成。以上就是所謂的人機(jī)對(duì)話或交互功能,尤其是在Windows操作里需要進(jìn)行更多的輸入工作,例如需要填寫各種各樣的表格,設(shè)置程序的重要參數(shù),把數(shù)據(jù)輸入給計(jì)算機(jī)等。,1.使用文本框輸入數(shù)據(jù),一個(gè)程序如果沒有輸入操作,必然缺乏靈活性。接收用戶輸入數(shù)據(jù)的最直接的方法就是使用文本框。,2.使用inputbox輸入數(shù)據(jù),InputBox函數(shù)用于接受用戶鍵盤輸入的數(shù)據(jù),也稱為輸入框。語(yǔ)法:InputBox(對(duì)話框字符串s[,標(biāo)題s][,文本框字符串s][,橫坐標(biāo)值n][,縱坐標(biāo)值n][幫助文件s,幫助主題號(hào)n]),5.2.2輸出數(shù)據(jù),1.使用標(biāo)簽控件輸出最簡(jiǎn)單的文本顯示控件是標(biāo)簽(Label),標(biāo)簽(Label)最常用的功能是區(qū)分窗體上不同的項(xiàng)目,每一個(gè)標(biāo)簽用來(lái)說明禁挨著它的編輯域的信息。這種用途的標(biāo)簽一般在設(shè)計(jì)時(shí)建立,而且顯示的說明內(nèi)容通過屬性窗口直接賦給Caption屬性。同樣,標(biāo)簽(Label)也可以在運(yùn)行時(shí)顯示任意類型的數(shù)據(jù),但是要注意輸出的內(nèi)容要處理為字符形式。,5.2.2輸出數(shù)據(jù),2.使用Print輸出Print方法用于在窗體、圖片框和打印機(jī)上顯示(輸出)文本。語(yǔ)法:對(duì)象.Print[表達(dá)式列表]說明:對(duì)象名:可以是Form(窗體)、Debug(立即窗口)、Picture(圖片框)、Printer(打印機(jī))。省略此項(xiàng),表示在當(dāng)前窗體上輸出。表達(dá)式列表:是一個(gè)或多個(gè)表達(dá)式,若為多個(gè)表達(dá)式,則各表達(dá)式之間用“,”或“;”隔開。省略此項(xiàng),則輸出一個(gè)空行。定位輸出:在Print方法中,可以使用Tab函數(shù)對(duì)輸出項(xiàng)進(jìn)行定位。,5.2.2輸出數(shù)據(jù),3.使用MsgBox函數(shù)輸出MsgBox函數(shù)用于向用戶發(fā)布提示信息,要求用戶做出必要的響應(yīng),也稱為消息框。MsgBox函數(shù)在對(duì)話框中顯示消息,對(duì)話框中包含命令按鈕,由用戶單擊按鈕。語(yǔ)法:MsgBox(消息文本s[,顯示按鈕n][標(biāo)題s][,幫助文件s,幫助主題號(hào)n])其中:消息文本:在對(duì)話框中作為消息顯示的字符串,用于提示信息。如果消息的內(nèi)容超過一行時(shí),可以在每行之間插入回車符(Chr(13))或換行符(Chr(10))進(jìn)行換行。標(biāo)題:在對(duì)話框標(biāo)題欄中顯示的標(biāo)題,缺省時(shí)為空白。顯示按鈕:是C1+C2+C3+C4的總和,用來(lái)指定顯示按鈕的數(shù)目、形式、使用的圖標(biāo)樣式。,5.3選擇結(jié)構(gòu),分支結(jié)構(gòu)用于判斷并分支,根據(jù)判定的結(jié)果(True或Fa1se)決定執(zhí)行語(yǔ)句,分支結(jié)構(gòu)有三種形式。If…Then結(jié)構(gòu)If…Then…Else結(jié)構(gòu)SelectCase結(jié)構(gòu),5.3.1If…Then結(jié)構(gòu),If…Then結(jié)構(gòu)表示“如果…就”,是條件轉(zhuǎn)移語(yǔ)句,根據(jù)條件測(cè)試后的結(jié)果,決定程序的下一步。語(yǔ)法:If條件Then語(yǔ)句或者:if條件Then語(yǔ)句塊EndIf其中,條件(表達(dá)式)的值應(yīng)為Boolean(布爾型)。若條件為True,則執(zhí)行Then關(guān)鍵字后面的語(yǔ)句或語(yǔ)句塊;否則,直接執(zhí)行下一條語(yǔ)句或“EndIf”的下一條語(yǔ)句。若條件的值為數(shù)值,則當(dāng)值為零是False,而任何非零數(shù)值都看作True。,5.3.2If…Then…Else結(jié)構(gòu),If…Then…Else結(jié)構(gòu)表示“如果…就…否則”,比If…Then結(jié)構(gòu)的條件選擇和范圍更廣。If…Then…Else結(jié)構(gòu)可以采用如下的結(jié)構(gòu):IfThenElseEndIf這種結(jié)構(gòu)也叫做雙分支結(jié)構(gòu),5.3.2If…Then…Else結(jié)構(gòu),說明:不管有幾個(gè)分支,程序執(zhí)行了一個(gè)分支后,其余分支不再執(zhí)行;ElseIf不能寫成ElseIf;每一個(gè)塊結(jié)構(gòu)都必須以If開始,以EndIf結(jié)束。當(dāng)多分支中有多個(gè)表達(dá)式同時(shí)滿足,則只執(zhí)行第一個(gè)與之匹配的語(yǔ)句塊;內(nèi)層嵌套的塊結(jié)構(gòu)中除了滿足該層規(guī)定的條件外,還必須首先滿足外層結(jié)構(gòu)中相應(yīng)位置的條件。VB中對(duì)塊嵌套的層數(shù)沒有限制,在嵌套的塊結(jié)構(gòu)中仍然可以繼續(xù)嵌套其他的塊結(jié)構(gòu),但嵌套時(shí)外層的塊結(jié)構(gòu)必須完全“包住”內(nèi)層的塊結(jié)構(gòu),不能相互“騎跨”。如果存在嵌套時(shí),語(yǔ)句中的每一個(gè)Else必須和一個(gè)If相對(duì)應(yīng),應(yīng)避免產(chǎn)生混亂。在書寫時(shí),可以將同一層的If子句和Else子句左對(duì)齊,內(nèi)層的各語(yǔ)句塊相對(duì)于外層向右縮進(jìn)若干空格,以使程序結(jié)構(gòu)更加清楚,便于閱讀和查錯(cuò)。,5.3.3SelectCase結(jié)構(gòu),SelectCase結(jié)構(gòu)用于多重選擇的情況語(yǔ)法:SelectCase變量I表達(dá)式Case值1語(yǔ)句塊1[Case值2語(yǔ)句塊2]……[CaseElse語(yǔ)句塊n]EndSelect,5.3.3SelectCase結(jié)構(gòu),SelectCase語(yǔ)句功能:根據(jù)“測(cè)試表達(dá)式”的值,選擇第一個(gè)符合條件的語(yǔ)句塊執(zhí)行。SelectCase語(yǔ)句的執(zhí)行過程是:先求“測(cè)試表達(dá)式”的值,然后順序測(cè)試該值符合哪一個(gè)Case子句中情況,如果找到了,則執(zhí)行該Case子句下面的語(yǔ)句塊,然后執(zhí)行EndSelect后面的語(yǔ)句;如果沒找到,則執(zhí)行CaseElse后面的語(yǔ)句塊,然后執(zhí)行EndSelect后面的語(yǔ)句。,5.3.3SelectCase結(jié)構(gòu),“表達(dá)式列表”形式有以下3種:(1)一個(gè)表達(dá)式或用逗號(hào)隔開的若干表達(dá)式(2)表達(dá)式1To表達(dá)式2(3)Is關(guān)系運(yùn)算符表達(dá)式也可以同時(shí)設(shè)置多個(gè)不同的范圍,用逗號(hào)(,)將它們分隔開。例如,-10,1T0100。SelectCase只計(jì)算一次表達(dá)式值,然后將表達(dá)式的值與結(jié)構(gòu)中的每個(gè)Case的值進(jìn)行比較。如果相等,就執(zhí)行與該Case的語(yǔ)句塊。如果沒有相匹配,則執(zhí)行CaseElse子句中的語(yǔ)句。,5.3.4IIf函數(shù),函數(shù)形式:IIf(表達(dá)式,當(dāng)條件為True時(shí)的值,當(dāng)條件為False時(shí)的值)例:求X、Y中大的數(shù),并放入變量max中。PrivateSubCommand5_Click()Dimx,y,maxasintegerX=inputbox()Y=inputbox()Max=iff(x>y,x,y)EndSub,5.4循環(huán)結(jié)構(gòu),循環(huán)結(jié)構(gòu)非常適合于解決處理的過程相同、處理的數(shù)據(jù)相關(guān),但處理的具體值不同的問題。我們把能夠處理這類問題的語(yǔ)句稱為循環(huán)語(yǔ)句。循環(huán)是在指定的條件下多次重復(fù)執(zhí)行一組語(yǔ)句。VB中提供了兩種類型的循環(huán)語(yǔ)句:計(jì)數(shù)循環(huán)語(yǔ)句和條件型循環(huán)語(yǔ)句,5.4.1For循環(huán)語(yǔ)句,For循環(huán)語(yǔ)句也叫做知道循環(huán)次數(shù)的計(jì)數(shù)型循環(huán)語(yǔ)句形式:For循環(huán)變量=初值To終值[Step步長(zhǎng)]語(yǔ)句塊[ExitFor]語(yǔ)句塊Next循環(huán)變量,5.4.1For循環(huán)語(yǔ)句,說明:循環(huán)變量必須為數(shù)值型步長(zhǎng)一般為正,初值小于終值;若為負(fù),初值大于終值;缺省步長(zhǎng)為1;語(yǔ)句塊可以是一句或多句語(yǔ)句,稱為循環(huán)體;ExitFor表示當(dāng)遇到該語(yǔ)句時(shí),退出循環(huán)體;執(zhí)行Next的下一句;循環(huán)次數(shù)=int((終值-初值)/步長(zhǎng))+1退出循環(huán)后,循環(huán)變量的值保持退出時(shí)的值;在循環(huán)體內(nèi)對(duì)循環(huán)變量可多次引用,但不要對(duì)其賦值,否則影響結(jié)果。,5.4.2Do循環(huán)結(jié)構(gòu),Do循環(huán)有兩種形式。即“當(dāng)型”循環(huán)(DoWhile結(jié)構(gòu))和“直到型”(While結(jié)構(gòu))循環(huán)?!爱?dāng)型”循環(huán)的定義如下:語(yǔ)法:DoWhile|Until條件語(yǔ)句塊[ExitDo]語(yǔ)句塊Loop,5.4.2Do循環(huán)結(jié)構(gòu),“直到型”循環(huán)的定義如下:語(yǔ)法:Do語(yǔ)句塊[ExitDo]語(yǔ)句塊LoopWhile|Until條件,5.4.2Do循環(huán)結(jié)構(gòu),“當(dāng)型”循環(huán)的步驟:執(zhí)行DoWhile循環(huán)時(shí)首先測(cè)試條件;只要條件為True就執(zhí)行語(yǔ)句塊,然后再回到DoWhile語(yǔ)句測(cè)試條件:如果條件為False,則跳過所有語(yǔ)句到循環(huán)體外?!爸钡叫汀毖h(huán)與“當(dāng)型”循環(huán)所不同的是先執(zhí)行語(yǔ)句,然后測(cè)試條件,只要條件為True就執(zhí)行語(yǔ)句,然后再測(cè)試條件;如果條件為False,則跳過循環(huán)體,這種“直到型”循環(huán)保證語(yǔ)句塊至少被執(zhí)行一次。,5.4.3循環(huán)嵌套,嵌套指在循環(huán)體內(nèi)又包含了一個(gè)完整的循環(huán)結(jié)構(gòu)。循環(huán)嵌套對(duì)For循環(huán)和Do……Loop循環(huán)均適用。說明:嵌套時(shí),內(nèi)層循環(huán)必須完全包含在外層循環(huán)之內(nèi),不能相互“騎跨”。在循環(huán)的嵌套中,內(nèi)層循環(huán)和外層循環(huán)應(yīng)該使用不同的循環(huán)控制變量。在多重循環(huán)的任何一層循環(huán)中都可以使用ExitDo或ExitFor退出循環(huán),但要注意只能退出ExitDo或ExitFor語(yǔ)句所對(duì)應(yīng)的最內(nèi)層循環(huán),而不是一次退出多層循環(huán)。,- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 基本控制結(jié)構(gòu) 基本 控制 結(jié)構(gòu) PPT 課件
鏈接地址:http://www.820124.com/p-13193362.html