●自頂向下
是將複雜、大的問題劃分爲小問題,找出問題的關鍵、重點所在,然後用精確的思維定性、定量地去描述問題。
●逐步求精
是將現實世界的問題經抽象轉化爲邏輯空間或求解空間的問題。複雜問題經抽象化處理變爲相對比較簡單的問題。經若干步抽象(精化)處理,最後到求解域中只是比較簡單的編程問題。
簡單來說,“自頂而下,逐步求精”這是一種分解複雜任務的方法。學會分解任務,超級大分爲大的、中的、小的、超小的,直到能用很直接的方法解決。是程序設計裏面很經典的方法。**
●經典例子
驗證哥德巴赫猜想
(任何一個大於等於4的偶數均可以表示爲兩個素數之和)
第一步 設一上限數M,驗證從4到M的所有偶數是否能被 分解爲兩個素數之和。
1. 定義一個變量X,初值爲4。
2. 每次令其加2,並驗證X能否 被分解爲兩個素數之和,直到 X不小於M爲止。
第二步 如何驗證X是否能被分解爲兩個素數之和。
1. 從P=2開始;
2. 判別X—P是否仍爲素數:
3. 若是,打印該偶數的分解式。
4. 否則,換更大的素數,再繼續執行2.。如此循環,直到用於檢測的素數大X/2且X 與其之差仍不是素數,則打印“哥德巴赫猜想”不成立。
第三步 查找下一個素數。
1.當前素數P加1
2.判別P是否是素數;
3.若是素數,返回P;
4.否則,P加1,繼續執行( 2)。
經過三步分解精化,將“驗證哥德巴赫猜想”這個命題已經分解爲計算機可以求解的數學模型了。