在以前,很多大型電腦的產生是為了解決複雜運算的問題,
但是如果把很多台電腦弄成一台超級電腦,也可以達到相同的功能。
於是人類發明了分散式處理系統。
在以前,很多人專精於程式,一個人寫好幾萬行,
但是如果把很多個人找來作team work,可以做的更好。
因為一個人的能力有極限。
通常team work需要專案經理。
很多主管階級自己不做事,只會把接到的工作丟給下面的人作,然後就等著領錢。
所以分散式處理系統需要一個主管級電腦,專門負責接case和發包(分配工作)、收錢。
人管理人不容易,電腦管理電腦呢?
2007/12/5
點出學寫程式的障礙
為什麼寫程式很難?
我不知道為什麼很難,我從一開始學到現在,幾乎是沒有障礙地學寫程式。
當然,演算法和程式語言,在這裡我分開討論。
在這裡定義演算法是人想出來的解題步驟,而寫程式則是一個從自然語言到程式語言的翻譯過程。
所以,如果你不了解演算法所以寫不出程式,其實不能說你不會寫程式。
如果你了解演算法,卻寫不出程式,那就是你在寫程式時有問題。
問題在哪?最近跟朋友討論的結果,一般教科書或者工具書都不會教的部分:
1. 各種變數的使用時機
2. 如何善用迴圈(如何用迴圈產生你想要的數列)
我想除了上述兩點,應該還有其他的學習重點。
但應付學校程度的題目,上述兩點應該綽綽有餘了。
1. 各種變數的使用時機
變數有很多種:數值、字串、陣列、物件等,其中最基本的是數值變數。
數值變數可以用來存參數,或是狀態,也可以用來暫存資料。你可以先定義一些數字所代表的意義。
字串變數可以當作數值變數使用,也可以存文字。
陣列通常配合迴圈使用,存大量資料,或是加速運算。
物件屬於資料結構的部分,如果上述三種能掌握,這種應該也跑不掉了。
2. 如何善用迴圈
如果你能使用迴圈產生你想要的數列,你就已經了解迴圈的使用時機。
如何用迴圈產生等差數列、等比數列、費氏數列等,
一個常寫程式的人應該要能夠隨手用迴圈產生自己需要的數列,並加以使用,
而最常使用的數列就是等差數列:1,2,3,...,n,而且這種數列通常配合陣列使用。
不過數學底子要好一點就是了。
希望有高人能對上述兩點作更深入的說明,造福眾生
我不知道為什麼很難,我從一開始學到現在,幾乎是沒有障礙地學寫程式。
當然,演算法和程式語言,在這裡我分開討論。
在這裡定義演算法是人想出來的解題步驟,而寫程式則是一個從自然語言到程式語言的翻譯過程。
所以,如果你不了解演算法所以寫不出程式,其實不能說你不會寫程式。
如果你了解演算法,卻寫不出程式,那就是你在寫程式時有問題。
問題在哪?最近跟朋友討論的結果,一般教科書或者工具書都不會教的部分:
1. 各種變數的使用時機
2. 如何善用迴圈(如何用迴圈產生你想要的數列)
我想除了上述兩點,應該還有其他的學習重點。
但應付學校程度的題目,上述兩點應該綽綽有餘了。
1. 各種變數的使用時機
變數有很多種:數值、字串、陣列、物件等,其中最基本的是數值變數。
數值變數可以用來存參數,或是狀態,也可以用來暫存資料。你可以先定義一些數字所代表的意義。
字串變數可以當作數值變數使用,也可以存文字。
陣列通常配合迴圈使用,存大量資料,或是加速運算。
物件屬於資料結構的部分,如果上述三種能掌握,這種應該也跑不掉了。
2. 如何善用迴圈
如果你能使用迴圈產生你想要的數列,你就已經了解迴圈的使用時機。
如何用迴圈產生等差數列、等比數列、費氏數列等,
一個常寫程式的人應該要能夠隨手用迴圈產生自己需要的數列,並加以使用,
而最常使用的數列就是等差數列:1,2,3,...,n,而且這種數列通常配合陣列使用。
不過數學底子要好一點就是了。
希望有高人能對上述兩點作更深入的說明,造福眾生
2007/12/2
訂閱:
文章 (Atom)