大齒輪可以省力,小齒輪可以增加轉速,不同尺寸的齒輪相互巧妙的疊合,便可做出許許多多實用的機器來。利用齒輪的方式,我們需要了解齒輪間如何相互轉動的基本原理,也就是說,大小齒輪之間如何組合達到力矩平衡,齒輪的齒數、轉動的圈數、排列方式等等都得列入考量,這會是我們設計以齒輪為主要元件的機器前,所要先具備的知識。
早期的計算機也有利用齒輪製造的,不過當電子技術發展日新月異的今天,絕大多數的電腦都已經由電子線路所取代。電子線路的優點在於只需考慮有電壓及沒有電壓兩種情況,有電壓時,值趨近於 1 ,反倒沒有電壓時,其值趨近於 0 ,這樣一來,電子線路的思考變成 010101 .... 的方式,這便是數位化的由來。
0 與 1 構成二進位數字,就是說逢二就進位,以下為二進位數字與十進位數字對照表
十進位 | 二進位 | 十進位 | 二進位 | 十進位 | 二進位 | 十進位 | 二進位 |
---|---|---|---|---|---|---|---|
0 | 0 | 16 | 10000 | 32 | 100000 | 48 | 110000 |
1 | 1 | 17 | 10001 | 33 | 100001 | 49 | 110001 |
2 | 10 | 18 | 10010 | 34 | 100010 | 50 | 110010 |
3 | 11 | 19 | 10011 | 35 | 100011 | 51 | 110011 |
4 | 100 | 20 | 10100 | 36 | 100100 | 52 | 110100 |
5 | 101 | 21 | 10101 | 37 | 100101 | 53 | 110101 |
6 | 110 | 22 | 10110 | 38 | 100110 | 54 | 110110 |
7 | 111 | 23 | 10111 | 39 | 100111 | 55 | 110111 |
8 | 1000 | 24 | 11000 | 40 | 101000 | 56 | 111000 |
9 | 1001 | 25 | 11001 | 41 | 101001 | 57 | 111001 |
10 | 1010 | 26 | 11010 | 42 | 101010 | 58 | 111010 |
11 | 1011 | 27 | 11011 | 43 | 101011 | 59 | 111011 |
12 | 1100 | 28 | 11100 | 44 | 101100 | 60 | 111100 |
13 | 1101 | 29 | 11101 | 45 | 101101 | 61 | 111101 |
14 | 1110 | 30 | 11110 | 46 | 101110 | 62 | 111110 |
15 | 1111 | 31 | 11111 | 47 | 101111 | 63 | 111111 |
ASCII 則是利用七位元的二進位所組成的編碼系統,例如 1100001 表示十進位數字的 97 ,在 ASCII 中則表示英文小寫字母 a 。類似的方式,有許多不同需求的編碼系統衍生出來,如 Unicode 、 JPEG 、 MIDI 等。
電腦程式的主要工作就是處理編碼,不論把編碼形式儲存到檔案、傳送到輸出設備上,或是轉換成另一種編碼形式,這全都是電腦程式的功能。我們該如何寫程式呢?有許多不同的方法,最常見的就是準備好文字編輯器囉!
怎麼寫程式
如何自學程式設計
如何自學程式設計 第二部分
使用文字編輯器寫程式
整合開發環境
程式語言與金庸小說中的絕世武功
C 比之九陰真經,學會並掌握指標,天下無敵。
C++ 比之龍象般若功,有十三層,但修煉不易,無人超過第十層。
C# 比之彈指神通,高手運用手指的巧勁就能施展。
Java 比之獨孤九劍,敗中變化出的招式,不限平台的 JVM 。
JavaScript 比之胡家刀法,六字訣變幻莫測,瀏覽器上都能運作。
Objective-C 比之六脈神劍,獨家不傳絕技。
Perl 比之龍爪手,少林正宗武學,幾乎 Linux 高手必備。
PHP 比之黯然銷魂掌,需要深厚內力才能使出。
Python 比之降龍十八掌,簡單卻威力強大。
Ruby 比之乾坤大挪移,這要用過了才會知道。
Swift 比之一陽指,六脈神劍的精髓,本來同樣是獨家不傳絕技,不過現在 open source 了。
程式語言自修指南
1. 弄清楚程式語言能做什麼事情,也就是先了解程式語言的用途,技術面來說就是開發項目,像是桌上型電腦應用軟體、手機應用程式、遊戲或架設網站等等。
2. 弄清楚怎麼樣才能稱作一個程式,例如 Java 的可執行程式要有個 main() 方法, Python 的程式檔案都稱作模組。
3. 弄清楚程式的結構,也就是搞懂每個關鍵字的用途,基本上來說這就是邏輯的部份。
4. 弄清楚型態是什麼,型態跟變數有什麼關係,型態跟函數或方法又有什麼關係。
5. 最後,弄清楚程式庫是什麼,程式庫有什麼方便的地方。
程式設計解題指南
1. 弄清楚輸入項目,以及輸入的方式,例如從命令列輸入或是從檔案、網頁或 GUI 輸入。
2. 弄清楚輸入的內容要用什麼資料結構儲存,例如 C 、 C++ 、 Java 等有陣列, Python 有串列等。
3. 弄清楚怎麼處理資料,是否需要計算,計算結果要儲存到哪裡。
4. 弄清輸出項目,也就是要輸出什麼,計算結果抑或某種演算法。
5. 弄清楚要怎麼輸出,以及輸出到什麼設備上,例如命令列、檔案、網頁或 GUI 等。
程式設計問問題指南
1. 請說明程式的目的,例如要做什麼事情或計算出什麼結果。
2. 請說明自己的努力,自己寫了什麼東西或想要怎麼寫。
3. 請說明直譯器或編譯器提供的錯誤訊息,或是程式跑出哪些不如預期的結果。
4. 請提供排版過的程式原始碼,盡可能將程式碼張貼在分享網站上。
程式語言教材
C 語言入門指南 V1.00 電子書
C 語言速查手冊電子書
舊 C 語言教材目錄 +
C++ 入門指南 V2.00 電子書
C++ 速查手冊 V1.00 電子書
舊 C++ 教材目錄 +
C# 入門指南 V2.00 電子書
C# 速查手冊電子書
舊 C# 教材目錄 +
Java 入門指南 V2.00 電子書
Java 速查手冊電子書
舊 Java 教材目錄 +
舊 JavaScript 教材目錄 +
Objective-C 入門指南 V2.00 電子書
Objective-C 速查手冊電子書
舊 Objective-C 教材目錄 +
Perl 入門指南 V2.00 電子書
Perl 速查手冊電子書
舊 Perl 教材目錄 +
PHP 入門指南 V2.00 電子書
PHP 速查手冊電子書
舊 PHP 教材目錄 +
Python 新手之旅 V1.10 (Google Play) +
Python 入門指南 V2.00 電子書
Python 速查手冊電子書
舊 Python 教材目錄 +
Ruby 入門指南 V2.00 電子書
Ruby 速查手冊電子書
舊 Ruby 教材目錄 +
Swift 入門指南 V1.00 電子書
Swift 速查手冊電子書
若您完全沒有電腦的基本概念,您可以先參考筆者另一份以 Python 2.5.2 為教學語言的
標記語言教材
HTML 5 入門指南 V2.00 電子書
HTML 5 速查手冊電子書
舊 HTML 教材目錄 +
CSS 的一堂課 V1.00 電子書 (Google Play)
舊 CSS 教材目錄 +
其他,關於本站所使用的語法高亮度
The End