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