1. 程式人生 > >“自頂向下, 逐步求精”的程序設計方法。

“自頂向下, 逐步求精”的程序設計方法。

align 問題 重點 http .net 分解 法國 所在 定量

http://blog.csdn.net/rns521/article/details/6973395/

  • 結構化程序設計、面向對象程序設計、計算機輔助設計。

    結構化程序設計支持“自頂向下, 逐步求精”的程序設計方法。
  • “自頂向下”
    是將復雜、大的問題劃分為小問題,找出問題的關鍵、重點所在,然後用精確的思維定性、定量地去描述問題。

  • “逐步求精”
    是將現實世界的問題經抽象轉化為邏輯空間或求解空間的問題。復雜問題經抽象化處理變為相對比較簡單的問題。經若幹步抽象(精化)處理,最後到求解域中只是比較簡單的編程問題。

例2-1 驗證“哥德巴赫猜想”

哥德巴赫猜想是數論中的一個著名難題, 是由法國數學愛好者克裏斯蒂安·哥德巴赫於1742年在給著名數學家歐拉的一封信中提出的。

“哥德巴赫猜想”可以表述為:任何一個大於等於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)。

經過四步分解精化,將“驗證哥德巴赫猜想”這個命題已經分解為計算機可以求解的數學模型了。

模塊化數學模型;化繁為簡;

“自頂向下, 逐步求精”的程序設計方法。