




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第四章程序設計思想和方法
4.1結(jié)構(gòu)化程序設計第四章程序設計思想和方法4.1結(jié)構(gòu)化程序設計1結(jié)構(gòu)化程序設計的由來在Basic,Pascal或C語言中,都有goto語句,雖然它們的用法格式不同,但它們的作用都是從一個語句跳轉(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)化設計常用方法:自頂向下逐步求精“自頂向下”是將復雜、大的問題劃分為小問題,找出問題的關鍵、重點所在,然后用精確的思維定性、定量地去描述問題?!爸鸩角缶笔菍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)系上傳者。文件的所有權益歸上傳用戶所有。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 加強業(yè)務流程自動化的推進計劃
- 培養(yǎng)綜合能力的小語種證書考試方法及試題及答案
- 國際金融理財師的實務操作試題及答案
- 小語種考試案例分享試題及答案
- 培養(yǎng)全局視角特許金融分析師試題及答案
- 2025年特許金融分析師備考經(jīng)驗分享試題及答案
- 2024年畜牧師職稱考試討論試題及答案
- 國際金融理財師考試全面分析試題及答案
- 高一英語參考答案20250308
- 2025年特許金融分析師有效學習路線試題及答案
- 2025年上海市虹口區(qū)高三語文二模作文題目解析及5篇范文:機器成為思想的引擎必將給蘆葦帶來深刻的變化
- 2025年甘肅西北永新集團招聘11人筆試參考題庫附帶答案詳解
- 檢測站登錄員試題及答案
- 自然辯證法論述題146題帶答案(可打印版)
- 十八項醫(yī)療核心制度培訓新版-課件
- 初中綜合實踐課程標準
- 首件檢驗記錄表(標準樣版)
- 中建六局建設發(fā)展公司責任目標管理考核辦法
- 太陽能光伏發(fā)電系統(tǒng)PVsyst運用
- 博碩BSL2236OAC全自動說明書(觸摸屏)
- 施工日志填寫范本
評論
0/150
提交評論