程式語言入門學習網站

本站教材的設計目標是以程式設計的完全新手為主

我們的生活幾乎與工業密不可分,從日常用品到門鈴、電梯、路燈、指示牌等等 .... 等等,這全都是工業化的製品。工業,藉由機器早已取代了大量的人力,齒輪是很多機器裡的基本組成元件之一

大齒輪可以省力,小齒輪可以增加轉速,不同尺寸的齒輪相互巧妙的疊合,便可做出許許多多實用的機器來。利用齒輪的方式,我們需要了解齒輪間如何相互轉動的基本原理,也就是說,大小齒輪之間如何組合達到力矩平衡,齒輪的齒數、轉動的圈數、排列方式等等都得列入考量,這會是我們設計以齒輪為主要元件的機器前,所要先具備的知識。

早期的計算機也有利用齒輪製造的,不過當電子技術發展日新月異的今天,絕大多數的電腦都已經由電子線路所取代。電子線路的優點在於只需考慮有電壓及沒有電壓兩種情況,有電壓時,值趨近於 1 ,反倒沒有電壓時,其值趨近於 0 ,這樣一來,電子線路的思考變成 010101 .... 的方式,這便是數位化的由來。

0 與 1 構成二進位數字,就是說逢二就進位,以下為二進位數字與十進位數字對照表

十進位二進位十進位二進位十進位二進位十進位二進位
00161000032100000 48110000
11171000133100001 49110001
21018100103410001050110010
31119100113510001151110011
410020101003610010052110100
510121101013710010153110101
611022101103810011054110110
711123101113910011155110111
8100024110004010100056111000
9100125110014110100157111001
10101026110104210101058111010
11101127110114310101159111011
12110028111004410110060111100
13110129111014510110161111101
14111030111104610111062111110
15111131111114710111163111111

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 教材目錄

C++ 教材目錄(施工中 🚧)

C# 教材目錄(施工中 🚧)

Java 教材目錄(施工中 🚧)

JavaScript 教材目錄(施工中 🚧)

Kotlin 教材目錄(施工中 🚧)

Perl 教材目錄(施工中 🚧)

PHP 教材目錄(施工中 🚧)

Python 教材目錄(施工中 🚧)

Ruby 教材目錄(施工中 🚧)

Swift 教材目錄(施工中 🚧)

遊戲

學習程式設計小遊戲(施工中 🚧)

術語

簡、繁、英文術語對照(施工中 🚧)

語法高亮度

本站使用的語法高亮度 highlight.js