版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第4章VB程序控制結(jié)構(gòu)面向?qū)ο蟪绦蛟O(shè)計(jì)事件驅(qū)動(dòng)方法4.1算法概述應(yīng)用程序=用戶界面+程序代碼代碼被組織成一個(gè)個(gè)過程過程分為事件過程和通用過程(第六章)過程=操作規(guī)則+對(duì)操作對(duì)象的說明①規(guī)定本過程要使用的變量、常量,以及各自的數(shù)據(jù)類型、作用域等;②規(guī)定本過程將要實(shí)現(xiàn)的各種操作及處理。4.1算法概述
算法概念:廣義地說,為解決一個(gè)問題而采取的方法和步驟。計(jì)算機(jī)算法可分為兩大類別:數(shù)值算法和非數(shù)值算法。數(shù)值運(yùn)算的目的是求數(shù)值解。非數(shù)值運(yùn)算包括的面十分廣泛,最常見的是用于事務(wù)管理領(lǐng)域。算法的特性1.可行性:算法中的每一個(gè)步驟都應(yīng)當(dāng)能有效地執(zhí)行,并得到確定的結(jié)果?!氨热绯龜?shù)不能為0”2.確定性:算法中的每一個(gè)步驟都應(yīng)當(dāng)是確定的,而不應(yīng)當(dāng)是含糊的、模棱兩可的。3.有窮性:一個(gè)算法應(yīng)包含有限的操作步驟,而不能是無限的。4.輸入性(有零個(gè)或多個(gè)輸入):是指在執(zhí)行算法時(shí)需要從外界取得必要的信息。一個(gè)算法也可以沒有輸入。5.輸出性(有一個(gè)或多個(gè)輸出):算法的目的是為了求解,“解”就是輸出。沒有輸出的算法是沒有意義的。算法的描述自然語言(漢語、英語)代碼符號(hào)(VB語言)圖形(流程圖、PAD圖、NS圖)圖形符號(hào)表表示與流程圖其他部分相連接連接點(diǎn)連接各個(gè)圖框,表示執(zhí)行順序流程線一個(gè)定義過的過程特定過程流程的起點(diǎn)和終點(diǎn)起止判斷選擇,根據(jù)條件滿足與否選擇不同路徑判斷各種形式的數(shù)據(jù)處理處理數(shù)據(jù)的輸入和輸出輸入/輸出代表的操作名稱圖形符號(hào)基本算法結(jié)構(gòu)結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu):順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)順序結(jié)構(gòu)eABTF選擇結(jié)構(gòu)n
選擇結(jié)構(gòu),或稱選取結(jié)構(gòu),或稱分支結(jié)構(gòu)。A或B中可以有一個(gè)是空的。補(bǔ)全下面的流程圖
----開始(結(jié)束)輸入(輸出)
循環(huán)結(jié)構(gòu)當(dāng)型(While型)循環(huán)結(jié)構(gòu)
直到型(Until型)循環(huán)三種基本結(jié)構(gòu)共同特點(diǎn):(1)只有一個(gè)入口。(2)只有一個(gè)出口。(注意,一個(gè)菱形判斷框有兩個(gè)出口,而一個(gè)選擇結(jié)構(gòu)只有一個(gè)出口。)(3)結(jié)構(gòu)內(nèi)的每一部分都有機(jī)會(huì)被執(zhí)行到。對(duì)每一個(gè)框來說,都應(yīng)有一條從入口到出口的路徑通過它。(4)結(jié)構(gòu)內(nèi)不存在“死循環(huán)”(無終止的循環(huán))。4.2順序結(jié)構(gòu)程序設(shè)計(jì)按語句出現(xiàn)的次序從上到下執(zhí)行輸入處理輸出②處理①輸入③輸出輸入信息計(jì)算機(jī)輸出信息1.賦值語句用于將指定的值賦給變量或?qū)ο髮傩?n=n+1將變量n的值加1后的結(jié)果再賦給變量nText1.fontsize=text1.fontsize+5變量或?qū)ο髮傩灶愋蛻?yīng)與表達(dá)式類型相容(x%=11/4y%=“123.45”).
相容時(shí),將表達(dá)式的結(jié)果轉(zhuǎn)換為變量的類型,然后再賦給左邊的變量.P58課下自行實(shí)踐*建議自己寫程序時(shí)盡量不要出現(xiàn)左右類型不符的情況.2.求梯形面積Val函數(shù)功能---將數(shù)字字符串轉(zhuǎn)換為數(shù)值重點(diǎn)算法:設(shè)計(jì)算法交換兩個(gè)變量a和b的值現(xiàn)有兩個(gè)杯子,分別裝有奶茶和水,請(qǐng)交換兩個(gè)杯子里的液體。輸入a和b的值(賦值,隨機(jī)數(shù),inputbox函數(shù)等)交換輸出a和b的值思考:如何交換兩文本框中信息?如何交換兩圖片框中圖形?求水仙花數(shù)三位正整數(shù)各位數(shù)字立方和等于該數(shù)本身關(guān)鍵:如何獲得各位數(shù)字?與Print方法有關(guān)的Tab函數(shù)為了使信息按指定的格式輸出,VB提供了幾個(gè)與print配合使用的函數(shù)格式:Tab(n)把光標(biāo)移到參數(shù)n指定的位置開始輸出信息。例如:PrintTab(10);25
將在第10個(gè)字符位置處輸出254.3選擇結(jié)構(gòu)對(duì)給定的條件進(jìn)行分析、比較和判斷,根據(jù)判斷結(jié)果采取不同的操作。上述問題通過選擇結(jié)構(gòu)程序來解決,而選擇結(jié)構(gòu)通過條件語句來實(shí)現(xiàn):IF語句和SelectCase語句。If語句有兩種格式:單行結(jié)構(gòu)條件語句及塊結(jié)構(gòu)條件語句。1.單行結(jié)構(gòu)條件語句格式為:
IfeThen<語句塊1>[Else
語句塊2]其中e為判斷條件,可以是關(guān)系表達(dá)式、邏輯表達(dá)式、數(shù)值表達(dá)式或字符串表達(dá)式。e語句塊1TFe語句塊1語句塊2TF單行結(jié)構(gòu)語句示例
【例1】
輸出兩整數(shù)中的較大數(shù)?!纠?】由鍵盤輸入任一實(shí)數(shù),若為負(fù)數(shù),則通過消息框提示用戶“您輸入的是一個(gè)負(fù)數(shù)”。最后在當(dāng)前窗體中輸出用戶輸入的數(shù)值。2.塊結(jié)構(gòu)條件語句(If語句塊)單分支塊雙分支塊多分支塊單分支塊一般形式如下:
IfeThen
語句塊
EndIf等價(jià)于
If
e
Then<語句塊>EndIf為區(qū)別于單行結(jié)構(gòu)語句的特征.e語句塊TF雙分支塊結(jié)構(gòu)一般形式如下:If
e
Then<語句塊1>Else<語句塊2>EndIfIf
e
Then<語句塊1>Else<語句塊2>e語句塊1語句塊2TF多分支塊結(jié)構(gòu)假如中了50萬那么買輛雅閣本田另外假如中了100萬那么
買輛寶馬另外假如中了400萬那么
買輛法拉利另外、反之(沒中獎(jiǎng))
天天電動(dòng)車結(jié)束假如If……Then
……ElseIf……ThenEndIf
……ElseIf……Then
……
……Else-->>應(yīng)用時(shí)根據(jù)需要對(duì)條件進(jìn)行增減假如中了50萬那么買輛雅閣本田另外假如中了100萬那么
買輛寶馬另外假如中了400萬那么
買輛法拉利另外、反之(沒中獎(jiǎng))
天天電動(dòng)車結(jié)束假如多分支塊結(jié)構(gòu)塊結(jié)構(gòu)語句示例【例3】給定一個(gè)百分制成績的分?jǐn)?shù),編程實(shí)現(xiàn)顯示對(duì)應(yīng)的五級(jí)制成績。
<60 E60~69 D
70~79 C 80~89 B90~100 A思考:若用戶輸入了0~100以外的數(shù)值,應(yīng)如何給出判斷?
IF條件結(jié)構(gòu)的應(yīng)用【例4】判斷某年是否為閏年
滿足以下條件之一的年份即為閏年:①能被400整除②能被4整除,但不能被100整除思路:寫出year是閏年的VB表達(dá)式【例5】模擬Word調(diào)色器功能【例5】模擬Word調(diào)色器功能
SelectCasee Casec1
A
組語句
Casec2
B組語句
……
CaseElse
n組語句
EndSelectSelectCase結(jié)構(gòu)語句e是測試表達(dá)式,可以是算術(shù)表達(dá)式或字符表達(dá)式.c1、c2---是測試項(xiàng),它可取三種形式:(1)具體取值。如3、5、6.2等;(2)連續(xù)的數(shù)據(jù)范圍。如8to20、BtoH.(3)滿足某個(gè)判決條件。如:Is>20,Is<=“P”算術(shù)表達(dá)式或字符串表達(dá)式測試項(xiàng)可以是三種形式的組合,如4,7to19,Is>20即一個(gè)case語句中允許有多個(gè)測試項(xiàng),項(xiàng)與項(xiàng)之間用逗號(hào)分隔。本結(jié)構(gòu)執(zhí)行方式:先求測試表達(dá)式的值,接著逐個(gè)檢查每個(gè)case語句的測試項(xiàng),如果測試表達(dá)式的值滿足某個(gè)測試項(xiàng)中的任意一個(gè)測試內(nèi)容,系統(tǒng)就執(zhí)行該case語句下的那組語句;若沒有一個(gè)測試項(xiàng)滿足要求,就執(zhí)行CaseElse下的語句。變量strC中存放了一個(gè)字符,判斷該字符類型。用SelectCase語句實(shí)現(xiàn):
SelectCasestrC
Case"a"To"z","A"To"Z" PrintstrC+"是字母字符"
Case"0"To"9" PrintstrC+"是數(shù)字字符"
CaseElse PrintstrC+"其他字符"
EndSelect一個(gè)case語句中允許有多個(gè)測試項(xiàng),項(xiàng)與項(xiàng)之間用逗號(hào)分隔。PrivateSubCommand1_Click()DimxAsIntegerx=Val(Text1.Text)SelectCasexCaseIs<1Text2.Text="這是小于1的數(shù)"
Case1To10Text2.Text="這是1到10之間的數(shù)"
CaseElseText2.Text="這是大于10的數(shù)"
EndSelectEndSub例Selectcase與IF嵌套3.IIf函數(shù)可用來執(zhí)行簡單的條件判斷操作,它是“If…Then…Else”結(jié)構(gòu)的簡寫版本。
結(jié)果=IIF(條件,True部分,False部分)注意,3個(gè)參數(shù)都不能省略。要求:True部分,False部分及結(jié)果變量的類型一致。PrintIIf(Combo1.Text="上午","上午好","下午好")常見錯(cuò)誤1.在選擇結(jié)構(gòu)中缺少配對(duì)的結(jié)束語句對(duì)多行式的If塊語句中,應(yīng)有配對(duì)的EndIf語句結(jié)束。2.多邊選擇ElseIf關(guān)鍵字的書寫和條件表達(dá)式的表示
ElseIf不要寫成ElseIf;
多個(gè)條件表達(dá)式次序問題3.SelectCase語句的使用
SelectCase后不能出現(xiàn)多個(gè)變量;Case子句后不能出現(xiàn)變量3.4.7數(shù)據(jù)輸入----InputBox函數(shù)InputBox函數(shù)用于產(chǎn)生一個(gè)對(duì)話框,以作為輸入數(shù)據(jù)的界面。等待用戶輸入數(shù)據(jù),并返回所輸入的內(nèi)容。在這個(gè)對(duì)話框中,包括一個(gè)以供用戶輸入文本的文本區(qū)域(即文本框),一個(gè)確定按鈕和取消按鈕。格式:
InputBox(內(nèi)容[,標(biāo)題][,默認(rèn)值][,橫坐標(biāo),縱坐標(biāo)]…)認(rèn)識(shí)InputBox函數(shù)例題MsgBox函數(shù)和MsgBox語句MsgBox函數(shù)返回一個(gè)值MsgBox語句無返回值1MsgBox語句用于彈出一個(gè)對(duì)話框格式:MsgBox內(nèi)容[,類型][,標(biāo)題][,幫助文件名,幫助主題目錄號(hào)]MsgBox“歡迎學(xué)習(xí)VB”MsgBox“歡迎”&vbcrlf&“使用VB”MsgBox“歡迎”&chr(13)+chr(10
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度蔬菜電商平臺(tái)入駐與銷售分成合同
- 二零二五年度解除方合作協(xié)議書及知識(shí)產(chǎn)權(quán)保護(hù)與侵權(quán)糾紛處理合同
- 2025年度租賃合同解約及原租戶信息保密協(xié)議
- 家庭教育在孩子運(yùn)動(dòng)習(xí)慣養(yǎng)成中的作用研究
- 構(gòu)建多元化醫(yī)療體系家庭教育視角下的家庭醫(yī)生制度實(shí)踐研究
- 心理健康教育在遠(yuǎn)程教育中的實(shí)施
- 患者滿意度與醫(yī)療服務(wù)的緊密關(guān)系
- 2024年高壓電能表項(xiàng)目資金需求報(bào)告代可行性研究報(bào)告
- 科技賦能農(nóng)產(chǎn)品電商的創(chuàng)新發(fā)展之路
- 科技企業(yè)的品牌形象塑造與傳播策略研究
- AQ6111-2023個(gè)體防護(hù)裝備安全管理規(guī)范
- 中國血管通路專家共識(shí)解讀
- 開學(xué)前幼兒園安全培訓(xùn)
- 《裝配式蒸壓加氣混凝土外墻板保溫系統(tǒng)構(gòu)造》中
- 中國紅十字會(huì)救護(hù)員培訓(xùn)理論考試試題及答案
- 《建設(shè)工程監(jiān)理》課件
- 2019版新人教版高中英語必修+選擇性必修共7冊(cè)詞匯表匯總(帶音標(biāo))
- 中層領(lǐng)導(dǎo)的高績效管理
- 小小銀行家-兒童銀行知識(shí)、理財(cái)知識(shí)培訓(xùn)
- 閱讀理解特訓(xùn)卷-英語四年級(jí)上冊(cè)譯林版三起含答案
- 國庫集中支付培訓(xùn)班資料-國庫集中支付制度及業(yè)務(wù)操作教學(xué)課件
評(píng)論
0/150
提交評(píng)論