0:00:00.363,0:00:02.754 寫一個程式時,就是要想辦法 0:00:02.754,0:00:06.204 將腦裡的好點子[br]變成真實的程式碼 0:00:06.414,0:00:10.721 這裡我想要談一種很多程式設計師使用的方法 0:00:10.721,0:00:13.262 稱作「偽代碼」 0:00:13.262,0:00:16.966 你或許從來沒聽過「偽代碼」這名詞 0:00:16.966,0:00:21.406 但基本上,這是很像英文的程式碼 0:00:21.406,0:00:24.600 或者是任何一種語言 0:00:25.220,0:00:28.931 呃,或許這不是很清楚,[br]那來談談一個實際的例子 0:00:29.571,0:00:33.572 如果我想要畫一個漂亮對稱的臉 0:00:33.572,0:00:37.205 我或許會先看鏡子裡的自己,[br]瞄出臉的輪廓 0:00:37.205,0:00:40.273 看到了自己橢圓形的臉 0:00:40.273,0:00:43.907 兩隻眼睛,大概在這麼高 0:00:43.907,0:00:46.766 這是臉的中央 0:00:46.766,0:00:51.271 如此我就大概知道臉要怎樣畫 0:00:51.271,0:00:54.277 那我會先把它用偽代碼寫出來 0:00:55.877,0:00:59.285 第一件要做的事是畫臉 0:00:59.285,0:01:01.005 在中央畫一個橢圓形 0:01:02.145,0:01:07.816 然後再畫兩隻橢圓形的眼睛 0:01:07.816,0:01:14.788 大約在臉的三分之二高度,[br]大小是大約臉的五分之一 0:01:15.048,0:01:18.011 不是精確的數據,只是看著我自己的臉 0:01:18.011,0:01:24.117 然後畫嘴巴,[br]一條橫跨半個臉的線 0:01:24.117,0:01:28.805 大約在臉的三分之一高度 0:01:28.825,0:01:32.589 請留意我是如何把偽代碼寫成評論 0:01:32.589,0:01:36.159 在這裡每一行以兩條斜線開始 0:01:36.199,0:01:40.017 這樣,可以直接在程式裡寫入偽代碼 0:01:40.017,0:01:43.100 而且不用擔心語法上的錯誤 0:01:43.100,0:01:45.990 因為程式會忽略評論 0:01:46.670,0:01:50.430 寫好了偽代碼,我現在可以花時間 0:01:50.430,0:01:54.995 將偽代碼轉換成真實的程式碼 0:01:54.995,0:01:58.375 對吧?畫臉需要在中心有個橢圓形 0:01:58.375,0:02:03.295 這用橢圓形函數 0:02:03.295,0:02:07.535 找出這螢幕的中心跟它的大小 0:02:08.145,0:02:09.709 可以嗎?看起來不錯 0:02:09.709,0:02:12.451 眼睛也是橢圓形的 0:02:12.451,0:02:15.500 我的臉全是橢圓形,我很圓 0:02:15.500,0:02:21.739 我們用數學來計算眼睛的位置 0:02:21.739,0:02:26.844 以及讓它們的大小大約為臉的五分之一 0:02:26.844,0:02:29.117 很好,第一個眼睛看起來不錯 0:02:29.117,0:02:31.515 另一個眼睛用複製方式 0:02:31.515,0:02:32.642 很好! 0:02:32.642,0:02:37.120 現在,我可以把偽代碼給朋友來實行 0:02:37.120,0:02:38.620 而他們也許真的可以 0:02:38.620,0:02:40.795 因為我已經給了如此好的描述 0:02:40.795,0:02:44.708 所以我現在就要來做這件事,[br]因為我們是朋友,對吧? 0:02:45.728,0:02:48.572 或許你會覺得這很愚蠢 0:02:48.572,0:02:51.792 為什麼要花力氣來寫程式兩次 0:02:51.792,0:02:54.877 第一次用人類語言,[br]第二次用程式語言? 0:02:54.877,0:03:00.837 這例子很基本,但很快的,[br]你就會製作更複雜的程式 0:03:00.837,0:03:03.419 編碼前,要把整個程式儲放在腦裡 0:03:03.419,0:03:05.459 或許會有些困難 0:03:05.459,0:03:09.301 所以我通常會把大致的想法[br]先用偽代碼寫出 0:03:10.191,0:03:15.121 然後再花更多的時間[br]在各部分的細節上 0:03:15.121,0:03:19.012 將偽代碼轉換成真正的程式碼 0:03:19.012,0:03:22.420 我想一旦你開始使用偽代碼後 0:03:22.420,0:03:24.303 你會多多地使用它 0:03:24.303,0:03:26.498 在你的下一個程式試用它看看