VB模塊化程序設(shè)計(jì)導(dǎo)學(xué) 東風(fēng)高中劉麗梅_第1頁
VB模塊化程序設(shè)計(jì)導(dǎo)學(xué) 東風(fēng)高中劉麗梅_第2頁
VB模塊化程序設(shè)計(jì)導(dǎo)學(xué) 東風(fēng)高中劉麗梅_第3頁
VB模塊化程序設(shè)計(jì)導(dǎo)學(xué) 東風(fēng)高中劉麗梅_第4頁
VB模塊化程序設(shè)計(jì)導(dǎo)學(xué) 東風(fēng)高中劉麗梅_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

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

2、想教科P83 廣東P61每個(gè)大于等于6的偶數(shù),都可表示為兩個(gè)奇素?cái)?shù)之和;每個(gè)大于等于9的奇數(shù),都可表示為三個(gè)奇素?cái)?shù)之和。(后一個(gè)命題是前一個(gè)命題的推論)。 陳景潤(rùn)和他的1+2.二、 知識(shí)關(guān)聯(lián)1、素?cái)?shù)判斷廣東P63教科P40FalseSFI+1IR=0 X mod I R輸入一個(gè)數(shù)X2 I : SF=True Y N I>=X-1 N Y SF Y輸出X, ”prime” 判斷素?cái)?shù)N-S流程圖輸入XSF=TrueFor I=2 to X-1X mod I =0 Yes NoSF= TrueSF=False SF T F輸出 X,“Prime” 顯示“非素?cái)?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( )定義為判定素?cái)?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個(gè)金盤(N<=4),三根寶石柱分別命名A,B,C.要求把A柱的金盤全部移到B。當(dāng),

5、直接從移到;當(dāng)>=2,需要利用過渡。 演示: N=2時(shí),AàC ,AàB, CàB N=3時(shí), hanoi (n-1, A, C, B ) AàB hanoi (n-1, C, B,A )算法:假設(shè)已經(jīng)找到把N-1個(gè)金盤,從一根柱搬到另一根柱的方法,那么,(N-1個(gè)金盤)從AàC,最大的金盤AàB, (N-1個(gè)金盤)從CàB.三、實(shí)踐上機(jī)3-1驗(yàn)證哥德巴赫猜想教科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("對(duì)角線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)鍵字更簡(jiǎn)單省事些,但需同時(shí)省略括號(hào)。4-2、簡(jiǎn)析下圖出錯(cuò)的原因。4-3、給出的程序流程圖代表一個(gè)非結(jié)構(gòu)化的程序,請(qǐng)問:(1) 為什么說它是非結(jié)構(gòu)化的?(2) 設(shè)計(jì)一個(gè)等價(jià)的結(jié)構(gòu)化程序。圖6 一個(gè)非結(jié)構(gòu)化程序4-4、軟件危機(jī)(Software Crisis) 軟件危機(jī)是計(jì)算機(jī)軟件在它的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。概括地說,主要包含兩方面的問題:如何開發(fā)軟件,怎樣維護(hù)軟件。 “軟件危機(jī)”使得人們開始對(duì)軟件及其特性進(jìn)行更深一步的研究,人們改變了早期對(duì)軟件的不正確看法。早期那些被認(rèn)為是

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

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

溫馨提示

  • 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論