結(jié)構(gòu)化程序設計課件_第1頁
結(jié)構(gòu)化程序設計課件_第2頁
結(jié)構(gòu)化程序設計課件_第3頁
結(jié)構(gòu)化程序設計課件_第4頁
結(jié)構(gòu)化程序設計課件_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第四章程序設計思想和方法

4.1結(jié)構(gòu)化程序設計第四章程序設計思想和方法4.1結(jié)構(gòu)化程序設計1結(jié)構(gòu)化程序設計的由來在Basic,Pascal或C語言中,都有g(shù)oto語句,雖然它們的用法格式不同,但它們的作用都是從一個語句跳轉(zhuǎn)到另一語句。在初學者看來,它確實是一個實現(xiàn)跳躍、反復、多條件分支的有用語句,這對于小的程序段來說,是可取的,但經(jīng)驗豐富的程序員們都會對goto語句退避三舍。因為在大的程序段里,goto語句打亂了程序結(jié)構(gòu)化的整體,不利于程序員讀懂理解程序,常常使程序員自己都搞不懂自己編的到底是什么。結(jié)構(gòu)化程序設計的由來在Basic,Pascal或C語言中,都2結(jié)構(gòu)化程序設計思想所謂結(jié)構(gòu)化程序設計思想,就是要使所設計的程序給人一種一目了然的感覺。條理清晰,模塊化,自粗到精,逐步細化。在行文上有縮進書寫方式,層次分明。結(jié)構(gòu)化程序設計,要求程序只能用三種基本結(jié)構(gòu)來描述,也可以用這三種基本結(jié)構(gòu)組成一個復雜程序。這三種結(jié)構(gòu)就是:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。結(jié)構(gòu)化程序設計思想所謂結(jié)構(gòu)化程序設計思想,就是要使所設計的程3結(jié)構(gòu)化程序設計思想順序結(jié)構(gòu)就是一組一條接一條地執(zhí)行計算機命令。是典型的自上而下結(jié)構(gòu)

選擇結(jié)構(gòu)是一種先對給定條件進行判斷,再按判斷后的不同情況做不同處理的結(jié)構(gòu)

1、順序結(jié)構(gòu)2、選擇(分支)結(jié)構(gòu)結(jié)構(gòu)化程序設計思想順序結(jié)構(gòu)就是一組一條接一條地執(zhí)行計算機命令4結(jié)構(gòu)化程序設計思想3、循環(huán)結(jié)構(gòu)是指多次重復執(zhí)行同一系列命令的結(jié)構(gòu)。

具有循環(huán)結(jié)構(gòu)的程序必須指定循環(huán)的停止條件,以便對程序的循環(huán)進行有效的控制,以免進入死循環(huán)狀態(tài)。根據(jù)循環(huán)的執(zhí)行過程及循環(huán)結(jié)束方式的不同,循環(huán)結(jié)構(gòu)又可分為計數(shù)循環(huán)結(jié)構(gòu)、當型循環(huán)結(jié)構(gòu)和直到型循環(huán)結(jié)構(gòu)。結(jié)構(gòu)化程序設計思想3、循環(huán)結(jié)構(gòu)5結(jié)構(gòu)化設計常用方法:模塊化

(1)把一個較大的程序劃分為若干子程序,每一個子程序總是獨立成為一個模塊;(2)每一個模塊又可繼續(xù)劃分為更小的子模塊;(3)程序具有一種層次結(jié)構(gòu)。運用這種編程方法,考慮問題必須先進行整體分析,避免邊寫邊想。結(jié)構(gòu)化設計常用方法:模塊化(1)把一個較大的程序劃分為若干6結(jié)構(gòu)化設計常用方法:自頂向下逐步求精“自頂向下”是將復雜、大的問題劃分為小問題,找出問題的關(guān)鍵、重點所在,然后用精確的思維定性、定量地去描述問題?!爸鸩角缶笔菍F(xiàn)實世界的問題經(jīng)抽象轉(zhuǎn)化為邏輯空間或求解空間的問題。復雜問題經(jīng)抽象化處理變?yōu)橄鄬Ρ容^簡單的問題。經(jīng)若干步抽象(精化)處理,最后到求解域中只是比較簡單的編程問題。結(jié)構(gòu)化設計常用方法:自頂向下逐步求精“自頂向下”是將復雜、7結(jié)構(gòu)化設計常用方法:自底向上

(1)即先設計底層,最后設計頂層;

(2)優(yōu)點:由表及里、由淺入深地解決問題;

(3)不足:在逐步細化的過程中可能發(fā)現(xiàn)原來的分解細化不夠完善;

該方法主要用于修改、優(yōu)化或擴充一個程序。

結(jié)構(gòu)化設計常用方法:自底向上(1)即先設計底層,最后設計8結(jié)構(gòu)化程序設計的步驟1.分析問題對要解決的問題,首先必須分析清楚,明確題目的要求,列出所有已知量,找出題目的求解范圍、解的精度等。例如“兔子的繁殖問題”,必須找出其繁殖規(guī)律。2.建立數(shù)學模型對實際問題進行分析之后,找出它的內(nèi)在規(guī)律,就可以建立數(shù)學模型。只有建立了模型的問題,才可能利用計算機來解決。如菲波那契數(shù)列,可推出遞推公式u[n]=u[n-1]+u[n-2]結(jié)構(gòu)化程序設計的步驟1.分析問題2.建立數(shù)學模型9結(jié)構(gòu)化程序設計的步驟3.選擇算法建立數(shù)學模型后,還不能著手編程序,必須根據(jù)數(shù)據(jù)結(jié)構(gòu),解決問題的算法。一般選擇算法要注意:

(1)算法的邏輯結(jié)構(gòu)盡可能簡單;

(2)算法所要求的存貯量應盡可能少;

(3)避免不必要的循環(huán),減少算法的執(zhí)行時間;

(4)在滿足題目條件要求下,使所需的計算量最小。4.編寫程序把整個程序看作一個整體,先全局后局部,自頂向下,一層一層分解處理,如果某些子問題的算法相同而僅參數(shù)不同,可以用子程序來表示。結(jié)構(gòu)化程序設計的步驟3.選擇算法10結(jié)構(gòu)化程序設計的步驟5.調(diào)試運行6.分析結(jié)果7.寫出程序的文檔主要是對程序中的變量、函數(shù)或過程作必要的說明,解釋編程思路,畫出框圖,討論運行結(jié)果等。結(jié)構(gòu)化程序設計的步驟5.調(diào)試運行11綜合練習一參考“綜合練習樣例.EXE”和“綜合練習要求.TXT”要求:作業(yè)文件夾名為“學號姓名綜合練習1”文件夾內(nèi)保存好保留窗體文件和工程文件提交到“綜合練習一”文件夾中第一節(jié)

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論