之前一篇 NXT 無法使用遞歸 (Recursion) 一文,探奇科學教室的邱老師提及 FORTRAN 這個更古老的電腦程式語言,讓我想起學生時代一些事情, 當作說故事,讓各位年輕的學子參考參考。
第一次接觸 FORTRAN 應該是在
2009年9月26日 星期六
FORTRAN 古老的程式語言
2009年9月19日 星期六
2009年9月12日 星期六
Washing Machine
這幾天在長春藤生活英語電子報,看到 The Machine for the Dirtiest Job 一文,想起十幾年前,我從洗衣機商品開始踏入研發設計工作,老家中的單槽全自動洗衣機就是我的處女作,一直使用至今!洗衣機是現代人不可或缺的家用電器之一,不過有些功能大多數的使用者,不清楚如何使用,因此本文從技術的角度,討論一般洗衣機使用問題。
先從洗衣機發展說起,洗衣機大致區分三大主流:
2009年9月5日 星期六
NXT 無法使用遞歸 (Recursion)
前些天在探奇自然科學教室看到一篇,解數獨的 NXT 機器人,利用NXT三顆馬達以及一顆光感應器,就可以掃描資料並辨識數字、解題,最後還可以填寫數獨答案,Tilted Twister 的設計者真是太厲害了。
該文邱老師提到遞歸(Recursion)一詞,除非讀者曾學過資料結構或是對電腦科學蠻了解,通常不知道那是啥東西。第一次學到遞歸這種方法是我在大學研習 PASCAL 這種語言才接觸到,現在的程式設計師除非有用過 Delphi,否則沒有機會再摸到這種即將絕種的電腦程式語言。
當初 PASCAL 被設計來教授電腦程式設計,它有非常嚴謹的語法,沒有正確定義過的字詞絕對無法編譯,就像規定小學生寫字要端端正正一樣,有太多語法限制,所以它就不容易成為主流的電腦程式語言。以個人經驗學好 BASIC 與 C 等主流電腦語言,幾乎各類程式都可以設計,若遇到一些冷僻的系統使用奇怪的程式語言,只要翻翻說明書很快可以觸類旁通。
關於遞歸,有兩本書可以參考,不過現在應該絕版了,
IBSN 0-8053-8384-0, An Introduction to the Art and Science of Programming: TURBO Pascal Edition, Walter J. Savitch
IBSN 0-88022-396-0, Using Turbo Pascal, Michael Yester
先看個簡單的例子,認識什麼是遞歸?