學習程式主要的主軸是培養解決問題的能力,不管別人丟給你什麼問題(input)你不管用甚麼方式都要解決它,並產生適合的結果(output)回饋回去,「解決方式」就是我們程式人員要關心的事情,那要如何開始呢?首先我們要先知道電腦只懂0和1,0代表「無、假、關」1代表「有、真、開」,簡單來說有一個燈泡它只有,沒電和有電這兩種狀態而已也就是我們所說的0和1這兩種的狀態。
在日常生活中我們使用十進位(Decimal)已經習以為常了,導致大多數的人不太知道十進位到底是甚麼意思,以字面上的意思就是每逢十就進一個位數變成兩個位數也就是「10」,在十進位裡不會出現「十」這個數字,但我們平常以「十」來稱呼10,在程式中要習慣不同進位系統計算或換算,下方是我們程式常用的進位範例等號的右邊數字是以十進位表示:
十六進位 (Hexadecimal)
0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F
範例: E = 14
十進位 (Decimal)
0、1、2、3、4、5、6、7、8、9
範例: 14 = 14
八進位 (Octal)
0、1、2、3、4、5、6、7
範例: 16 = 14
二進位 (Binary)
0、1
範例: 1110 = 14
瞭解了電腦最底層是由0和1所組成的那我們就可以用來表示文字和顏色了,在文字的部分一開始是使用ASCII編碼 主要用於現代英語讓電腦輸出輸入文字,對應如下:
目前文字大多都改採用Unicode編碼;在顏色的方面是用光的三原色,紅色R、綠色G、藍色B,從0到255表示紅色、綠色和藍色的強度;有了顏色就可以做成圖像,有了多張圖像再把圖像不停抽換,我們就有可以播放的影片了。
從中我們了解到把一大堆的0和1輸入(input)至電腦裡,解決處理這些0和1所代表的意思,並產生適當的結果(output)給我們,如:文字,顏色...等,但它要如何用有效率的方法解來決問題呢?
假設這堂課有好幾位學生,我們可以用什麼方式算出有幾位學生呢?1、2、3、4、5...一個一個慢慢數是一種方法,2、4、6、8、10兩個一數也是一種方法,但這些都太浪費時間了!在影片中用了下面這方法
0 Stand up and think of the number 1.
每位學生都站起來,把自己當成 1
1 Pair off with someone standing.
Add your numbers together.
找到站著的人把數字相加
2 One of you should then sit down.
If you're still standing, go back to steop 1.
數字相加後其中一個坐下,如果你還沒坐下再去執行步驟一
在步驟二的「go back to steop 1.」在程式中我們稱之為遞迴(Recursion)。
ASCII Table - Ascii character codes http://www.asciichars.com/
2018.01.01.02