版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第三章結構化程序設計與數(shù)組,本課內(nèi)容及要求: 1.了解算法概念及算法的表示,掌握用流程圖表示算法 2. 熟練掌握行if語句、塊if結構、Select Case情況選擇結構的使用,掌握選擇的嵌套結構;,結構化程序設計方法,(一)用計算機解決問題的過程,提出、分析問題,確定算法模型,設計算法,編寫程序,調(diào)試程序,分析輸出結果,正確合理,結束,不正確,什么是算法: 廣義地講:算法是為完成一項任務所應當遵循的一步一步的規(guī)則的、精確的、無歧義的描述,它的總步數(shù)是有限的。 狹義地講:算法是解決一個問題采取的方法和步驟的描述。,例1:輸入三個數(shù),然后輸出其中最大的數(shù)。 將三個數(shù)依次輸入到變量、B、C中,設變
2、量MAX存放最大數(shù)。其算法如下: 1) 輸入A、B、C。 2) A與B比較,將大的一個放入MAX中。 3) C與MAX比較,將大的一個放入MAX中。 4) 輸出MAX,MAX即為最大數(shù)。,例2 輸入10個數(shù),打印輸出其中最大的數(shù)。 算法設計如下: (1)輸入1個數(shù),存入變量A中,將記錄數(shù)據(jù)個數(shù)的變量N賦值為1,即N=1 (2)將A存入表示最大值的變量Max中,即Max=A (3)再輸入一個值給A,如果AMax 則 Max=A, 否則Max不變 (4)讓記錄數(shù)據(jù)個數(shù)的變量增加1,即N=N+1 (5)判斷N是否小于10,若成立則轉(zhuǎn)到第(3)步執(zhí)行,否則轉(zhuǎn)到第(6)步。 (6)打印輸出max,(二)
3、結構化程序設計思想,任何程序都可以用三種基本結構表示: 順序結構、選擇結構、循環(huán)結構 1.順序結構(例:例:攝氏溫度C轉(zhuǎn)換成華氏溫度F),(二)結構化程序設計思想,2.選擇結構,(二)結構化程序設計思想,3.循環(huán)結構,三種基本結構的特點: (1)只有一個入口 (2)只有一個出口 (3)不存在死語句 (4)不存在死循環(huán),輸入三個數(shù),然后輸出其中最大的數(shù)的流程圖,結束,Y,N,N,從10個數(shù)中選出最大的數(shù)的流程圖,N10,Max =A N=0,AMax,Max =A,輸入A,開始,再輸入給A,N=N+1,打印Max,結束,Y,N,N,Y,選擇結構 1. 行 If 語句 格式(1): If Then
4、 Else 功能:條件成立執(zhí)行語句1,否則執(zhí)行語句2,方括號內(nèi)的語句可缺省。 注意:行If語句必須在一行內(nèi)寫完。當語句太長,需換行,則在換行處插入“ _”(空格加下劃線)后再按回車。,例3-1:編程,輸入x,求下列 f(x)的值。,Private Sub command1_click() Dim x As Single x = InputBox(輸入x, 計算分段函數(shù)的值) If x = 5 Then Text1.Text _ = Str(1 - x * x) Else _ Text1.Text = Str(x - 5) _ 0.25) End Sub,例3-2:輸入x、y,僅當xy時交換x、
5、y的值,并輸出,例3-2:輸入x、y,僅當xy時交換x、y的值,并輸出 Private Sub Form_click() Dim x As Single, y As Single, Temp As Single x = Val(Text1.Text) y = Val(Text2.Text) If x y Then Temp = y:y = x:x = Temp Label1.Caption = x= + Str(x) + y= + _ Str(y) End Sub,2.塊 If 語句 格式: If Then Else End If,其中:和可以是多條VB可執(zhí)行的語句或選擇結構、循環(huán)結構。,注意
6、: 1. Else子句可以缺省 2. If必須與End If配對,比較行if語句: If Then Else ,比較引例,例3 求ax2+bx+c=0根,用Input函數(shù)輸入系數(shù),計算結果在文本框Text1中顯示。(lt3_3),b2-4ac=0,x=(-bsqr(b2-4ac)/2a,輸入a,b,c,開始,輸出x,結束,x=(-bsqr(-b2+4ac)i)/2a,Y,N,3. 多邊If語句(多分支結構) 格式1: If Then Else If Then Else 語句塊 n+1 End if End If,格式2: If Then ElseIf Then Else 語句塊 n+1 End
7、 If,注意: 不管有幾個分支,程序執(zhí)行了一個分支后,其余分支不再執(zhí)行。 ElseIf不能寫成Else If。 當多分支中有多個表達式同時滿足,則只執(zhí)行第一個與之匹配的語句塊。因此,要注意對多分支中表達式的書寫次序,防止某些值的過濾。 If與End If成對出現(xiàn),例3-4 編程,在窗體上輸出字符串“歡迎使用Visual Basic”。第一次單擊時以黑體顯示;第二次單擊時以楷體顯示;第三次單擊時以隸書顯示;第四次單擊時則清除窗體上的信息。 Dim nflag As Integer在通用段聲明變量 Dim smystring As String Private sub Form_Load() Nf
8、lag=1用變量nflag控制單擊次數(shù) smystring=“歡迎使用Visual Basic” form1.Fontsize=18 End Sub,開始,結束,Private Sub Form_Click() If nflag = 1 Then Form1.FontName = 黑體 Print smystring nflag = nflag + 1 Else If nflag = 2 Then Form1.FontName = 楷體_GB2312 Print smystring nflag = nflag + 1 Else If nflag = 3 Then Form1.FontName
9、= 隸書 Print smystring nflag = nflag + 1 Else Cls nflag = 1 End If End If End If End Sub,Private Sub Form_Click() If nflag = 1 Then Form1.FontName = 黑體 Print smystring : nflag = nflag + 1 ElseIf nflag = 2 Then Form1.FontName = 楷體_GB2312 Print smystring : nflag = nflag + 1 ElseIf nflag = 3 Then Form1.F
10、ontName = 隸書 Print smystring : nflag = nflag + 1 Else Cls : nflag = 1 End If End Sub,使用IF語句實現(xiàn)的程序段如下: If x=90 then Print 優(yōu)秀 ElseIf x=80 Then Print 良好 ElseIf x=70 Then Print 中等 ElseIf x=60 Then Print 及格 Else Print 不及格 End If,例5:輸入一學生成績,評定其等級。方法是:90100分為“優(yōu)秀”,8089分為“良好”,7079分為“中等”,6069分為“及格”,60分以為“不合格”,
11、若將上面問題的程序段寫作如下形式,則執(zhí)行結果會如何變化? If x=60 then Print “及格 ElseIf x=70 Then Print “中等 ElseIf x=80 Then Print “良好 ElseIf x=90 Then Print “優(yōu)秀 Else Print 不及格 End If,4. Select Case語句(情況語句) 形式: Select Case Case 語句塊1 Case 語句塊2 Case Else End Select,注意: 只能對一個變量進行多種情況的判斷; 中不能出現(xiàn)“變量或表達式”中出現(xiàn)的變量,例如:將例使用select case.語句來實
12、現(xiàn)的程序段如下: Select Case x Case 90 to 100 Print 優(yōu)秀 Case 80 to 89 Print 良好 Case 70 to 79 Print 中等 Case 60 to 69 Print 及格 Case Else Print 不及格 End Select,例3-6:輸入年、月,輸出該月天數(shù),N,d=31,Y,閏年,Y,d=28,N,輸入年y、月m,m=1,3,5,7 8,10,12,d=30,Y,m=4,6,9,11,m=2,d=29,Y,N,輸出天數(shù)d,先判斷是否閏年,以決定2月的天數(shù) (Y mod 4=0 and y mod 1000 or y mod
13、 400=0) Private Sub Form_Click() Dim y%, m%, d% y = InputBox(輸入年份): m = InputBox(輸入月份) Select Case m Case 1, 3, 5, 7 To 8, 10, 12 d = 31 Case 4, 6, 9, 11 d = 30 Case 2 If y Mod 4 = 0 And y Mod 100 0 _ Or y Mod 400 = 0 Then d = 29 Else d = 28 End If End Select Print y; “年”; m; “月有”; d; “天” End sub,程序
14、在編輯時,Visual Basic會自動顯示其中的編譯錯誤編譯錯誤一般為語法錯誤,應根據(jù)所學Visual Basic的規(guī)則予以糾正。 程序在運行時,會自動顯示一些“適時錯誤”,一般為邏輯錯誤,應仔細檢查程序設計的全過程,改正其中的錯誤。 對可預見的運行錯誤,可以用On Error GoTO語句捕獲,并將控制轉(zhuǎn)去執(zhí)行一段預先寫好的處理錯誤的語句。 格式:On Error GoTo L1 功能:在執(zhí)行該語句后,若發(fā)生運行錯誤,控制將轉(zhuǎn)去執(zhí)行標號為L1的語句。,例:在窗體中輸出x的倒數(shù),x的值通過文本框輸入。 Private Sub Command1_Click() On Error GoTo err011 Print 1 / Text1.Text Exit Sub err011: MsgBox “除數(shù)不能為0,請重新輸入 _ x”, vbCritical, “輸入錯誤 End Sub,例3-7 閱讀
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中職畜牧獸醫(yī)(畜牧獸醫(yī)技能考核)試題及答案
- 2025年高職會計檔案管理(檔案實務)試題及答案
- 2025年中職機械設計與制造(機械制圖基礎)試題及答案
- 2025年大學第四學年(臨床醫(yī)學)兒童康復評估試題及答案
- 2025年中職裝配化裝修技術(構件安裝基礎)試題及答案
- 2025年大學(自動化)檢測技術與儀表基礎綜合測試卷及評分標準
- 2025年中職工程造價(工程計價規(guī)范應用)試題及答案
- 2025年大學漢語言文學(文學理論研究)試題及答案
- 2025年高職林木種苗生產(chǎn)技術(林木種苗管理)試題及答案
- 2025年大學資源勘查工程技術(礦產(chǎn)勘查方法)試題及答案
- 寶馬購車合同
- 安措費清單完整版本
- 食品安全管理制度打印版
- 多聯(lián)機安裝施工方案
- 神經(jīng)內(nèi)科品管圈成果匯報-提高腦卒中偏癱患者早期自我肢體功能鍛煉規(guī)范執(zhí)行率
- 缺血性腦卒中靜脈溶栓護理
- 電子電路基礎-電子科技大學中國大學mooc課后章節(jié)答案期末考試題庫2023年
- 四年級科學上冊期末試卷及答案-蘇教版
- DB51T 2875-2022彩燈(自貢)工藝燈規(guī)范
- 小學數(shù)學人教版六年級上冊全冊電子教案
- 主要負責人重大危險源安全檢查表
評論
0/150
提交評論