《《VB程序設(shè)計(jì)基礎(chǔ)》PPT課件.ppt》由會員分享,可在線閱讀,更多相關(guān)《《VB程序設(shè)計(jì)基礎(chǔ)》PPT課件.ppt(24頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、第 4 章 程序設(shè)計(jì)基礎(chǔ),學(xué)習(xí)要求,1結(jié)構(gòu)化程序設(shè)計(jì)的基本思想 2掌握順序結(jié)構(gòu)的程序設(shè)計(jì)方法 3掌握選擇結(jié)構(gòu)程序設(shè)計(jì)的格式和方法 4掌握循環(huán)結(jié)構(gòu)程序設(shè)計(jì)的格式和方法,4.1 算法及表示,要使計(jì)算機(jī)解決一個問題,必須首先要針對一個具體問題設(shè)計(jì)一個解題步驟,然后將解題步驟轉(zhuǎn)換相應(yīng)的程序設(shè)計(jì)的語言代碼,由計(jì)算機(jī)的編譯程序生成目標(biāo)程序,再由連接程序生成可執(zhí)行程序,即應(yīng)用程序供用戶在操作系統(tǒng)的環(huán)境下進(jìn)行調(diào)用或直接運(yùn)行。,4.1.1 算法簡介 算法概念,所謂算法就是指問題的解題步驟的描述。 算法的設(shè)計(jì)一般采用由上向下、逐步求精的方法。,4.1.1 算法簡介 算法特性,(1)確定性:算法中的每個步驟必須要有
2、確定的含義,不存在二義性。 (2)有窮性:算法必須在有限的步驟之后停止。 (3)可行性:算法的每個步驟都可以通過有限個可實(shí)現(xiàn)的基本操作的組合來實(shí)現(xiàn)。 (4)輸入:一個算法有零個或多個輸入語句,保證用戶在程序運(yùn)行中輸入相關(guān)數(shù)據(jù)后能繼續(xù)運(yùn)行。 (5)輸出:每個算法應(yīng)該至少有一個輸出。,4.1.2 自然語言和偽代碼,自然語言是指用通俗語言來描述解決問題的步驟,如案例4.1中對求解一元二次方程實(shí)數(shù)根的問題描述,就是采用自然語言來描述的。用自然語言描述算法的優(yōu)點(diǎn)是通俗易懂,缺點(diǎn)是文字冗長,容易出現(xiàn)歧義。 偽代碼是指可使用大家比較熟悉的符號或數(shù)學(xué)運(yùn)算符號來替代自然語言描述中的一些詞語或句子,優(yōu)點(diǎn)是書寫方便
3、,格式緊湊,便于向計(jì)算機(jī)語言轉(zhuǎn)換。,4.1.3 流程圖,流程圖是一種傳統(tǒng)的算法表示方法,它采用不同的流程圖符號表示各種不同性質(zhì)的操作,并用流程線來指示算法的執(zhí)行順序。其優(yōu)點(diǎn)在于形象直觀,易于理解,所以應(yīng)用廣泛。 常用的流程圖符號主要可分為程序的起止框、輸入輸出框、處理框、條件框、流程線和連接點(diǎn),4.1.3 流程圖,,4.1.3 流程圖案例4.3,求解一個一元二次方程的實(shí)數(shù)根,畫出算法的流程圖。,,4.2順序結(jié)構(gòu),順序結(jié)構(gòu)是指用于解決實(shí)際問題的程序中各個語句按出現(xiàn)的先后次序執(zhí)行的結(jié)構(gòu)。在Visual Basic 6.0 中實(shí)現(xiàn)順序結(jié)構(gòu)的語句一般有:注釋語句、變量聲明語句、變量賦值語句、采用Inp
4、utBox函數(shù)的輸入語句和使用MsgBox函數(shù)或Print語句的輸出語句等。,4.2.1 注釋語句,注釋語句不僅對程序語句的說明或解釋,以增加程序代碼的可閱讀性,而且對程序的調(diào)試也是非常有用的。 注釋語句的格式為:Rem 或 說明: (1)是指任何注釋文本,可以是數(shù)字、字母或漢語組成。使用Rem關(guān)鍵字對語句注釋時,在Rem與注釋文本間應(yīng)加一個空格符。 (2)如果在其他語句行后使用Rem注釋語句,則需在Rem關(guān)鍵字前加一個冒號(:)。,4.2.2 賦值語句,賦值語句是對變量或?qū)ο蟮膶傩再x于表達(dá)式的語句,語句格式為: 變量名= 對象.屬性名=,4.2.2 賦值語句說明,(1)可以是常量、變量、函數(shù)
5、調(diào)用或其他采用運(yùn)行符等組成的表達(dá)式。 (2)語句的“=”即不是數(shù)學(xué)中的“等號”,也不是VB關(guān)系表達(dá)式中的“等于”。它是一個VB的命令,應(yīng)理解為“將表達(dá)式計(jì)算后的結(jié)果賦值于變量或?qū)ο蟮膶傩浴保虼恕?”應(yīng)念成“賦值于”,而不能念成“等于”。 (3)賦值語句中“=”左邊必須是變量名或?qū)ο蟮膶傩悦?,不能是常量、表達(dá)式或其他函數(shù)的調(diào)用。,4.2.2 賦值語句說明,(4)賦值語句“=”兩邊的數(shù)據(jù)類型一般要求是一致,若兩邊的數(shù)據(jù)類型不一致,則以“=”左邊的變量或?qū)ο蟮膶傩悦臄?shù)據(jù)類型為準(zhǔn),如果右邊表達(dá)式結(jié)果的數(shù)據(jù)類型能夠轉(zhuǎn)換成與左邊變量或?qū)ο髮傩悦恢碌臄?shù)據(jù)類型,則可先強(qiáng)制轉(zhuǎn)換后再賦值;若不能轉(zhuǎn)換,則系統(tǒng)
6、給出錯誤的提示信息。 (5)為變量賦值時,表達(dá)式的值不得超過數(shù)值變量的數(shù)值范圍,否則顯示錯誤信息。 (6)任何類型表達(dá)式都可以向字符串變量賦值。,4.3 選擇結(jié)構(gòu)二分支選擇結(jié)構(gòu),二路選擇分支結(jié)構(gòu)是采用行IF語句或塊IF語句兩種形式。 (1)行IF語句是將IF語句的二路分支寫在同行,其格式為: IF Then Else (2)塊IF語句是將IF語句中的二路分支寫在不同的語句行,其格式為: If Then 語句系列1 Else 語句系列2 End if,4.3 選擇結(jié)構(gòu)案例4.4,【案例4.4】某商場舉行促銷活動,其規(guī)則是消費(fèi)額在1000元以上的以9折優(yōu)惠,設(shè)計(jì)一個程序,要求輸入消費(fèi)金額后
7、自動計(jì)算后輸出應(yīng)付金額。,,4.3.2 Select Case多路選擇分支結(jié)構(gòu),格式: Select Case Case 語句系列1 Case 語句系列2 End Select,4.3.2 多路選擇分支結(jié)構(gòu)說明,(1)表達(dá)式取值為一組用逗號隔開的常量列表,如:1,3,5 (2)表達(dá)式取值為在區(qū)間內(nèi)的數(shù)值,如:1 to 5 (3)表達(dá)式取值是一個關(guān)系表達(dá)式,如:x<1000,但作為case后的取值表達(dá)式需采用比較運(yùn)算符Is,即應(yīng)采用Is<1000 (4)表達(dá)式取值是一個由其他運(yùn)算符組成的表達(dá)式,如:x+4。,4.3 循環(huán)結(jié)構(gòu),循環(huán)結(jié)構(gòu)可以根據(jù)問題的需求重復(fù)執(zhí)行一行或多行語句
8、。在Visual Basic 6.0 中主要有2種循環(huán)結(jié)構(gòu)。 (1)For/Next語句 (2)Do/Loop語句,4.3.1 For/Next語句,For語句一般用于可預(yù)測循環(huán)次數(shù)的循環(huán),其格式為: For = to step 語句系列 Next ,4.3.1 For/Next語句說明,(1)循環(huán)變量一般采用i,j,k,n表示,用于控制循環(huán)是否繼續(xù)的變量。 (2)當(dāng)終止值大于初始值時,步長為正;否則為負(fù)。 (3)循環(huán)次數(shù)=(終止值初始值+1)/步長 (4)語句“For = to step ”包含了兩層含義,第一層含義是“循環(huán)變量=初始值”;第二層含義是“循環(huán)變量<=終止值”。 (5)語句系
9、列是指在程序中重復(fù)執(zhí)行的語句系列。 (6)語句“Next 循環(huán)變量”包含兩層含義,第一層含義是“循環(huán)變量=循環(huán)變量+Step”;第二層含義是“Loop”,即程序運(yùn)行的指針回到循環(huán)的開頭。 (7)循環(huán)結(jié)束后,循環(huán)變量的值為終止值+Step,4.3.2 Do/Loop語句 --當(dāng)型循環(huán)結(jié)構(gòu),Do While 或 Do Until 語句 語句 Loop Loop,4.3.2 Do/Loop語句 直型循環(huán)結(jié)構(gòu),Do 或 Do Until 語句 語句 Loop While Loop Until ,4.3.3 Exit語句,1Exit Do語句
10、 Exit Do語句是只能用于DoLoop循環(huán)結(jié)構(gòu)中,當(dāng)程序運(yùn)行該語句后,程序的指針自動指向該循環(huán)結(jié)構(gòu)的Loop語句后。 2Exit For語句 Exit Do語句是只能用于ForNext循環(huán)結(jié)構(gòu)中,當(dāng)程序運(yùn)行該語句后,程序的指針自動指向該循環(huán)結(jié)構(gòu)的Next語句后。 3Exit Function語句 Exit Function語句是只能用于FunctionEnd Function的自定義函數(shù)中,當(dāng)程序運(yùn)行該語句后,程序立即從包含該語句的Function過程中退出,轉(zhuǎn)回到該函數(shù)的調(diào)用語句之后的語句繼續(xù)執(zhí)行。 4Exit Sub語句 Exit Sub語句是只能用于SubEnd Sub的自定義過程中,當(dāng)程序運(yùn)行該語句后,程序立即從包含該語句的Sub過程中退出,轉(zhuǎn)回到該函數(shù)的調(diào)用語句之后的語句繼續(xù)執(zhí)行。,4.4 各種嵌套結(jié)構(gòu),嵌套結(jié)構(gòu)是指在選擇結(jié)構(gòu)或循環(huán)結(jié)構(gòu)中包含另一個循環(huán)分支或選擇分支,在程序設(shè)計(jì)語言中,各種嵌套結(jié)構(gòu)應(yīng)滿足以下規(guī)則: (1)每個分支的結(jié)構(gòu)是完整的,即在選擇結(jié)構(gòu)中If語句與End If是配對,Select Case語句與End Select是配對;同理,在循環(huán)結(jié)構(gòu)中For語句與Next是配對的,Do語句與Loop是配對的。 (2)各個分支間的關(guān)系是包含與被包含的關(guān)系,不能出現(xiàn)分支的交叉。 (3)為便于程序的閱讀和維護(hù),建議書寫各分支代碼時采用縮進(jìn)對齊的方式。,