「自頂向下,逐步求精」的方法

2021-08-11 08:27:41 字數 1450 閱讀 8827

1.什麼叫做「自頂向下,逐步求精」?

目前軟體開發方法使用最廣泛的,當屬結構化的方法和物件導向的方法。而其中,結構化程式設計支援「自頂向下, 逐步求精」的程式設計方法。

「自頂向下」的具體內涵是將複雜、大的問題劃分為小問題,找出問題的關鍵、重點所在,然後用精確的思維定性、定量地去描述問題。而「逐步求精」的具體內涵是是將現實世界的問題經抽象轉化為邏輯空間或求解空間的問題。複雜問題經抽象化處理變為相對比較簡單的問題。經若干步抽象(精化)處理,最後到求解域中只是比較簡單的程式設計問題。

2.誰是沃斯?

有興趣的可以了解一下這個方法的由來:

大概是這樣的,2023年,著名的瑞士計算機科學家尼古拉斯·沃斯,基於其開發程式語言和程式設計的實踐經驗,在4月份的 communications of acm上發表了**「通過逐步求精方式開發程式』(program development by stepwise refinement),首次提出了「結構化程式設計」(structure programming)的概念。這個概念的要點是:不要求一步就編製成可執行的程式,而是分若干步進行,逐步求精。第一步編出的程式抽象度最高,第二步編出的程式抽象度有所降低……最後一步編出的程式即為可執行的程式。用這種方法程式設計,似乎複雜,實際上優點很多,可使程式易讀、易寫、易除錯、易維護、易保證其正確性及驗證其正確性。

3.洗衣機案例

首先確定好洗衣程式的大步驟:

1)輸入洗衣引數(洗衣模式):水位要求與洗衣時間

2)開啟上水開關,返回水的高度,當 當前水位=水位要求,關閉開關

3)浸泡

4)電機轉動,左右各三圈,返回時間計數,當時間計數=洗衣時間,停止轉動

5)開啟排水開關,返回水的高度,當 當前水位為零,關閉開關

6)停機

再根據這個來書寫偽**,首先程式的功能:

scanf水位要求、洗衣時間;

while當前水位 < 水位要求:注水;return 當前水位;

浸泡;

while當前水位 > 0:排水;return當前水位;

4. 「自頂向下,逐步求精」的方法有什麼用處?

個人認為學習並使用「自頂向下,逐步求精」的方法,也就是採用模組分解與功能抽象和分而治之的方法,可以更有效地將乙個較複雜的程式系統設計任務分解成許多易於控制和處理的子程式,便於開發和維護。它的重點在於把功能進行分解,也就是說,它是面向過程的。

自頂向下,逐步求精

簡單來說,自頂而下,逐步求精 這是一種分解複雜任務的方法。學會分解任務,超級大分為大的 中的 小的 超小的,直到能用很直接的方法解決。是程式設計裡面很經典的方法。驗證哥德 猜想 任何乙個大於等於4的偶數均可以表示為兩個素數之和 第一步 設一上限數m,驗證從4到m的所有偶數是否能被 分解為兩個素數之和...

自頂向下,逐步求精

由於軟體導論課程的安排,我們已經學到了演算法結構的問題,所以今天我給大家介紹一下top down design。高亮宗旨!重點敲黑板 畢業聚餐點菜 很明顯 點菜就是你的big project,我們要將其分解成各個小任務從而求得實現。1.了解班級人數 2.了解少數名族同學的口味禁忌 3.了解各位同學的...

自頂向下,逐步求精

自頂向下,逐步求精是結構化程式設計常用的方法。其中 自頂向下是將複雜 大的問題劃分為小問題,找出問題的關鍵 重點所在,然後用精確的思維定性 定量地去描述問題。逐步求精是將現實世界的問題經抽象轉化為邏輯空間或求解空間的問題。複雜問題經抽象化處理變為相對比較簡單的問題。經若干步抽象 精化 處理,最後到求...