- Python程序設(shè)計(jì):從基礎(chǔ)到應(yīng)用
- 袁紅娟主編
- 730字
- 2023-11-07 16:11:00
1.3.2 程序編寫的步驟
一般來說,程序設(shè)計(jì)的完整步驟如下。
(1)分析問題
認(rèn)真分析任務(wù),研究給定的條件,分析最后要達(dá)成的目標(biāo),找出解決問題的規(guī)律,選擇解題的方法,完成實(shí)際問題。
(2)確定問題
算法為解決實(shí)際問題而設(shè)計(jì)。因此,在設(shè)計(jì)算法之前,應(yīng)當(dāng)搞清楚實(shí)際問題的輸入、處理和輸出是什么,尤其是處理過程,即問題的計(jì)算特性,如圖1-2所示。

圖1-2 問題的計(jì)算特性
(3)設(shè)計(jì)算法
根據(jù)分析結(jié)果設(shè)計(jì)算法,列出基本的實(shí)現(xiàn)步驟。對(duì)于一個(gè)問題的算法不止一種。如果有需要,還要考慮有沒有更簡(jiǎn)單快捷的算法,以節(jié)約時(shí)間,最大化機(jī)器性能。
(4)編寫程序
如果設(shè)計(jì)出了算法,并且對(duì)將要使用的程序語(yǔ)言十分了解,編寫程序就不是什么難事。但是,對(duì)于不同的語(yǔ)言,由于支持的邏輯結(jié)構(gòu)、功能不同,可能需要改變算法的細(xì)節(jié)內(nèi)容。
(5)調(diào)試測(cè)試
這一步主要是檢查程序運(yùn)行的效果,如果有問題需要修改,可再檢查。程序需要很好地檢查輸入的數(shù)據(jù),數(shù)據(jù)類型錯(cuò)誤、數(shù)字的大小錯(cuò)誤等都會(huì)帶來嚴(yán)重的后果。
(6)升級(jí)維護(hù)
若要使程序長(zhǎng)期正確運(yùn)行,適應(yīng)需求的微小變化,需要對(duì)程序進(jìn)行維護(hù)。這實(shí)際上是一個(gè)修改程序錯(cuò)誤(bug)或功能的過程,簡(jiǎn)單說就是“寫程序→調(diào)試”的循環(huán)。
【例1-2】階乘n!的計(jì)算。
【問題分析】
問題:輸入正整數(shù)n,計(jì)算并輸出n!的值。
輸入:正整數(shù)n。
處理:計(jì)算n!=1×2×3×…×n,重復(fù)累乘,實(shí)現(xiàn)循環(huán)。
輸出:n!。
【算法設(shè)計(jì)】
設(shè)計(jì)出解題方法和步驟,本例分別用自然語(yǔ)言和流程圖描述算法。
1)自然語(yǔ)言描述算法。
①輸入n值。
②設(shè)置變量s=1,存放乘積值。
③用i遍歷1~n的數(shù)值,若遍歷結(jié)束轉(zhuǎn)步驟⑥。
④s=s×i。
⑤重復(fù)步驟③④。
⑥輸出s。
2)流程圖描述算法,如圖1-3所示。

圖1-3 計(jì)算n!流程圖
【程序代碼】
用Python語(yǔ)言編寫以下代碼并運(yùn)行,分析運(yùn)行結(jié)果。


【運(yùn)行結(jié)果】

- 社會(huì)工作者《社會(huì)工作綜合能力(中級(jí))》(2010年修訂版)筆記和考研真題詳解
- 2020年土地登記代理人《土地登記相關(guān)法律》輔導(dǎo)教材
- 張成福《公共管理學(xué)》(修訂版)筆記和課后習(xí)題(含考研真題)詳解
- 河北大學(xué)外國(guó)語(yǔ)學(xué)院617俄語(yǔ)語(yǔ)言技能綜合歷年考研真題及詳解
- 2020年大學(xué)日語(yǔ)六級(jí)題庫(kù)(歷年真題+章節(jié)題庫(kù)+模擬試題)
- 針織學(xué)(第2版)
- 周忠海《國(guó)際法》(第2版)筆記和課后習(xí)題詳解
- 四川外國(guó)語(yǔ)大學(xué)242俄語(yǔ)歷年考研真題及詳解
- 線路金具
- 范里安《微觀經(jīng)濟(jì)學(xué):現(xiàn)代觀點(diǎn)》(第9版)筆記和課后習(xí)題詳解
- 中國(guó)地質(zhì)大學(xué)(武漢)外國(guó)語(yǔ)學(xué)院242俄語(yǔ)(二外)歷年考研真題及詳解
- 2020年甘肅公務(wù)員錄用考試專項(xiàng)教材:判斷推理【考點(diǎn)精講+典型題(含歷年真題)詳解】
- 高國(guó)燊《自動(dòng)控制原理》(第4版)配套題庫(kù)【名校考研真題+章節(jié)題庫(kù)+模擬試題】
- 2020年天津市選聘大學(xué)生村官考試《綜合知識(shí)》題庫(kù)【真題精選+章節(jié)題庫(kù)+模擬試題】
- 國(guó)際企業(yè)管理