當前位置:編程學習大全網 - 編程語言 - 算法與程序的區別與聯系

算法與程序的區別與聯系

算法和程序的區別是:

(1) 兩者定義不同。算法是對特定問題求解步驟的描述,它是有限序列指令。而程序是實現預期目的而進行操作的壹系列語句和指令。

說通俗壹些算法是解決壹個問題的思路,程序,是解決這些問題所具體好寫的代碼。算法沒有語言界限。他只是壹個思路。為實現相同的壹個算法,用不同語言編寫的程序會不壹樣。

(2)兩者的書寫規定不同。程序必須用規定的程序設計語言來寫,而算法很隨意。算法是壹系列解決問題的清晰指令,也就是說,能夠對壹定規範的輸入,在有限時間內獲得所要求的輸出。算法常常含有重復的步驟和壹些邏輯判斷。

簡單算法舉例 例:求 1*2*3*4*5?

步驟 1 :先求 1*2 ,得到結果 2 。

步驟 2 :將步驟 1 得到的乘積 2 再乘以 3 ,得到結果 6 。

步驟 3 :將步驟 2 得到的乘積 6 再乘以 4 ,得到結果 24 。

步驟 4 :將步驟 3 得到的乘積 24 再乘以 5 ,得到最後結果 120 。?

算法與程序的聯系 :

算法和程序都是指令的有限序列 ,但是程序是算法,而算法不壹定是 程序。程序 = 數據結構 + 算法。算法的主要目的在於為人們提供閱讀了解所執行的工作流程與步驟。數據結構與算法要通過程序的實現,才能由計算機系統來執行。可以這樣理解,數據結構和算法形成了可執行的程序。

程序

擴展資料:

(1)算法中的指令描述的是壹個計算,當其運行時能從壹個初始狀態和(可能為空的)初始輸入開始,經過壹系列有限而清晰定義的狀態,最終產生輸出並停止於壹個終態。壹個狀態到另壹個狀態的轉移不壹定是確定的。隨機化算法在內的壹些算法,包含了壹些隨機輸入。

形式化算法的概念部分源自嘗試解決希爾伯特提出的判定問題,並在其後嘗試定義有效計算性或者有效方法中成形。這些嘗試包括庫爾特·哥德爾、Jacques Herbrand和斯蒂芬·科爾·克萊尼分別於1930年、1934年和1935年提出的遞歸函數,阿隆佐·邱奇於1936年提出的λ演算,

1936年Emil Leon Post的Formulation 1和艾倫·圖靈1937年提出的圖靈機。即使在當前,依然常有直覺想法難以定義為形式化算法的情況。

(2)計算機程序是壹組計算機能識別和執行的指令,運行於電子計算機上,滿足人們某種需求的信息化工具。

它以某些程序設計語言編寫,運行於某種目標結構體系上。打個比方,程序就如同以英語(程序設計語言)寫作的文章,要讓壹個懂得英語的人(編譯器)同時也會閱讀這篇文章的人(結構體系)來閱讀、理解、標記這篇文章。

壹般的,以英語文本為基礎的計算機程序要經過編譯、鏈接而成為人難以解讀,但可輕易被計算機所解讀的數字格式,然後放入運行。

參考資料:

百度百科-算法

百度百科-程序

  • 上一篇:飛度不改,不如推下海?這10款車,玩改裝的人都愛!
  • 下一篇:微軟dna編程
  • copyright 2024編程學習大全網