跟煎蛋一樣簡單的程式思維

你真的知道程式在做什麼嗎?

//MIC創知識

「上課好無聊喔,來看個 IG 好了 」成天低頭滑滑滑的我們,都在不停的接觸所謂「程式」,除了 App(應用程式) 之外,每天必碰的 Instagram, FB, Google大神,甚至是 win10,都是廣義的程式喔!

等等,windows 不是作業系統嗎?怎麼說是它程式呢?要從頭解釋就得佔用各位一點時間,所以小編就趕緊把「程式的概念」介紹大家吧~

程式,廣義來說,就是一組對某裝置、以某種語言、執行一系列動作的指令。為達成這些指令,我們需要一些先備條件,也就是程式的輸入(Input)、完成一系列的流程後,會得到程式的輸出(Output)。為了方便大家想像,我們把程式想像成某樣菜的食譜 :

```

好吃的煎蛋 :

  1. 開小火,加入油一匙並使其均勻分佈於鍋中
  2. 打破蛋殼,並把蛋液倒入鍋內,並灑上鹽巴少許
  3. 待一面煎熟後翻面並待另一面煎熟
  4. 取出煎蛋,關火,大功告成

```

在這個食譜(程式)中,對自己(裝置)、用中文(語言)、確實執行食譜步驟(下指令)、並在用具備妥(輸入)的情況下,我們能夠得到一份好吃的煎蛋(輸出)。

當然,在程式中,如果流程發生一些無法預期的錯誤,例如火開太大讓蛋焦掉了,那麼整個程式就有可能出錯,無法達成我們預期的結果 ,讓蛋變得不好吃了。反之,若程式完美執行則可以夠保證能得到預期的結果。因此,一個程式的存在就代表著一項動作能被實行

先暫時把好吃的煎蛋放在一邊,除了這種只能完成單一工作的程式,也有能完成多種工作的大程式,平常看見的程式也大多都是多功用的,這又是怎麼一回事?

實際上程式也有相對的高低階之分,高階的程式需要低階的程式來跟電腦溝通、取用電腦在物理上就有的指令,具體就是電腦的 CPU (再細分下去確切位置會講不完 TAT)。如此一來,高階程式就只需要認識那些低階程式就能執行指令,而不用去考慮更底層的 CPU 如何如何,讓高階程式的維護方便許多,也讓分工變得更加明確。

用生活化的例子來說,今天一大早出門,想要買一份早餐填飽肚子,於是向早餐店買了一份三明治,你只關心有沒有三明治而不會在意煎蛋啦、小黃瓜絲什麼的是如何弄好的,因為已經有其他人幫你打理好了

每一階的程式都只能和自己上階跟下階的程式做溝通,且每層的功用是獨立的,這樣的邏輯便是分層架構。分層架構在資訊領域來說非常常見,作業系統也是一種分層架構,是管理各種應用程式的大程式。由於每一層的功能是獨立得緣故,程式設計師便能夠隨時將需要的功能裝上、或是修改錯誤的功能 ; 也由於這類程式都能追朔至同一底層所以程式才能在各類裝置中相互移轉。(其實底層硬體指令有也有許多規格,不過都被在一層一層的程式中被修正成使用者感受不到差異的狀態了,這樣也比較好理解)

結語

小編說了這麼多,應該能對程式的整個架構有更全面的了解!那麼來回顧一下重點吧~

  1. 程式需要輸入(Input),跑完程式會產生輸出(Output)
  2. 程式有分高低階,而且程式本身只能跟 TA 的上階和下階溝通喔,一邊是輸入、另一邊是輸出,看情況而定
  3. 程式能夠追朔至同一底層,所以能在各裝置中互相移轉

相信未來能夠帶給各位更多有用的創知識喔!

```

| 看完這篇文章你還想看:

1.自學程式的基本心法
2.AI語音技術新招!僅翻譯不夠看了

--

--

Maker in College 大學新創平台

Hi 我們是一群NCCU政治大學的學生,我們創立的大學新創平台致力於研究新創公司、新創理念、新創方法的社團。|FB:大學新創平台Maker In College/ IG:maker_in_college|