VB模塊化程序設計導學 東風高中劉麗梅_第1頁
VB模塊化程序設計導學 東風高中劉麗梅_第2頁
VB模塊化程序設計導學 東風高中劉麗梅_第3頁
VB模塊化程序設計導學 東風高中劉麗梅_第4頁
VB模塊化程序設計導學 東風高中劉麗梅_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、VB模塊化程序設計導學 東風高中劉麗梅【教學目標】理解模塊化程序設計的基本思想;學會函數(shù)與過程調(diào)用方法;初步掌握模塊化程序設計思想,嘗試化整為零、自頂向下、逐步求精的過程設計方法?!窘虒W重點】 學會函數(shù)與過程調(diào)用方法;理解結(jié)構(gòu)化程序設計思想?!倦y 點】 模塊化程序設計,自定義函數(shù)的定義和調(diào)用。一、 情景任務1、調(diào)研“軟件危機”和“GOTO有害”論。2、人類火星探測:1963年美國火星探測器“水手3號”偏離軌道失敗的原因?1962 前蘇聯(lián)“火星1號”探測器飛越火星嘗試失敗。 1965 美國“水手4號”行星際探測器飛越火星,拍攝了21張照片。3、Hanoi漢諾塔廣東P134教科P704、哥德巴赫猜

2、想教科P83 廣東P61每個大于等于6的偶數(shù),都可表示為兩個奇素數(shù)之和;每個大于等于9的奇數(shù),都可表示為三個奇素數(shù)之和。(后一個命題是前一個命題的推論)。 陳景潤和他的1+2.二、 知識關(guān)聯(lián)1、素數(shù)判斷廣東P63教科P40FalseSFI+1IR=0 X mod I R輸入一個數(shù)X2 I : SF=True Y N I>=X-1 N Y SF Y輸出X, ”prime” 判斷素數(shù)N-S流程圖輸入XSF=TrueFor I=2 to X-1X mod I =0 Yes NoSF= TrueSF=False SF T F輸出 X,“Prime” 顯示“非素數(shù)”2、質(zhì)數(shù)判斷VB程序 廣東P63

3、教科P40 Private Sub command1_click( ) Dim I as integer, Sf AS Boolean X=Inputbox(“”) Sf=true For I=2 to X-1 If X mod I =0 then Sf=false End if NextIf Sf Then Print x, "prime" Else print x, “No” End Sub3、將Check( )定義為判定素數(shù)的函數(shù),并調(diào)用。Private Sub command1_click( )Dim N AS Integer N = InputBox("

4、 ") If Check(N) Then Print N, "prime" Else print N, “No”End SubPublic Function Check(X As Integer) As Boolean Dim I As Integer, Sf As Boolean Sf = True For I = 2 To X - 1 If X Mod I = 0 Then Sf = False End If Next Check = SfEnd Function4、最初N個金盤(N<=4),三根寶石柱分別命名A,B,C.要求把A柱的金盤全部移到B。當,

5、直接從移到;當>=2,需要利用過渡。 演示: N=2時,AàC ,AàB, CàB N=3時, hanoi (n-1, A, C, B ) AàB hanoi (n-1, C, B,A )算法:假設已經(jīng)找到把N-1個金盤,從一根柱搬到另一根柱的方法,那么,(N-1個金盤)從AàC,最大的金盤AàB, (N-1個金盤)從CàB.三、實踐上機3-1驗證哥德巴赫猜想教科P83 廣東P61 Private Sub command1_click( )DIM N AS Integer, P AS integer, Q AS int

6、egerN=InputBox(“N=”)P=3Do If Check(P) then Q=N-P If Check(Q) then Print “N=”; P ; ”+”; Q End if P=P+1 Loop until (P=N-2) End sub3-2自定義過程TS,求多邊形面積。教科P83 廣東P65海龍公式求三角形面積S=SQR(P*(P-a)*(P-b)*(P-c))12/13/5Public Function Area(A AS integer, B AS integer, C AS integer) AS single Dim p as singleP=(A+B+C)/2A

7、rea= SQR(abs(P*(P-a)*(P-b)*(P-c)))End subPrivate Sub command1_click( ) Dim a1 As Single, a2 As Single, a3 As SingleDim a4 As Single, a5 As Single, S As Single a1 = InputBox("a1=12") a2 = InputBox("a2=13") a3 = InputBox("a3=12") a4 = InputBox("a4=13") a5 = Inpu

8、tBox("對角線a5=5") S = Area(a1, a2, a5) + Area(a3, a4, a5) Print “S=”; SEnd Sub3-3Hanoi漢諾塔參考程序Private Sub Command1_Click()Dim T As Long, N As IntegerClsT = 0N = InputBox(" N= ? ")A = "A"B = "B"C = "C"Call Hanoi(N, A, B, C, T)Print Tab(10); "Change

9、Times=" TEnd SubPrivate Sub Hanoi(N As Integer, ByVal A As String, _ByVal B As String, ByVal C As String, T As Long) 注:空格加下劃線,為續(xù)行符If N = 1 Then Print Tab(10); A; " ->" B T = T + 1ElseCall Hanoi(N - 1, A, C, B, T)Print Tab(10); A; "->" B; " "Call Hanoi(N - 1,

10、C, B, A, T)End IfEnd Sub四、拓展提高4-1、過程調(diào)用教科P83畫方 廣東P64 平均數(shù)Sub panda(X As Single, y As Single, R As Single) Circle (x, y), R Circle (5 * x, y), R Circle (3 * x, 2 * y), REnd Sub Private Sub Form_click() Dim N As Single N = InputBox("Radum ") CLS Call panda(N, N, N) panda 800, 600, N End Sub注:可

11、以使用 CALL語句調(diào)用子過程, 如 CALL PANDA(300,300,200) 也可以省略CALL關(guān)鍵字更簡單省事些,但需同時省略括號。4-2、簡析下圖出錯的原因。4-3、給出的程序流程圖代表一個非結(jié)構(gòu)化的程序,請問:(1) 為什么說它是非結(jié)構(gòu)化的?(2) 設計一個等價的結(jié)構(gòu)化程序。圖6 一個非結(jié)構(gòu)化程序4-4、軟件危機(Software Crisis) 軟件危機是計算機軟件在它的開發(fā)和維護過程中所遇到的一系列嚴重問題。概括地說,主要包含兩方面的問題:如何開發(fā)軟件,怎樣維護軟件。 “軟件危機”使得人們開始對軟件及其特性進行更深一步的研究,人們改變了早期對軟件的不正確看法。早期那些被認為是

12、優(yōu)秀的程序常常很難被別人看懂,通篇充滿了程序技巧?,F(xiàn)在人們普遍認為優(yōu)秀的程序除了功能正確,性能優(yōu)良之外,還應該容易看懂、容易使用、容易修改和擴充。如果所開發(fā)的軟件其可靠性得不到保障,在運行中將會產(chǎn)生不堪設想的嚴重后果。如,銀行的存款可能被化為烏有,甚至弄成赤字;工廠的產(chǎn)品全部報廢,導致工廠破產(chǎn)。 最為突出的例子是美國IBM公司于1963年1966年開發(fā)的IBM360系列機的操作系統(tǒng)。該軟件系統(tǒng)花了大約5 000人一年的工作量,最多時,有 1000人投入開發(fā)工作,寫出近100萬行的源程序。盡管投入了這么多的人力和物力,得到的結(jié)果卻極其糟糕。據(jù)統(tǒng)計,這個操作系統(tǒng)每次發(fā)行的新版本都是從前一版本中找出

13、1000個程序錯誤而修正的結(jié)果??上攵?,這樣的軟件質(zhì)量糟到了什么地步。 1963年,美國用于控制火星探測器的計算機軟件中的一個“,”號被誤寫為“·”,而致使飛往火星的探測器發(fā)生爆炸,造成高達數(shù)億美元的損失。 在60年代末和70年代初,關(guān)于GOTO語句的用法的爭論比較激烈。主張從高級程序語言中去掉GOTO語句的人認為,GOTO語句是對程序結(jié)構(gòu)影響最大的一種有害的語句,持反對意見的人認為,GOTO語句使用起來比較靈活。任何程序都可以用順序、分支和重復結(jié)構(gòu)表示出來。從高級程序語言中去掉GOTO語句并不影響高級程序語言的編程能力,而且編寫的程序的結(jié)構(gòu)更加清晰。結(jié)構(gòu)程序設計的思想體現(xiàn)在采用了一些比較行之有效的方法,有代表性的是“逐步求精”方法。所謂“逐步求精”,就是在編制一個程序時,首先考慮程序的整體結(jié)構(gòu)而暫時忽略一些細節(jié)問題,然后逐步地一層一層地細化直至用所選用的語言完全描述每一個細節(jié),即得到所期望的程序為止。換言之,它是按照先全局后局部、先整體后細節(jié)、先抽象后具體的過程組織人們的思維活動,使得編寫出的程序結(jié)構(gòu)清晰、容易理解、容易驗證、容易修改。時下,國內(nèi)外軟件公司多如牛毛,軟件危機過去了么?五、歸納總結(jié)函數(shù)與過程的異同點比較表函數(shù)過程定

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。