大話計算機1:什麼是程序?

在我們的生活中,我們每天都會接觸各種各樣的程序,無論是你能感覺到的程序,還是感覺不到的程序。你能感覺到的程序,就像你現在看這篇文章所用的手機或者電腦上運行的各種軟件、APP,你感覺不到的程序,存在於你的電視機、洗衣機、你的空調,甚至你家裡的電錶水錶裡。

大話計算機1:什麼是程序?

各種各樣的程序

自從1947年,世界上第一臺電子計算機問世以來,程序就一直在改變著這個世界。但是程序究竟是什麼?為什麼程序稱之為程序,下面我們就來回答這個問題。

程序如果從字面來理解,他就是做某些事情的一個步驟。一個很古老的遊戲,可能會有助於我們理解程序這個概念。這個遊戲就是漢諾塔,我們先從一個三階的漢諾塔說起。

大話計算機1:什麼是程序?

三階漢諾塔

漢諾塔是一種遊戲,這種遊戲,制定了一個簡單的規則,就是一次只能移動一塊木板,而小的木板必須放在大的木板上面。現在我們有一個特定的任務,就是把從小到大排列的這樣的三塊木板,從第一個柱子移動到第二個柱子上。而這個任務我們至少需要六個步驟。如果不執行著特定的六個,我們就沒有辦法在不違反規則的情況下,完成這個任務。移動漢諾塔的這個過程,其實就是一個簡單的程序。

大話計算機1:什麼是程序?

漢諾塔移動過程

而現在的程序,我們一般認為它是計算機程序,所以說,為了理解程序,我們首先要知道計算機到底是什麼?

計算機,顧名思義,就是一種能夠執行計算功能的機器。早期的計算機對設計出來就是為了用於科學研究中的數學計算,因為計算機採用電信號進行運算,所以所以從它誕生之初,它的計算速度就比人類快成千上萬倍。

大話計算機1:什麼是程序?

世界上第一臺電子計算機

計算機唯一能夠執行的功能就是計算,而大規模的計算,一般都是科學家的工作。如何讓計算機做更多的工作呢?於是我們偉大的先驅者們,發明了一種讓計算機去完成其他工作的方法。就是通過某種方式,將我們的真實世界的一些信息,變成一系列的數字送入計算機計算,而將計算機計算出來的數值結果,轉變為真實世界的某些物理量。因此計算機就可以執行很多實際的工作,而不僅限於科學計算。將我們真實世界中的物理量轉換為數值的設備叫傳感器,而將計算機的計算出來的數值結果,轉變成真實世界的物理量的東西,我們叫它執行器。

大話計算機1:什麼是程序?

計算機控制

就像我們人類進行數學計算一樣,計算機接受一個問題,我們叫他輸入。而計算機,計算出的結果,告通過某種方式告訴我們,我們叫它輸出。比如說下面這個算式,1+1等於2,這個1+1就是我們,計算的輸入,而等於2,就是我們計算的輸出,而計算機也是一樣,我們對它輸入1+1,它就會輸出一個2。從外部看,計算機與我們進行交互的,只有兩個部分,輸入和輸出,其他部位是隱藏在黑盒子內部的,我們並不知道它們是如何工作的。

大話計算機1:什麼是程序?

在後續的文章裡,我們會一步一步的告訴你,計算機是怎麼一步一步發展來的?它的內部是如何運行的?雖然程序運行於計算機內部,但在講述計算機內部結構之前,我們仍然可以向你解釋什麼是程序?

下面給出1元2次方程的求根公式,

大話計算機1:什麼是程序?

這個公式我們在初中的數學課上都學過。如果我們想讓計算機去求解這個方程,計算機該如何去做呢?一個直觀的想法就是,我們提供一個求根公式給計算機,計算機能夠執行加減乘除開方這樣的運算,那我們讓計算機按求根公式的順序去執行這些計算,那麼我們自然就能求出任何方程的根。那麼恭喜你,你寫出了一個程序,這個求根公式,就是求解一元二次方程的一個程序。換言之,程序就是讓計算機按某種順序去執行計算過程的一份指導書。計算機像一個木偶一樣,在程序的指導下,認真地完成每一個基本動作。而編程,就是我們人類通過思考,找到一種能利用計算機的基本動作的組合來完成特定任務的一系列步驟,並將這些步驟轉化成計算機能夠識別的一份"指導書"的過程。

大話計算機1:什麼是程序?

編程

+


分享到:


相關文章: